Fix/s3 iam add region name (#7819)

This commit is contained in:
Garfield Dai 2024-10-12 18:47:59 +08:00 committed by GitHub
parent 23ce1fb1ba
commit c6b74daa0a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,3 +1,4 @@
import logging
from collections.abc import Generator
from contextlib import closing
@ -8,6 +9,8 @@ from flask import Flask
from extensions.storage.base_storage import BaseStorage
logger = logging.getLogger(__name__)
class AwsS3Storage(BaseStorage):
"""Implementation for Amazon Web Services S3 storage."""
@ -17,9 +20,14 @@ class AwsS3Storage(BaseStorage):
app_config = self.app.config
self.bucket_name = app_config.get("S3_BUCKET_NAME")
if app_config.get("S3_USE_AWS_MANAGED_IAM"):
logger.info("Using AWS managed IAM role for S3")
session = boto3.Session()
self.client = session.client("s3")
region_name = app_config.get("S3_REGION")
self.client = session.client(service_name="s3", region_name=region_name)
else:
logger.info("Using ak and sk for S3")
self.client = boto3.client(
"s3",
aws_secret_access_key=app_config.get("S3_SECRET_KEY"),