in backend/model_garden/views/media_asset.py [0:0]
def _upload_media_assets_to_s3(self, bucket_name: str, media_assets_to_upload) -> None:
try:
S3Client(bucket_name=bucket_name).upload_files(
files_to_upload=((file_obj, media_asset.full_path) for media_asset, file_obj in media_assets_to_upload),
bucket=bucket_name,
)
except botocore.exceptions.NoCredentialsError as s3_credential_exception:
logger.error(f"Missing aws s3 credentials: {s3_credential_exception}")
raise S3ServiceException(
"AWS_ACCESS_KEY_ID and AWS_SECRET_KEY are empty.Set them in backend/model_garden/settings.py.",
)
except Exception as s3_exception:
logger.error(f"Failed to upload file to s3: {s3_exception}")
raise APIException(
detail={
'message': str(s3_exception),
},
)