INTEGRITY Документация

Удаление бакетов

Чтобы удалить бакет R2, сначала удалите из него все объекты. После того как бакет станет пустым, вы сможете его удалить.

Очистка бакета

При очистке бакета удаляются все находящиеся в нём объекты. Сам бакет и его конфигурация (правила жизненного цикла, CORS, уведомления о событиях, пользовательские домены) сохраняются.

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

Очистить бакет можно несколькими способами.

Dashboard

Панель управления предоставляет действие Очистить бакет действие, которое делает это за вас, независимо от количества объектов в бакете. Для крупных бакетов операция выполняется в фоновом режиме, а dashboard отображает прогресс, пока все объекты не будут удалены.

  1. На панели управления Cloudflare перейдите к разделу Объектное хранилище R2 страницу.

    Перейдите в Обзор ↗
  2. Выберите бакет, который нужно очистить.

  3. Перейдите в Настройки на вкладке.

  4. Прокрутите до Очистить бакет раздел.

  5. Выберите Очистить.

  6. Подтвердите действие в появившемся диалоговом окне.

Правила жизненного цикла объектов

Вы можете настроить правило жизненного цикла объекта который приводит к истечению срока действия всех объектов в бакете.

  1. Добавьте правило жизненного цикла без фильтра по префиксу со сроком действия 1 день.
  2. Дождитесь вступления правила в силу. Обычно объекты удаляются в течение 24 часов, но для крупных бакетов это может занять больше времени.
  3. После того как бакет опустеет, удалите правило жизненного цикла.

Wrangler

Добавьте правило жизненного цикла, при котором срок действия всех объектов истекает через 1 день:

npx wrangler r2 bucket lifecycle add <BUCKET_NAME> --expire-days 1

После того как бакет опустеет, удалите правило:

npx wrangler r2 bucket lifecycle remove <BUCKET_NAME> --id <RULE_ID>

Полный список команд управления жизненным циклом см. Команды Wrangler для R2.

Вы также можете настроить правила жизненного цикла через S3 API или панель управления. Подробнее см. Жизненный цикл объектов.

Другие подходы

Вы также можете написать скрипт, который выводит список и удаляет объекты пакетами с помощью S3 API или API Workers, или используйте rclone чтобы удалить объекты из командной строки.

Удаление бакета

После того как бакет опустеет, его можно удалить навсегда. При удалении бакета удаляются сам бакет и вся его конфигурация, включая правила жизненного цикла, настройки CORS, уведомления о событиях и пользовательские домены.

Удалить бакет можно несколькими способами.

Dashboard

  1. На панели управления Cloudflare перейдите к разделу Объектное хранилище R2 страницу.

    Перейдите в Обзор ↗
  2. Выберите бакет, который нужно удалить.

  3. Перейдите в Настройки на вкладке.

  4. Прокрутите до Delete Bucket раздел. Если бакет не пуст, выберите Очистить бакет сначала, чтобы очистить все объекты.

  5. Выберите Удалить.

  6. Подтвердите действие в появившемся диалоговом окне.

Wrangler

Используйте r2 bucket delete команду, чтобы удалить пустой бакет:

npx wrangler r2 bucket delete <BUCKET_NAME>

Команда завершится ошибкой, если бакет всё ещё содержит объекты. Перед выполнением этой команды очистите бакет.

API

Используйте конечная точка API для удаления бакета чтобы удалить пустой бакет:

curl -X DELETE "https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/r2/buckets/<BUCKET_NAME>" \
  -H "Authorization: Bearer <API_TOKEN>"

Если бакет находится в юрисдикция, включите cf-r2-jurisdiction заголовок:

curl -X DELETE "https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/r2/buckets/<BUCKET_NAME>" \
  -H "Authorization: Bearer <API_TOKEN>" \
  -H "cf-r2-jurisdiction: eu"

Поведение

Удаление объектов

Удаляйте отдельные объекты или папки из бакета R2.

Блокировки бакета

Предотвращайте случайное удаление, задавая политики хранения для объектов.

Жизненный цикл объектов

Настройте автоматическое истечение срока действия объектов через заданный период вместо ручной очистки бакета.

Создание бакетов

Создайте новый бакет R2 после удаления существующего.