Pull to refresh

Comments 5

self.session = get_session()

Этот код можно удалить. В сессию будет присвоен закрытый клиент.

await s3_client.upload_file("test.txt")
await s3_client.get_file("test.txt", "text_local_file.txt") await s3_client.delete_file("test.txt")

Вы начали хорошо работать с контекстными менеджерами, но тут про них забыли.
На каждую операцию будет новое подключение.

Для тех, кто не любит облака и любит хранить и контролировать свои данные сам, может приглядеться к open source minio (https://min.io).

Они не только позволяют гонять S3 совместимое хранилище (я лично использую докер), но и SDK для нескольких популярных языков, я использую для питона: https://min.io/docs/minio/linux/developers/python/minio-py.html

Стоит подчернуть, что они S3 совместимы и можно использовать boto3. Другими словами переключаться между ними можно не меняя код. Можно использовать для тестирования.

Спасибо, хорошая статья

А как можно загрузить в холодное обьектное хранилище 100млн. файлов и добиться хорошей скорости загрузки? При использовании django + celery у меня получилось 1000 файлов/мин.

Уже разобрался, добился скорости 4к/мин, но это дорого придётся в архивы упаковывать.

Sign up to leave a comment.