Перейти к основному содержимому

Общие сведения о 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.