Удаление бакета
Важно
Удалить можно только пустой бакет. В консоли управления информация о количестве объектов в бакете обновляется с задержкой в несколько минут.
Чтобы удалить бакет, в который записываются логи другого бакета, в настройках исходного бакета выключите механизм логирования или выберите другой целевой бакет для хранения логов.
- В консоли управления
в списке сервисов выберите Object Storage. - Выберите нужный бакет и нажмите
→ Удалить. - В открывшемся окне нажмите Удалить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
-
Посмотрите описание команды CLI для удаления бакета:
yc storage bucket delete --help
-
Получите список бакетов в каталоге по умолчанию:
yc storage bucket list
Результат:
+------------------+----------------------+-------------+-----------------------+---------------------+ | NAME | FOLDER ID | MAX SIZE | DEFAULT STORAGE CLASS | CREATED AT | +------------------+----------------------+-------------+-----------------------+---------------------+ | first-bucket | b1gmit33ngp6******** | 53687091200 | STANDARD | 2022-12-16 13:58:18 | +------------------+----------------------+-------------+-----------------------+---------------------+
-
Сохраните имя бакета (столбец
NAME
), который нужно удалить. -
Удалите бакет:
yc storage bucket delete --name <имя_бакета>
Где
--name
— имя бакета, который нужно удалить.
Если у вас еще нет интерфейса командной строки AWS CLI, установите и сконфигурируйте его.
В терминале выполните команду aws s3api delete-bucket
:
aws s3api delete-bucket \
--endpoint-url=https://storage.yandexcloud.net \
--bucket <имя_бакета>
Где:
--bucket
— имя бакета, который нужно удалить.--endpoint-url
— эндпоинт Object Storage.
Также вы можете использовать команду aws s3 rb
:
aws --endpoint-url=https://storage.yandexcloud.net \
s3 rb s3://<имя_бакета>
Чтобы одновременно удалить несколько бакетов, выполните команду:
Примечание
Авторизация в Amazon S3 HTTP API и инструментах с его поддержкой осуществляется с помощью статических ключей, полученных для сервисного аккаунта.
Вы можете просматривать список бакетов только в том каталоге, в котором был создан используемый сервисный аккаунт.
-
Bash:
aws s3api list-buckets \ --endpoint-url=https://storage.yandexcloud.net \ --query '<запрос>' \ --output text | xargs -I {} aws s3api delete-bucket --endpoint-url=https://storage.yandexcloud.net --bucket {}
Где
--query
— запрос в формате JMESPath .Пример команды для удаления всех бакетов, имена которых начинаются на
samplebucket
:aws s3api list-buckets \ --endpoint-url=https://storage.yandexcloud.net \ --query 'Buckets[?starts_with(Name, `samplebucket`) == `true`].[Name]' \ --output text | xargs -I {} aws s3api delete-bucket --endpoint-url=https://storage.yandexcloud.net --bucket {}
-
PowerShell:
Foreach($x in (aws s3api list-buckets ` --endpoint-url=https://storage.yandexcloud.net ` --query '<запрос>' ` --output text)) ` {aws s3api delete-bucket ` --endpoint-url=https://storage.yandexcloud.net ` --bucket $x}
Где
--query
— запрос в формате JMESPath .Пример команды для удаления всех бакетов, имена которых начинаются на
samplebucket
:Foreach($x in (aws s3api list-buckets ` --endpoint-url=https://storage.yandexcloud.net ` --query 'Buckets[?starts_with(Name, `samplebucket`) == `true`].[Name]' ` --output text)) ` {aws s3api delete-bucket ` --endpoint-url=https://storage.yandexcloud.net ` --bucket $x}
Примечание
Terraform взаимодействует с Object Storage от имени сервисного аккаунта. Назначьте сервисному аккаунту нужную роль, например storage.admin
, на каталог, в котором будут создаваться ресурсы.
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы удалить бакет, созданный с помощью Terraform:
-
Откройте файл конфигураций Terraform и удалите фрагмент с описанием бакета.
Пример описания бакета в конфигурации Terraform
... resource "yandex_storage_bucket" "test" { access_key = "YCAJEX9Aw2ge********-w-lJ" secret_key = "YCONxG7rSdz********_NRy5VbKzKlqZ********" bucket = "<имя_бакета>" } ...
-
В командной строке перейдите в папку, где расположен файл конфигурации Terraform.
-
Проверьте конфигурацию командой:
terraform validate
Если конфигурация является корректной, появится сообщение:
Success! The configuration is valid.
-
Выполните команду:
terraform plan
В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply
-
Подтвердите изменения: введите в терминал слово
yes
и нажмите Enter.Проверить изменения можно в консоли управления
.
Чтобы удалить бакет, воспользуйтесь методом REST API delete для ресурса Bucket, вызовом gRPC API BucketService/Delete или методом S3 API deleteBucket.