airflow.providers.dbt.cloud.hooks.dbt¶
属性¶
异常¶
表示作业运行未能完成的异常。 |
|
当无法唯一标识 dbt Cloud 资源时引发的异常。 |
类¶
执行请求时用于身份验证的辅助类。 |
|
用于 |
|
dbt Cloud 作业状态。 |
|
使用 V2(如果支持则使用 V3)API 与 dbt Cloud 交互。 |
函数¶
为 |
|
|
为 |
模块内容¶
- airflow.providers.dbt.cloud.hooks.dbt.fallback_to_default_account(func)[source]¶
为
account_id
提供回退值。如果
account_id
为 None 或未传递给被装饰的函数,该值将取自配置的 dbt Cloud Airflow 连接。
- class airflow.providers.dbt.cloud.hooks.dbt.JobRunInfo[source]¶
基类:
TypedDict
用于
job_run_info
字典的类型类。
- class airflow.providers.dbt.cloud.hooks.dbt.DbtCloudJobRunStatus[source]¶
基类:
enum.Enum
dbt Cloud 作业状态。
- exception airflow.providers.dbt.cloud.hooks.dbt.DbtCloudJobRunException[source]¶
基类:
airflow.exceptions.AirflowException
表示作业运行未能完成的异常。
- exception airflow.providers.dbt.cloud.hooks.dbt.DbtCloudResourceLookupError[source]¶
基类:
airflow.exceptions.AirflowException
当无法唯一标识 dbt Cloud 资源时引发的异常。
- airflow.providers.dbt.cloud.hooks.dbt.provide_account_id(func)[source]¶
为
account_id
提供回退值。如果
account_id
为 None 或未传递给被装饰的函数,该值将取自配置的 dbt Cloud Airflow 连接。
- class airflow.providers.dbt.cloud.hooks.dbt.DbtCloudHook(dbt_cloud_conn_id=default_conn_name, *args, **kwargs)[source]¶
基类:
airflow.providers.http.hooks.http.HttpHook
使用 V2(如果支持则使用 V3)API 与 dbt Cloud 交互。
- 参数:
dbt_cloud_conn_id (str) – dbt Cloud 连接的 ID。
- static get_request_url_params(tenant, endpoint, include_related=None, *, api_version='v2')[source]¶
从基本 URL 和端点 URL 构成 URL。
- async get_job_details(run_id, account_id=None, include_related=None)[source]¶
使用异步 HTTP 调用检索特定 dbt Cloud 作业运行的元数据。
- async get_job_status(run_id, account_id=None, include_related=None)[source]¶
检索特定 dbt Cloud 作业运行的状态。
- get_conn(*args, **kwargs)[source]¶
创建一个 Requests HTTP 会话。
- 参数:
headers – 作为字典传递的额外 Headers。
extra_options – 执行请求时使用的额外选项
- 返回:
一个配置好的 requests.Session 对象。
- 返回类型:
- get_account(account_id=None)[source]¶
检索特定 dbt Cloud 账户的元数据。
- 参数:
account_id (int | None) – 可选。dbt Cloud 账户的 ID。
- 返回:
请求响应。
- 返回类型:
- list_projects(account_id=None, name_contains=None)[source]¶
检索与指定 dbt Cloud 账户关联的所有项目的元数据。
- 参数:
- 返回:
请求响应列表。
- 返回类型:
- list_environments(project_id, *, name_contains=None, account_id=None)[source]¶
检索与指定 dbt Cloud 项目关联的所有环境的元数据。
- 参数:
- 返回:
请求响应列表。
- 返回类型:
- get_environment(project_id, environment_id, *, account_id=None)[source]¶
检索特定项目环境的元数据。
- 参数:
- 返回:
请求响应。
- 返回类型:
- list_jobs(account_id=None, order_by=None, project_id=None, environment_id=None, name_contains=None)[source]¶
检索与指定 dbt Cloud 账户关联的所有作业的元数据。
如果提供了
project_id
,将仅检索与此项目相关的作业。如果提供了environment_id
,将仅检索与此环境相关的作业。- 参数:
- 返回:
请求响应列表。
- 返回类型:
- get_job_by_name(*, project_name, environment_name, job_name, account_id=None)[source]¶
通过项目、环境和作业名称的组合检索特定作业的元数据。
如果找不到作业或无法通过提供的参数唯一标识作业,则引发 DbtCloudResourceLookupError 异常。
- trigger_job_run(job_id, cause, account_id=None, steps_override=None, schema_override=None, retry_from_failure=False, additional_run_config=None)[source]¶
触发一个 dbt Cloud 作业的运行。
- 参数:
job_id (int) – dbt Cloud 作业的 ID。
cause (str) – 描述触发作业的原因。
account_id (int | None) – 可选。dbt Cloud 账户的 ID。
steps_override (list[str] | None) – 可选。触发作业时要执行的 dbt 命令列表,这些命令将覆盖在 dbt Cloud 中配置的命令。
schema_override (str | None) – 可选。覆盖此作业中配置目标位置的目标 Schema。
retry_from_failure (bool) – 可选。如果设置为 True 并且前一次作业运行失败,将使用“重跑”端点触发作业。此参数不能与 steps_override、schema_override 或 additional_run_config 同时使用。
additional_run_config (dict[str, Any] | None) – 可选。触发作业时 API 请求中应包含的任何附加参数。
- 返回:
请求响应。
- 返回类型:
- list_job_runs(account_id=None, include_related=None, job_definition_id=None, order_by=None)[source]¶
检索某个账号下所有 dbt Cloud 作业运行的元数据。
如果提供了
job_definition_id
,则只拉取该特定作业运行的元数据。- 参数:
account_id (int | None) – 可选。dbt Cloud 账户的 ID。
include_related (list[str] | None) – 可选。与运行一起获取的相关字段列表。有效值包括 “trigger”、“job”、“repository” 和 “environment”。
job_definition_id (int | None) – 可选。要检索运行元数据的 dbt Cloud 作业 ID。
order_by (str | None) – 可选。用于排序结果的字段。使用 ‘-’ 表示反向排序。例如,要按运行 ID 反向排序,请使用
order_by=-id
。
- 返回:
请求响应列表。
- 返回类型:
- get_job_runs(account_id=None, payload=None)[source]¶
检索某个 dbt Cloud 作业特定运行的元数据。
- 参数:
account_id (int | None) – 可选。dbt Cloud 账户的 ID。
paylod – 可选。查询参数
- 返回:
请求响应。
- 返回类型:
- get_job_run(run_id, account_id=None, include_related=None)[source]¶
检索某个 dbt Cloud 作业特定运行的元数据。
- 参数:
- 返回:
请求响应。
- 返回类型:
- wait_for_job_run_status(run_id, account_id=None, expected_statuses=DbtCloudJobRunStatus.SUCCESS.value, check_interval=60, timeout=60 * 60 * 24 * 7)[source]¶
等待 dbt Cloud 作业运行达到预期状态。
- 参数:
- 返回:
一个布尔值,指示作业运行是否已达到
expected_status
状态。- 返回类型:
- list_job_run_artifacts(run_id, account_id=None, step=None)[source]¶
检索已完成的 dbt Cloud 作业运行生成的可用工件文件列表。
默认情况下,此方法返回运行中最后一步的工件。要列出运行中其他步骤的工件,请使用
step
参数。- 参数:
- 返回:
请求响应列表。
- 返回类型:
- get_job_run_artifact(run_id, path, account_id=None, step=None)[source]¶
检索已完成的 dbt Cloud 作业运行生成的可用工件文件列表。
默认情况下,此方法返回运行中最后一步的工件。要列出运行中其他步骤的工件,请使用
step
参数。- 参数:
- 返回:
请求响应。
- 返回类型:
- async get_job_run_artifacts_concurrently(run_id, artifacts, account_id=None, step=None)[source]¶
检索已完成的 dbt Cloud 作业运行中某个步骤生成的选定工件文件列表。
默认情况下,此方法返回运行中最后一步的工件。此方法利用异步调用来加快检索速度。