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