Общие сведения о Boto3
boto3 — это официальный SDK для языка Python, предназначенный для работы с сервисами Amazon Web Services (AWS). Библиотека позволяет взаимодействовать с S3-совместимыми хранилищами объектов, выполнять загрузку и скачивание файлов, создавать бакеты, получать список объектов, управлять метаданными и выполнять многие другие операции.
Boto3 поддерживает любые объектные хранилища, реализующие API, совместимый с Amazon S3. Для подключения к таким системам обычно достаточно указать собственный endpoint_url.
Основные возможности
С помощью Boto3 можно:
- создавать и удалять бакеты;
- загружать и скачивать объекты;
- получать список объектов в бакете;
- удалять объекты;
- копировать объекты между бакетами;
- управлять метаданными и тегами объектов;
- работать с версионированием;
- использовать предварительно подписанные (Pre-signed) URL;
- выполнять многопоточную загрузку больших файлов (Multipart Upload).
Установка
Для установки boto воспользуйтесь инструкциями в репозитории разработчика: boto3.
Пример получения списка объектов
Следующий пример подключается к S3-совместимому хранилищу и выводит список объектов в указанном бакете.
import boto3
s3 = boto3.client(
"s3",
endpoint_url="https://s3.example.com",
aws_access_key_id="ACCESS_KEY",
aws_secret_access_key="SECRET_KEY"
)
response = s3.list_objects_v2(Bucket="my-bucket")
for obj in response.get("Contents", []):
print(obj["Key"])
В результате выполнения программы будут выведены имена всех объектов,
находящихся в бакете my-bucket.