连接到 dbt Cloud¶
在您的 Airflow 环境中安装 dbt Cloud provider 后,将可以使用相应的 dbt_cloud
连接类型。以下描述了如何配置 API 令牌,以及如何为您的 dbt Cloud 连接提供可选的账户 ID 和/或租户名称。
默认连接 ID¶
默认情况下,与 dbt Cloud 相关的所有钩子和操作符都使用 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
传递给操作符或钩子方法。account_id
值将从 Airflow 连接中检索。如果需要,仍然可以将account_id
显式传递给操作符或钩子方法,以覆盖连接中配置的默认值。如果在 Airflow UI 中使用连接表单,则账户 ID 也可以存储在“账户 ID”字段中。
注意
如果在 Airflow 连接中未提供账户 ID,则必须将
account_id
显式传递给操作符或钩子方法。- 主机(可选)
您的 dbt Cloud 环境的租户域名(例如“my-tenant.getdbt.com”)。这在使用单租户 dbt Cloud 实例或 其他 dbt Cloud 区域(如 EMEA 或虚拟私有 dbt Cloud)时特别有用。如果未提供租户域名,则假设北美地区的租户实例为多租户实例,将使用“cloud.getdbt.com”作为默认值。
如果在 Airflow UI 中使用连接表单,则租户域名也可以存储在“租户”字段中。
将连接指定为环境变量时,应按照数据库连接的标准语法指定它。请注意,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@'指定租户域名时
export AIRFLOW_CONN_DBT_CLOUD_DEFAULT='dbt-cloud://:[email protected]'
您可以参考 通过环境变量创建连接 的文档了解更多信息。