Скачать все объекты из бакета
- AWS CLI
- Python API
Если AWS CLI еще не установлен, установите и настройте его. Для работы с объектным хранилищем используйте команды s3api и s3.
AWS CLI. Скачать все объекты из бакета
В терминале выполните команду:
aws s3 cp --recursive s3://<bucket_name> <path>
Укажите:
<bucket_name> — имя бакета;
<object_name> — имя загружаемого объекта;
<path> — путь в локальной файловой системе.
Подробнее об объектах см. в статье Об объектах. Рекомендуем также ознакомиться со статьей Ссылка на скачивание объекта.
Boto3 — это библиотека Python, предоставляющая программный интерфейс (SDK) для взаимодействия с объектным хранилищем S3. Подробности см. в документации AWS Boto3.
Python API. Скачать все объекты из бакета
import boto3
from botocore.exceptions import ClientError
session = boto3.session.Session(profile_name='default')
s3 = session.client('s3', endpoint_url='$endpoint')
def download_all_objects(bucket_name, local_dir):
paginator = s3.get_paginator('list_objects_v2')
try:
for page in paginator.paginate(Bucket=bucket_name):
for obj in page.get('Contents', []):
key = obj['Key']
local_path = os.path.join(local_dir, key)
os.makedirs(os.path.dirname(local_path), exist_ok=True)
s3.download_file(bucket_name, key, local_path)
print(f"Скачан: {key} -> {local_path}")
except ClientError as e:
print(f"Ошибка при скачивании объектов: {e}")
download_all_objects('<bucket_name>', '<path>')
Укажите:
<bucket_name> — имя бакета;
<path> — путь в локальной файловой системе.
Подробнее об объектах см. в статье Об объектах. Рекомендуем также ознакомиться со статьей Ссылка на скачивание объекта.