Skip to content

Commit 074d832

Browse files
author
Philipp Falke
committed
fix: preserve user supplied session in S3FileSystem constructor
1 parent 0df4f28 commit 074d832

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

s3fs/core.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ def __init__(
214214
self.use_ssl = use_ssl
215215
self.cache_regions = cache_regions
216216
self._s3 = None
217-
self.session = None
217+
self.session = session
218218

219219
@property
220220
def s3(self):
@@ -375,7 +375,8 @@ async def set_session(self, refresh=False, kwargs={}):
375375
config_kwargs["signature_version"] = UNSIGNED
376376

377377
conf = AioConfig(**config_kwargs)
378-
self.session = aiobotocore.AioSession(**self.kwargs)
378+
if self.session is None:
379+
self.session = aiobotocore.AioSession(**self.kwargs)
379380

380381
for parameters in (config_kwargs, self.kwargs, init_kwargs, client_kwargs):
381382
for option in ("region_name", "endpoint_url"):

s3fs/tests/test_s3fs.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,14 @@ def test_config_kwargs_class_attributes_override():
227227
assert s3.connect().meta.config.read_timeout == 120
228228

229229

230+
def test_user_session_is_preserved():
231+
from aiobotocore.session import get_session
232+
session = get_session()
233+
s3 = S3FileSystem(session=session)
234+
s3.connect()
235+
assert s3.session == session
236+
237+
230238
def test_idempotent_connect(s3):
231239
first = s3.s3
232240
assert s3.connect(refresh=True) is not first

0 commit comments

Comments
 (0)