← Cloudflare Pipelines / pipelines / sinks / available-sinks
R2
Приёмники R2 записывают обработанные данные из конвейеров в виде необработанных файлов в Объектное хранилище R2. В настоящее время они поддерживают запись в форматы JSON и Parquet.
Чтобы создать приёмник R2, выполните pipelines sinks create и укажите тип приёмника и целевой bucket:
npx wrangler pipelines sinks create my-sink \
--type r2 \
--bucket my-bucketВарианты форматирования
Приёмники R2 поддерживают два формата вывода:
формат JSON
Запись данных в виде файлов JSON, разделённых переносами строк:
--format jsonФормат Parquet
Запись данных в виде файлов Parquet для повышения производительности запросов и степени сжатия:
--format parquet --compression zstdВарианты сжатия для Parquet:
zstd(по умолчанию) - лучший коэффициент сжатияsnappy- самое быстрое сжатиеgzip- хорошее сжатие, широко поддерживаетсяlz4- быстрое сжатие с приемлемым коэффициентомuncompressed- без сжатия
Размер группы строк: Группы строк ↗ представляют собой наборы строк в файле Parquet, которые хранятся вместе и влияют на использование памяти и производительность запросов. Настройте целевой размер группы строк в МБ:
--target-row-group-size 256Организация файлов
Файлы записываются с именами в формате UUID внутри партиционированной структуры каталогов. Например, при пути analytics и партиционирование по умолчанию:
analytics/year=2025/month=09/day=18/002507a5-d449-48e8-a484-b1bea916102f.parquetПуть
Задайте базовый каталог в бакете, куда будут записываться файлы:
--path analytics/eventsПартиционирование
Приёмники R2 автоматически распределяют файлы по времени с помощью настраиваемого шаблона. Шаблон по умолчанию: year=%Y/month=%m/day=%d (партиционирование в стиле Hive).
--partitioning "year=%Y/month=%m/day=%d/hour=%H"Список доступных спецификаторов формата см. в документация по strftime ↗.
Политика пакетирования и ротации
Управляйте моментом записи файлов в R2. Настройте это под свои задачи:
- Меньшие значения: Более частая запись, файлы меньшего размера, более низкая задержка
- Более высокие значения: Более редкая запись, файлы большего размера, более высокая производительность запросов
Интервал ротации
Задайте, как часто записываются файлы (по умолчанию: 300 секунд, минимум: 10 секунд):
--roll-interval 10 # Write files every 10 secondsРазмер ротации
Задайте максимальный размер файла в МБ, при достижении которого создаётся новый файл:
--roll-size 100 # Create new file after 100MBАутентификация
Для приёмников R2 требуются API-учётные данные (Access Key ID и Secret Access Key) с Object Read & Write permissions для записи данных в ваш bucket.
npx wrangler pipelines sinks create my-sink \
--type r2 \
--bucket my-bucket \
--access-key-id YOUR_ACCESS_KEY_ID \
--secret-access-key YOUR_SECRET_ACCESS_KEY