def _upload_media_assets_to_s3()

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),
        },
      )