Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Все решения
    • Все решения для Object Storage
    • Устранение ошибки `Bucket is not empty` при удалении бакета
    • Устранение ошибок доступа к бакету с назначенной политикой безопасности
    • Устранение ошибки 429
    • Устранение ошибки 409 `BucketAlreadyExists`
    • Устранение ошибки доступа к бакетам S3 из кластера Yandex Data Processing 1.4
    • Устранение ошибки 403 (не отдается заголовок при использовании метода `OPTION`)
    • Устранение ошибки сертификата
    • Устранение ошибки `GATEWAY_REQUEST_ERROR`
    • Устранение проблем с некорректным MIME-типов объектов при их загрузке в Object Storage
    • Устранение проблем с загрузкой новых объектов в бакет
    • Как перенести данные из бакета Object Storage в ледяное хранилище
    • Как ограничить доступ к бакету Object Storage диапазоном IP-адресов, принадлежащих Cloud CDN
    • Как перенести содержимое бакета в другой бакет в пределах каталога
    • Как работать напрямую с API Object Storage без использования SDK
    • Как просматривать и удалять незавершенные загрузки
    • Как узнать скорость загрузки и скачивания данных
    • Как настроить заголовки кэширования `Cache-Control` для объектов в бакете при HTTP-запросах
    • Как ограничить доступ к бакету для пользователя
    • Как подключить собственный домен к бакету
    • Как изменить класс хранения
    • Как восстановить удаленные данные из бакета

В этой статье:

  • Описание проблемы
  • Решение
  1. Object Storage
  2. Устранение ошибки `Bucket is not empty` при удалении бакета

Устранение ошибки Bucket is not empty при удалении бакета

Статья создана
Yandex Cloud
Обновлена 23 августа 2024 г.
  • Описание проблемы
  • Решение

Описание проблемыОписание проблемы

При попытке удалить бакет появляется сообщение об ошибке Bucket is not empty.

РешениеРешение

Для удаления каталога или бакета необходимо сначала удалить из него все объекты. Самые распространенные причины невозможности удалить бакет:

  • В бакете есть незавершенные составные загрузки;
  • В бакете остались загруженные объекты;
  • В бакете удалены все объекты, но в нем включено версионирование и существуют старые версии удаленных объектов.

Вы можете удалить все старые версии объектов и незавершенные загрузки, настроив автоматическое удаление всех этих сущностей в правиле жизненного цикла бакета.

Примечание

Правила жизненного цикла обрабатываются в 00:00 UTC один раз в сутки.

Консоль управления
AWS CLI

Посмотреть и удалить незавершенные загрузки из Консоли управлени можно по этой инструкции.

Удаление всех объектов из бакета средствами консоли управления описано в материале по этой ссылке.

  • Наличие незавершенных составных загрузок можно проверить командой:

    aws --endpoint <https://storage.yandexcloud.net> s3api list-multipart-uploads \
    --bucket \<bucket_name\>
    
  • Удалить такие загрузки можно командой abort-multipart-upload:

    aws --endpoint <https://storage.yandexcloud.net> s3api abort-multipart-upload \
    --bucket \<bucket_name\> --key \<object_key\> --upload-id \<upload_id\>
    
  • Наличие объектов в бакете можно проверить командой list-objects:

    aws --endpoint <https://storage.yandexcloud.net> s3api list-objects \
    --bucket \<bucket_name\>
    
  • Удалить один объект можно командой delete-object:

    aws --endpoint <https://storage.yandexcloud.net> s3api delete-object \
    --bucket \<bucket_name\> --key
    
  • Удалить сразу несколько объектов можно командой delete-object:

    aws --endpoint <https://storage.yandexcloud.net> s3api delete-objects \
    --bucket \<bucket_name\> --delete '\{ "Objects": \[ \{ "Key": \}, \{ "Key": \}, ...\] \}'
    
  • Если в вашем бакете включено версионирование, то после удаления самих объектов в каталоге или бакете все еще хранятся их прошлые версии. Их тоже необходимо удалить. Увидеть старые версии можно так:

    aws --endpoint <https://storage.yandexcloud.net> s3api list-object-versions \
    --bucket \<bucket_name\>
    
    
  • Удалить конкретную версию объекта можно командой:

    aws --endpoint <https://storage.yandexcloud.net> s3api delete-object \
    --bucket \<bucket_name\> --key \<key_name\> --version-id \<version_id\>
    

Была ли статья полезна?

Предыдущая
Все решения для Object Storage
Следующая
Устранение ошибок доступа к бакету с назначенной политикой безопасности
Проект Яндекса
© 2025 ООО «Яндекс.Облако»