Руководство по использованию curl
curl
— это универсальный инструмент командной строки для отправки HTTP-запросов. Он отлично подходит для тестирования взаимодействия с S3 API и выполнения базовых операций.
Проверка и установка поддерживаемой версии curl
Для работы с AWS API требуется аутентификация по Signature Version 4. Начиная с версии curl 7.86
, доступна опция --aws-sigv4
, которая позволяет подписывать запросы автоматически.
Перед началом убедитесь, что ваша версия поддерживает эту опцию.
curl --version
Настройка переменных окружения
Для удобства задайте ключи доступа через переменные окружения:
export AWS_ACCESS_KEY_ID="<YOUR_ACCESS_KEY_ID>"
export AWS_SECRET_ACCESS_KEY="<YOUR_SECRET_ACCESS_KEY>"
export AWS_REGION="ru-1"
Загрузка объекта
Для загрузки файла используйте метод PUT
. Замените имя бакета и путь к файлу на ваши значения:
curl -X PUT "https://s3.buckets.ru/<bucket-name>/file.txt" \
--user "${AWS_ACCESS_KEY_ID}:${AWS_SECRET_ACCESS_KEY}" \
--aws-sigv4 "aws:amz:${AWS_REGION}:s3" \
--upload-file ./file.txt
Скачивание объекта
Для скачивания файла используйте команду curl
с методом по умолчанию GET
:
curl "https://s3.buckets.ru/<bucket-name>/file.txt" \
--user "${AWS_ACCESS_KEY_ID}:${AWS_SECRET_ACCESS_KEY}" \
--aws-sigv4 "aws:amz:${AWS_REGION}:s3" \
-o file.txt
Просмотр содержимого бакета
Чтобы получить список объектов в бакете в формате XML, выполните следующий запрос:
curl "https://s3.buckets.ru/<bucket-name>/?list-type=2" \
--user "${AWS_ACCESS_KEY_ID}:${AWS_SECRET_ACCESS_KEY}" \
--aws-sigv4 "aws:amz:${AWS_REGION}:s3"
Удаление объекта из хранилища
Для удаления файла используйте метод DELETE
:
curl -X DELETE "https://s3.buckets.ru/<bucket-name>/file.txt" \
--user "${AWS_ACCESS_KEY_ID}:${AWS_SECRET_ACCESS_KEY}" \
--aws-sigv4 "aws:amz:${AWS_REGION}:s3"
Доступные операции S3 API
S3 API поддерживает множество операций, которые можно вызывать напрямую через curl
. Все они подробно описаны в официальной документации.
Полный список операций S3 API (docs.aws.amazon.com)