Чтобы начать работу с Object Storage, нужно создать бакет. При создании бакету нужно дать имя (name) . Оно должно быть уникальным для всего Object Storage: вы не сможете создать бакет, если бакет с таким именем уже существует.
Требования к имени бакета : {#bucket-name}
допустимы только строчные буквы, цифры и дефисы;
длина от 3 до 63 символов;
начинается со строчной буквы или цифры;
заканчивается строчную букву или цифру;
не имеет формат IP-адреса (например, нельзя создать бакет с именем 127.0.0.1).
Веб-консоль AWS CLI Python Go
В
веб-консоли выберите нужный проект.
В списке сервисов выберите Object Storage .
Нажмите кнопку Создать .
(опционально) Измените автоматически сгенерированное имя бакета. Позже это имя нельзя изменить.
(опционально) Установите ограничение на размер бакета.
При необходимости добавьте
теги .
Если требуется активировать
версионирование , в разделе
Версионирование выберите
Включено .
Нажмите кнопку Создать .
aws s3 mb s3://<имя бакета>
Приведенный код на Python:
Импортирует библиотеку boto3 — официальный AWS SDK для Python.
Создает сессию с использованием профиля по умолчанию, который хранится в файле ~/.aws/credentials.
Создает клиент для подключения к Object Storage.
Вызывает метод create_bucket и создает бакет с указанным именем.
session = boto3.session. Session ( profile_name = ' default ' )
endpoint_url = ' https://storage.mwsapis.ru/ '
s3. create_bucket ( Bucket = ' bucket ' )
Приведенный код на Go:
Импортирует AWS SDK для Go.
Определяет bucketName переменную с именем бакета.
Подгружает конфигурацию из файлов ~/.aws/*.
Создает клиент для доступа к Object Storage.
Создает новый бакет с именем, определенным в переменной bucketName.
" github.com/aws/aws-sdk-go-v2/config "
" github.com/aws/aws-sdk-go-v2/service/s3 "
// Задаем имя бакета в переменной
// Подгружаем конфигурацию из ~/.aws/*
cfg , err := config . LoadDefaultConfig ( context . TODO ())
// Создаем клиент для доступа к Object Storage
client := s3 . NewFromConfig ( cfg )
_ , err = client . CreateBucket ( context . TODO (), & s3.CreateBucketInput{