Skip to content

Commit 744d9c6

Browse files
authored
fix(region cache): x-amz-bucket-region can be missing for s3 compatible (#929)
1 parent 3c3cd41 commit 744d9c6

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

s3fs/utils.py

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -38,19 +38,21 @@ async def get_bucket_client(self, bucket_name=None):
3838
try:
3939
response = await general_client.head_bucket(Bucket=bucket_name)
4040
except ClientError as e:
41-
region = (
42-
e.response["ResponseMetadata"]
43-
.get("HTTPHeaders", {})
44-
.get("x-amz-bucket-region")
41+
logger.debug("RC: HEAD_BUCKET call for %r has failed", bucket_name)
42+
response = e.response
43+
44+
region = (
45+
response["ResponseMetadata"]
46+
.get("HTTPHeaders", {})
47+
.get("x-amz-bucket-region")
48+
)
49+
50+
if not region:
51+
logger.debug(
52+
"RC: No region in HEAD_BUCKET call response for %r, returning the general client",
53+
bucket_name,
4554
)
46-
if not region:
47-
logger.debug(
48-
"RC: HEAD_BUCKET call for %r has failed, returning the general client",
49-
bucket_name,
50-
)
51-
return general_client
52-
else:
53-
region = response["ResponseMetadata"]["HTTPHeaders"]["x-amz-bucket-region"]
55+
return general_client
5456

5557
if region not in self._regions:
5658
logger.debug(

0 commit comments

Comments
 (0)