Я использую python + fastapi и aiobotocore для загрузки файлов в S3 хранилище. Вот мой роутер который отправляет файл в хранилише (Код урезан)
@upload_router.post('')
async def upload_file(
request: Request,
file: Annotated[UploadFile, File()],
user_service: Annotated[UserService, Depends(get_user_service)],
file_service: Annotated[FileService, Depends(get_file_service)],
session: Annotated[AsyncSession, Depends(get_async_session)],
):
await s3_client.upload_file(file.file, f'{unique_filename}_{file.filename}')
вот код самой загрузки
async def upload_file( self, file_path: bytes, file_name: str):
try:
async with self.get_client() as client:
await client.put_object(
Bucket=self.bucket_name,
Key=file_name,
Body=file_path,
)
except ClientError:
raise ClientError
К примеру: файл размером 20мб загружается 8с