Работа с S3 через aws

Работа с S3 через aws#

Подключение#

Создать файл ~/.aws/config

[default]
region = msk-1
endpoint_url = https://s3.msk-1.ngcloud.ru

Создать файл ~/.aws/credentials с вашими access_key и secret_key

[default]
aws_access_key_id =
aws_secret_access_key =

Создание бакета в хранилище COLD#

set -u
BUCKET_NAME=testbucketcold
aws s3api create-bucket --bucket $BUCKET_NAME --create-bucket-configuration 'LocationConstraint=:COLD'

Создание бакета в хранилище HOT#

set -u
BUCKET_NAME=testbuckethot
aws s3api create-bucket --bucket $BUCKET_NAME

Получить список бакетов#

aws s3api list-buckets --query "Buckets[].Name"

Загрузить объект#

aws s3 cp file_name s3://customer-bucket-name/

Получить список объектов#

aws s3api list-objects-v2 --bucket customer-bucket-name

Посмотреть размер#

Может занять большое время. Зависит от количества объектов в бакете.

aws s3 ls --summarize --human-readable --recursive s3://customer-bucket-name/ | tail -2

Бакет с блокировкой объектов#

Создать бакет с блокировкой объектов#

aws s3api create-bucket --bucket customer-bucket-name --object-lock-enabled-for-bucket

Задать политику блокировки#

aws s3api put-object-lock-configuration --bucket customer-bucket-name \
--object-lock-configuration='{ "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "COMPLIANCE", "Days": 30 }}}'

подробнее

Остальные операции#

aws help

Подробнее с информацией о команде можно ознакомиться на сайте разработчика .