OpenAICloudflare Developer Platform2026/05/04 0:00

Pipelines - Pipelines and R2 Data Catalog now supported in Terraform

要点だけを先に読めるように短く再構成したセクションです。

元記事

Quick Digest

要約

要点だけを先に読めるように短く再構成したセクションです。

openaijamodel: gpt-5-mini-2025-08-07

TerraformでPipelinesとR2 Data Catalogが利用可能に

Key Points

  • TerraformでPipelines管理可能
  • 4つの新リソースを追加
  • provider v5.19.0でサポート

Summary

Cloudflare Terraformプロバイダ v5.19.0で、PipelinesとR2 Data Catalogの管理が可能になりました。これにより、ストリーム(HTTP/Worker)、SQLパイプライン、R2へのシンク、R2のData Catalog設定をインフラとしてコードで定義できます。エンドツーエンドの例やR2バケット作成、スコープ付きAPIトークンの発行手順はPipelines Terraformドキュメントを参照してください。

Key Points

  • 追加されたリソース:
    • cloudflare_r2_data_catalog — R2バケットでData Catalogを有効化
    • cloudflare_pipeline_stream — HTTP/Workerでイベントを受け取るストリーム
    • cloudflare_pipeline_sink — R2またはR2 Data Catalogへ書き込むシンク
    • cloudflare_pipeline — ストリームとシンクをSQLで接続するパイプライン
  • 主な機能: Apache Icebergテーブル出力、コンパクション管理、R2 SQL/Spark/DuckDBとの互換性
  • 実務上の手順(推奨):
    • Terraformプロバイダをv5.19.0以上に更新
    • 必要な権限を持つスコープ付きAPIトークンとR2バケットを準備
    • terraform planterraform applyでリソースを作成
    • 出力先のIcebergテーブルやクエリエンジンでデータの整合性を検証
  • 注意点: パイプライン定義はSQLで行うため、スキーマ整備とフォーマット(例: parquet/json)を事前に決定すること

Short example

公式の最小構成例では、cloudflare_pipeline_streamcloudflare_pipeline_sink(type = "r2_data_catalog")、cloudflare_pipelineを組み合わせてデータをR2のIcebergテーブルへ挿入します。詳しい手順はドキュメントのエンドツーエンド例を参照してください。

Full Translation

翻訳

原文の流れを保ったまま読める翻訳セクションです。

openaijamodel: gpt-5-mini-2025-08-07

Pipelines - Pipelines と R2 Data Catalog が Terraform でサポートされるようになりました

Pipelines と R2 Data Catalog が Terraform でサポートされるようになりました

公開日: 2026-05-04

概要

Cloudflare Pipelines は Workers または HTTP エンドポイント経由でストリーミングデータを取り込み、SQL で変換し、Apache Iceberg テーブルとして R2 に書き込みます。R2 Data Catalog はそれらの Iceberg テーブル、コンパクション、および R2 SQL、Spark、DuckDB といったクエリエンジンとの互換性を管理します。

Terraform サポート

これらの製品は Terraform で作成・管理できるようになりました。Cloudflare Terraform provider v5.19.0 ↗ でサポートされています。本リリースでは、データカタログ、取り込み用のストリーム、R2 Data Catalog/R2 に書き込むシンク、SQL でそれらを接続するパイプラインの 4 種類の新しいリソースが追加され、データパイプライン全体をインフラストラクチャとしてコード化できます。

新しい Terraform リソース

  • cloudflare_r2_data_catalog ↗ — R2 バケット上でデータカタログを有効化
  • cloudflare_pipeline_stream ↗ — HTTP や Worker バインディング経由でイベントを受け取るストリームを作成
  • cloudflare_pipeline_sink ↗ — R2 Data Catalog または R2 に書き込むシンクを作成
  • cloudflare_pipeline ↗ — ストリームとシンクを SQL で接続するパイプラインを作成

最小の例

以下はストリーム、R2 Data Catalog シンク、パイプラインを作成する最小の例です。

resource "cloudflare_pipeline_stream" "my_stream" {
  account_id = var . cloudflare_account_id
  name = "my_stream"
  format = { type = "json" }
  schema = { fields = [ { name = "value" type = "json" required = true } ] }
  http = { enabled = true , authentication = false , cors = {} }
  worker_binding = { enabled = false }
}
resource "cloudflare_pipeline_sink" "my_sink" {
  account_id = var . cloudflare_account_id
  name = "my_sink"
  type = "r2_data_catalog"
  format = { type = "parquet" }
  schema = { fields = [] }
  config = { account_id = var.cloudflare_account_id bucket = "my-pipeline-bucket" table_name = "my_table" token = var.catalog_token }
}
resource "cloudflare_pipeline" "my_pipeline" {
  account_id = var . cloudflare_account_id
  name = "my_pipeline"
  sql = "INSERT INTO ${ cloudflare_pipeline_sink . my_sink . name } SELECT * FROM ${ cloudflare_pipeline_stream . my_stream . name } "
}

補足

R2 バケット作成、データカタログ設定、スコープ付き API トークンのプロビジョニングを含む、エンドツーエンドの完全な例については、Pipelines Terraform documentation を参照してください。

Pipelines - Pipelines と R2 Data Catalog が Terraform でサポートされるようになりました | Cloudflare Developer Platform | DocsDigest