Skip to content

Commit d5f09b1

Browse files
authored
Merge pull request #49 from TogetherCrew/feat/43-mediawiki-activities-limit
feat: using the endpoint in boto3 client!
2 parents f9a6b29 + af83aa5 commit d5f09b1

File tree

1 file changed

+11
-17
lines changed

1 file changed

+11
-17
lines changed

hivemind_etl/storage/s3_client.py

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,16 @@ def __init__(self):
1616
load_dotenv()
1717

1818
# Get AWS S3 environment variables
19-
# self.endpoint_url = os.getenv("AWS_ENDPOINT_URL")
19+
self.endpoint_url = os.getenv("AWS_ENDPOINT_URL")
2020
self.access_key = os.getenv("AWS_ACCESS_KEY_ID")
2121
self.secret_key = os.getenv("AWS_SECRET_ACCESS_KEY")
2222
self.bucket_name = os.getenv("AWS_S3_BUCKET")
2323
self.region = os.getenv("AWS_REGION")
2424

2525
# Check each required variable and log if missing
2626
missing_vars = []
27-
# if not self.endpoint_url:
28-
# missing_vars.append("AWS_ENDPOINT_URL")
27+
if not self.endpoint_url:
28+
missing_vars.append("AWS_ENDPOINT_URL")
2929
if not self.access_key:
3030
missing_vars.append("AWS_ACCESS_KEY_ID")
3131
if not self.secret_key:
@@ -43,28 +43,22 @@ def __init__(self):
4343
raise ValueError(error_msg)
4444

4545
logging.info(
46-
f"Initializing S3 client with bucket: {self.bucket_name}, region: {self.region}"
46+
f"Initializing S3 client with endpoint: {self.endpoint_url}, "
47+
f"bucket: {self.bucket_name}, region: {self.region}"
4748
)
4849

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"),
50+
# Configure S3 client
51+
config = Config(
52+
signature_version="s3v4",
53+
region_name=self.region,
5554
)
5655

57-
resp = self.s3_client.get_bucket_location(Bucket=self.bucket_name)
58-
self.bucket_region = resp["LocationConstraint"] or "us-east-1"
59-
60-
logging.info(f"Bucket region: {self.bucket_region}!")
61-
6256
self.s3_client = boto3.client(
6357
"s3",
64-
region_name=self.bucket_region,
58+
endpoint_url=self.endpoint_url,
6559
aws_access_key_id=self.access_key,
6660
aws_secret_access_key=self.secret_key,
67-
config=Config(signature_version="s3v4"),
61+
config=config,
6862
)
6963

7064
# Ensure bucket exists

0 commit comments

Comments
 (0)