ClaudeCloudflare Developer PlatformMay 4, 2026, 12:00 AM

Pipelines - Pipelines and R2 Data Catalog now supported in Terraform

A condensed section focused on the key takeaways first.

Original Post

Quick Digest

Summary

A condensed section focused on the key takeaways first.

claudeenmodel: claude-haiku-4-5

Pipelines and R2 Data Catalog now supported in Terraform

Key Points

  • Terraform support for Pipelines and R2 Data Catalog
  • Four new resources for infrastructure-as-code data pipelines
  • SQL-based stream-to-sink transformations with Iceberg tables

Summary

Cloudflare Pipelines and R2 Data Catalog are now manageable through Terraform via the Cloudflare Terraform provider v5.19.0. This enables infrastructure-as-code definitions for your entire data pipeline.

Key Points

  • Four new Terraform resources added: cloudflare_r2_data_catalog, cloudflare_pipeline_stream, cloudflare_pipeline_sink, and cloudflare_pipeline
  • Define complete data pipelines as infrastructure-as-code with streams, sinks, and SQL transformations
  • Pipelines ingest streaming data via Workers or HTTP endpoints, transform with SQL, and write to R2 as Apache Iceberg tables
  • R2 Data Catalog manages Iceberg tables, compaction, and compatibility with query engines (R2 SQL, Spark, DuckDB)
  • Full end-to-end examples available in Pipelines Terraform documentation including R2 bucket creation and API token provisioning

Full Translation

Translations

A translation section that keeps the flow of the original article.

claudejamodel: claude-haiku-4-5

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

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

概要

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

これら両方の製品を Terraform を使用して作成・管理できるようになりました。Cloudflare Terraform provider v5.19.0 でサポートされています。

新しいリソース

これにより、データパイプライン全体をインフラストラクチャ・アズ・コード(Infrastructure-as-Code)として定義できる 4 つの新しいリソースが追加されます:

  • 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 ドキュメントを参照してください。