連線到 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'
您可以參考有關 透過環境變數建立連線 的文件以獲取更多資訊。