連線到 dbt Cloud

在您的 Airflow 環境中安裝 dbt Cloud Provider 後,相應的連線型別 dbt_cloud 將可用。以下說明如何配置 API 令牌,以及如何選擇性地為您的 dbt Cloud 連線提供賬戶 ID 和/或租戶名稱。

預設連線 ID

所有與 dbt Cloud 相關的 Hook 和 Operator 預設使用 dbt_cloud_default

認證 dbt Cloud API

要在 Airflow 中與 dbt Cloud API 互動,需要 使用者 API 令牌服務賬戶 API 令牌

配置連線

密碼 (必填)

認證 dbt Cloud API 時使用的 API 令牌。

如果在 Airflow UI 中使用連線表單,令牌也可以儲存在“API 令牌”欄位中。

登入 (可選)

要用作 dbt Cloud Operator 或 DbtCloudHook 方法的預設賬戶 ID。如果在連線中提供了賬戶 ID,則無需將 account_id 傳遞給 Operator 或 Hook 方法。account_id 的值將改為從 Airflow 連線中檢索。如果需要,account_id 仍然可以顯式傳遞給 Operator 或 Hook 方法,以覆蓋連線中配置的預設值。

如果在 Airflow UI 中使用連線表單,賬戶 ID 也可以儲存在“賬戶 ID”欄位中。

注意

如果 Airflow 連線中未提供賬戶 ID,則 必須account_id 顯式傳遞給 Operator 或 Hook 方法。

主機 (可選)

您的 dbt Cloud 環境的租戶域(例如:“my-tenant.getdbt.com”)。這在使用單租戶 dbt Cloud 例項或像 EMEA 或虛擬私有 dbt Cloud 等其他 dbt Cloud 區域時特別有用。如果未提供租戶域,將使用“cloud.getdbt.com”作為預設值,假設是在北美地區的多租戶例項。

如果在 Airflow UI 中使用連線表單,租戶域也可以儲存在“租戶”欄位中。

Extra (可選)

以 JSON 字典形式指定額外引數。目前,僅支援透過代理連線到 dbt Cloud 時的 proxies 引數。

proxies 應該是一個字典,包含 HTTP 和 HTTPS 連線要使用的代理。

{
  "proxies": {
    "http": "http://myproxy.mycompany.local:8080",
    "https": "http://myproxy.mycompany.local:8080"
  }
}

將連線指定為環境變數時,應遵循資料庫連線的標準語法進行指定。請注意,URI 的所有組成部分都應進行 URL 編碼。

例如,新增連線 ID 為“dbt_cloud_default”的連線

指定賬戶 ID 時

export AIRFLOW_CONN_DBT_CLOUD_DEFAULT='dbt-cloud://account_id:api_token@'

未指定賬戶 ID 時

export AIRFLOW_CONN_DBT_CLOUD_DEFAULT='dbt-cloud://:api_token@'

指定租戶域時,請務必遵循此處表格中的訪問 URL 模式:[連結](https://docs.getdbt.com/docs/cloud/about-cloud/access-regions-ip-addresses)

export AIRFLOW_CONN_DBT_CLOUD_DEFAULT='dbt-cloud://:api_token@my-access-url'

例如,如果我的賬戶託管在基於 Cell 的北美地區,訪問 URL 是 ab123.us1.dbt.com,那麼我的連線字串應該是

export AIRFLOW_CONN_DBT_CLOUD_DEFAULT='dbt-cloud://:api_token@ab123.us1.dbt.com'

您可以參考有關 透過環境變數建立連線 的文件以獲取更多資訊。

本條目有幫助嗎?