連線至 dbt Cloud¶
在您的 Airflow 環境中安裝 dbt Cloud provider 後,將可以使用對應的 dbt_cloud
連線類型。以下說明如何為您的 dbt Cloud 連線設定 API 權杖,以及選填提供帳戶 ID 和/或租戶名稱。
預設連線 ID¶
所有與 dbt Cloud 相關的 hook 和運算子預設使用 dbt_cloud_default
。
驗證 dbt Cloud API¶
若要在 Airflow 中與 dbt Cloud API 互動,需要使用者 API 權杖或服務帳戶 API 權杖。
設定連線¶
- 密碼 (必填)
用於驗證 dbt Cloud API 的 API 權杖。
若使用 Airflow UI 中的連線表單,權杖也可以儲存在「API 權杖」欄位中。
- 登入 (選填)
作為 dbt Cloud 運算子或
DbtCloudHook
方法的預設帳戶 ID 使用的帳戶 ID。若連線中提供了帳戶 ID,則您不需要將account_id
傳遞給運算子或 hook 方法。account_id
值將會改為從 Airflow 連線中擷取。若有需要,仍然可以將account_id
明確地傳遞給運算子或 hook 方法,以覆寫連線中設定的預設值。若使用 Airflow UI 中的連線表單,帳戶 ID 也可以儲存在「帳戶 ID」欄位中。
注意
若 Airflow 連線中未提供帳戶 ID,則
account_id
*必須* 明確地傳遞給運算子或 hook 方法。- 主機 (選填)
您的 dbt Cloud 環境的租戶網域 (例如「my-tenant.getdbt.com」)。當使用單一租戶 dbt Cloud 執行個體或其他 dbt Cloud 區域 (如 EMEA 或 Virtual Private dbt Cloud) 時,這特別有用。若未提供租戶網域,則會使用「cloud.getdbt.com」作為預設值,假設為北美區域中的多租戶執行個體。
若使用 Airflow UI 中的連線表單,租戶網域也可以儲存在「租戶」欄位中。
- 額外 (選填)
以 JSON 字典指定額外參數。目前,若要透過 Proxy 連線至 dbt Cloud,僅支援 proxies。
proxies 應為 HTTP 和 HTTPS 連線使用的 Proxy 字典。
{
"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 模式 ([here](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-based 北美區域,且我的存取 URL 為 ab123.us1.dbt.com,則我的連線字串應為: .. code-block:: bash
export AIRFLOW_CONN_DBT_CLOUD_DEFAULT=’dbt-cloud://:api_token@ab123.us1.dbt.com’
您可以參考關於透過環境變數建立連線的文件以取得更多資訊。