Skip to content

Commit 8e98dfe

Browse files
committed
feat: auto-select region!
1 parent 46757e5 commit 8e98dfe

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

hivemind_etl/storage/s3_client.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,18 +46,23 @@ def __init__(self):
4646
f"Initializing S3 client with bucket: {self.bucket_name}, region: {self.region}"
4747
)
4848

49-
# Configure S3 client
50-
config = Config(
51-
signature_version="s3v4",
52-
region_name=self.region,
49+
# a region-agnostic client (no region_name) always works for GetBucketLocation
50+
self.s3_client = boto3.client(
51+
"s3",
52+
aws_access_key_id=self.access_key,
53+
aws_secret_access_key=self.secret_key,
54+
config=Config(signature_version="s3v4"),
5355
)
5456

57+
resp = self.s3_client.get_bucket_location(Bucket=self.bucket_name)
58+
self.bucket_region = resp["LocationConstraint"] or "us-east-1"
59+
5560
self.s3_client = boto3.client(
5661
"s3",
57-
# endpoint_url=self.endpoint_url,
62+
region_name=self.bucket_region,
5863
aws_access_key_id=self.access_key,
5964
aws_secret_access_key=self.secret_key,
60-
config=config,
65+
config=Config(signature_version="s3v4"),
6166
)
6267

6368
# Ensure bucket exists

0 commit comments

Comments
 (0)