觀點 · 資訊分享

Cloudflare Pipelines 與 R2 Data Catalog 支援 Terraform:4 個新資源,把整條資料管線寫成程式碼

Cloudflare 的 Terraform provider v5.19.0 新增 4 個資源,讓你用程式碼定義 R2 Data Catalog、資料串流、輸出目的地與用 SQL 串起它們的管線。串流資料寫進 R2 的 Iceberg 資料表,也能版本控管。

發布
2026-05-04
篇幅
約 4 分鐘 · 1,701 字
結構
8 節 + 3 題常見問題
標籤
#Cloudflare#Terraform#R2 Data Catalog#Pipelines#Apache Iceberg
Cloudflare Pipelines 與 R2 Data Catalog 支援 Terraform:4 個新資源,把整條資料管線寫成程式碼

一句話看懂:Cloudflare 的 Terraform provider 新增 4 個資源,讓 Pipelines 與 R2 Data Catalog 能用程式碼定義,整條串流資料管線都可以進版本控管。

Pipelines 與 R2 Data Catalog 可用 Terraform資訊圖卡:串流、輸出、管線與資料目錄都能寫成 Terraform 程式碼管理

先用白話講:這兩個產品在做什麼?

想像你開了一間網路商店,每筆訂單、每次點擊都會產生一筆紀錄,你想把這些紀錄整理後存起來,之後拿來分析。Pipelines 就像一條輸送帶:從入口(HTTP 或 Worker)接收資料,用 SQL 做轉換,再送到出口。R2 Data Catalog 則像倉庫的目錄系統,替存進 R2 的資料表做管理與整理,讓分析工具找得到、查得快。

發生什麼事

5 月 4 日,Cloudflare 在更新日誌宣布:Pipelines 與 R2 Data Catalog 現在可以用 Terraform 建立與管理,需要 Cloudflare Terraform provider v5.19.0。

官方說明這兩個產品的角色:

  • Pipelines 透過 Workers 或 HTTP 端點接收串流資料,用 SQL 轉換,並寫進 R2 成為 Apache Iceberg 資料表
  • R2 Data Catalog 管理這些 Iceberg 資料表、壓縮,並維持與 R2 SQL、Spark、DuckDB 等查詢引擎的相容

新增的 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 輸出,再用一條管線串起來。管線本身只有一行 SQL,大致是這個形狀:

resource "cloudflare_pipeline" "my_pipeline" {
  account_id = var.cloudflare_account_id
  name       = "my_pipeline"
  sql        = "INSERT INTO my_sink SELECT * FROM my_stream"
}
  • 上面是我簡化過的示意,官方範例是用資源參照帶入輸出與串流的名稱,詳細寫法請看官方文件
  • 官方範例中的串流格式為 JSON,輸出格式為 Parquet
  • 完整的端到端範例(含 R2 儲存桶、資料目錄、限定範圍 API 權杖的建立)在官方 Pipelines Terraform 文件

我的看法

我自己的資料量不大,現在還沒有串流資料管線的需求,但接案時遇過客戶想把網站行為資料存起來分析。以前這類設定常常是某個人在控制台點出來的,過幾個月沒人記得怎麼設。把它寫成 Terraform,至少重建環境或交接時有一份可以看的程式碼。

要注意的是,這篇更新只說明支援哪些資源與一個最小範例,並沒有談價格、限制或正式版狀態。要不要在正式環境用,還是得先看 Pipelines 與 R2 Data Catalog 本身的狀態與費用說明。

什麼時候值得用?

  • 你已經用 Terraform 管理 Cloudflare 的其他資源,希望資料管線也走同一套流程
  • 需要在測試、正式等多個環境重複建立相同的管線設定
  • 想用程式碼審查(code review)來檢查資料管線的改動

如果你只是偶爾試試 Pipelines,直接用控制台可能更快;Terraform 的好處是長期維護與重複部署。這是我的整理,不是官方說法。

名詞小辭典

  • Terraform:用程式碼描述雲端資源、再自動建立的工具,屬於「基礎設施即程式碼」。
  • Apache Iceberg:一種資料表格式,適合大量資料分析,讓不同查詢工具讀同一份資料。
  • Parquet:欄式的檔案格式,常用來存分析用資料,壓縮率高。
  • 串流(Stream):持續流入的資料,例如網站事件或感測器紀錄。

資料來源

常見問題

Pipelines 和 R2 Data Catalog 各是做什麼的?
官方說明:Pipelines 負責接收串流資料、用 SQL 轉換後寫進 R2 成為 Apache Iceberg 資料表;R2 Data Catalog 則管理這些 Iceberg 資料表、資料壓縮,以及和各種查詢引擎的相容。
要升級到哪個版本才有?
Cloudflare Terraform provider v5.19.0。
範例裡的 token 是什麼?
官方範例在 R2 Data Catalog 的輸出設定裡帶了 token 變數,完整範例(含 R2 儲存桶建立、資料目錄設定與限定範圍的 API 權杖)請看官方的 Pipelines Terraform 文件。
LINE