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

CLI

Управляйте бакетами и объектами R2 прямо из терминала. Используйте инструменты CLI для автоматизации задач и управления объектами.

Инструмент Подходит для
Wrangler Операции с отдельными объектами и управление настройками бакета при минимальной настройке
rclone Массовые операции с объектами, миграции и синхронизация каталогов
AWS CLI Существующие рабочие процессы AWS или знакомство с AWS CLI

1. Создать бакет

Бакет хранит ваши объекты в R2. Чтобы создать новый бакет R2:

  1. Войдите в свою учётную запись Cloudflare:

    npx wrangler login
  2. Создайте бакет с именем my-bucket:

    npx wrangler r2 bucket create my-bucket

    Если появится запрос, выберите аккаунт, в котором нужно создать бакет.

  3. Убедитесь, что бакет создан:

    npx wrangler r2 bucket list
  1. В панели управления Cloudflare перейдите в Объектное хранилище R2.

    Перейдите в Обзор ↗
  2. Выберите Создание бакета.

  3. Введите имя своего бакета.

  4. Выберите расположение для вашего бакета и класс хранения по умолчанию.

  5. Выберите Создание бакета.

2. Сгенерировать учётные данные API

Инструменты командной строки, использующие S3 API (AWS CLI, rclone) требуют Access Key ID и Secret Access Key. Если вы используете Wrangler, можете пропустить этот шаг.

  1. В панели управления Cloudflare перейдите в R2.
  2. Выберите Управление API-токенами R2.
  3. Выберите Создание API-токена.
  4. Выберите Object Read & Write разрешение и выберите бакеты, к которым нужен доступ.
  5. Выберите Создать API-токен.
  6. Скопируйте Access Key ID и Secret Access Key. Храните их в надёжном месте: повторно просмотреть секрет будет невозможно.

3. Настроить инструмент CLI

Wrangler представляет собой CLI для Cloudflare Workers. Он выполняет аутентификацию напрямую в вашем аккаунте Cloudflare, поэтому учётные данные API не нужны.

  1. Установка Wrangler:

    npm i -D wrangler
  2. Войдите в свою учётную запись Cloudflare:

    wrangler login

rclone идеально подходит для массовой загрузки, миграций и синхронизации каталогов.

  1. Установите rclone (версии 1.59 или новее).

  2. Настройте новый remote:

    rclone config
  3. Создайте новый remote, выбрав n.

  4. Присвойте имя удалённому хранилищу r2

  5. Выберите Поставщики хранилища, совместимые с Amazon S3 в качестве типа хранилища.

  6. Выберите Cloudflare R2 в качестве провайдера.

  7. Выберите, хотите ли вы ввести учётные данные AWS вручную или получить их из среды выполнения.

  8. Введите Access Key ID и Secret Access Key, когда система их запросит.

  9. Выберите регион для подключения (необязательно).

  10. Укажите конечную точку S3 API.

AWS CLI работает с R2 благодаря указанию пользовательской конечной точки.

  1. Установите AWS CLI для вашей операционной системы.

  2. Настройте учётные данные:

    aws configure
  3. Когда появится запрос, введите:

    • AWS Access Key ID: ваш R2 Access Key ID
    • AWS Secret Access Key: ваш R2 Secret Access Key
    • Имя региона по умолчанию: auto
    • Формат вывода по умолчанию: json (или нажмите Enter, чтобы пропустить)

4. Загрузка и скачивание объектов

(Необязательно) Создайте тестовый файл для загрузки. Выполните эту команду в каталоге, где вы планируете запускать команды CLI:

echo 'Hello, R2!' > myfile.txt
# Upload myfile.txt to my-bucket
wrangler r2 object put my-bucket/myfile.txt --file ./myfile.txt

# Download myfile.txt and save it as downloaded.txt
wrangler r2 object get my-bucket/myfile.txt --file ./downloaded.txt

См. Команды Wrangler для R2 для всех доступных операций.

# Upload myfile.txt to my-bucket
rclone copy myfile.txt r2:my-bucket/

# Download myfile.txt from my-bucket to the current directory
rclone copy r2:my-bucket/myfile.txt .

См. документация rclone для дополнительных параметров конфигурации.

# Upload myfile.txt to my-bucket
aws s3 cp myfile.txt s3://my-bucket/ --endpoint-url https://<ACCOUNT_ID>.r2.cloudflarestorage.com

# Download myfile.txt from my-bucket to current directory
aws s3 cp s3://my-bucket/myfile.txt ./ --endpoint-url https://<ACCOUNT_ID>.r2.cloudflarestorage.com

# List all objects in my-bucket
aws s3 ls s3://my-bucket/ --endpoint-url https://<ACCOUNT_ID>.r2.cloudflarestorage.com

См. Документация AWS CLI для дополнительных примеров.

Следующие шаги

Presigned URLs

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

Публичные бакеты

Раздавайте файлы напрямую по HTTP с помощью публичного бакета.

CORS

Настройте CORS для загрузок из браузера.

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

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