Skip to content

Commit 37ae04e

Browse files
committed
add content manager for short term credentials
1 parent b95734e commit 37ae04e

File tree

1 file changed

+20
-7
lines changed
  • jupyter_drives/managers

1 file changed

+20
-7
lines changed

jupyter_drives/managers/s3.py

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -85,15 +85,28 @@ async def mount_drive(self, drive_name):
8585
S3ContentsManager
8686
'''
8787
try :
88-
s3_contents_manager = S3ContentsManager(
89-
access_key = self._config.access_key_id,
90-
secret_access_key = self._config.secret_access_key,
91-
endpoint_url = self._config.api_base_url,
92-
bucket = drive_name
93-
)
94-
9588
# checking if the drive wasn't mounted already
9689
if self.s3_content_managers[drive_name] is None:
90+
91+
# dealing with long-term credentials (access key, secret key)
92+
if self._config.session_token is None:
93+
s3_contents_manager = S3ContentsManager(
94+
access_key = self._config.access_key_id,
95+
secret_access_key = self._config.secret_access_key,
96+
endpoint_url = self._config.api_base_url,
97+
bucket = drive_name
98+
)
99+
100+
# dealing with short-term credentials (access key, secret key, session token)
101+
else:
102+
s3_contents_manager = S3ContentsManager(
103+
access_key = self._config.access_key_id,
104+
secret_access_key = self._config.secret_access_key,
105+
session_token = self._config.session_token,
106+
endpoint_url = self._config.api_base_url,
107+
bucket = drive_name
108+
)
109+
97110
self.s3_content_managers[drive_name] = s3_contents_manager
98111

99112
response = {

0 commit comments

Comments
 (0)