airflow.providers.google.cloud.triggers.dataflow

属性

DEFAULT_DATAFLOW_LOCATION

TemplateJobStartTrigger

用于检查模板化作业是否完成的 Dataflow 触发器。

DataflowJobStatusTrigger

监控 Dataflow 作业是否已达到任一预期状态的触发器。

DataflowStartYamlJobTrigger

检查 Dataflow YAML 作业状态的 Dataflow 触发器。

DataflowJobMetricsTrigger

检查与 Dataflow 作业相关的指标的触发器。

DataflowJobAutoScalingEventTrigger

检查与 Dataflow 作业相关的自动扩缩事件的触发器。

DataflowJobMessagesTrigger

检查与 Dataflow 作业相关的作业消息的触发器。

模块内容

airflow.providers.google.cloud.triggers.dataflow.DEFAULT_DATAFLOW_LOCATION = 'us-central1'[source]
class airflow.providers.google.cloud.triggers.dataflow.TemplateJobStartTrigger(job_id, project_id, location=DEFAULT_DATAFLOW_LOCATION, gcp_conn_id='google_cloud_default', poll_sleep=10, impersonation_chain=None, cancel_timeout=5 * 60)[source]

继承自: airflow.triggers.base.BaseTrigger

用于检查模板化作业是否完成的 Dataflow 触发器。

参数:
  • project_id (str | None) – 必需。作业启动所在的谷歌云项目 ID。

  • job_id (str) – 必需。作业 ID。

  • location (str) – 可选。作业执行的区域。如果设置为 None,将使用 DEFAULT_DATAFLOW_LOCATION 的值

  • gcp_conn_id (str) – 连接到谷歌云时使用的连接 ID。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选。要使用短期凭证模拟的服务帐号,或获取列表中最后一个帐号的 access_token 所需的帐号链(该帐号将在请求中被模拟)。如果设置为字符串,该帐号必须向发起请求的帐号授予 Service Account Token Creator IAM 角色。如果设置为序列,列表中的身份必须向紧邻的前一个身份授予 Service Account Token Creator IAM 角色,列表中的第一个帐号向发起请求的帐号授予此角色(模板化)。

  • cancel_timeout (int | None) – 可选。当任务被终止时,Operator 应等待多长时间(以秒为单位)才能成功取消管道。

project_id[source]
job_id[source]
location = 'us-central1'[source]
gcp_conn_id = 'google_cloud_default'[source]
poll_sleep = 10[source]
impersonation_chain = None[source]
cancel_timeout = 300[source]
serialize()[source]

序列化类参数和 classpath。

async run()[source]

获取作业状态或生成特定事件。

类的主要循环,用于获取作业状态并生成特定事件。

如果作业状态为成功,则生成状态为成功的 TriggerEvent;如果作业状态为失败,则生成状态为错误的 TriggerEvent。在任何其他情况下,Trigger 将等待存储在 self.poll_sleep 变量中的指定时间。

class airflow.providers.google.cloud.triggers.dataflow.DataflowJobStatusTrigger(job_id, expected_statuses, project_id, location=DEFAULT_DATAFLOW_LOCATION, gcp_conn_id='google_cloud_default', poll_sleep=10, impersonation_chain=None)[source]

继承自: airflow.triggers.base.BaseTrigger

监控 Dataflow 作业是否已达到任一预期状态的触发器。

参数:
  • job_id (str) – 必需。作业 ID。

  • expected_statuses (set[str]) – 操作的预期状态。请参阅: https://cloud.google.com/dataflow/docs/reference/rest/v1b3/projects.jobs#Job.JobState

  • project_id (str | None) – 必需。作业启动所在的谷歌云项目 ID。

  • location (str) – 可选。作业执行的区域。如果设置为 None,将使用 DEFAULT_DATAFLOW_LOCATION 的值。

  • gcp_conn_id (str) – 连接到谷歌云时使用的连接 ID。

  • poll_sleep (int) – 两次连续检查作业调用之间的等待时间(以秒为单位)。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选。要使用短期凭证模拟的服务帐号,或获取列表中最后一个帐号的 access_token 所需的帐号链(该帐号将在请求中被模拟)。如果设置为字符串,该帐号必须向发起请求的帐号授予 Service Account Token Creator IAM 角色。如果设置为序列,列表中的身份必须向紧邻的前一个身份授予 Service Account Token Creator IAM 角色,列表中的第一个帐号向发起请求的帐号授予此角色(模板化)。

job_id[source]
expected_statuses[source]
project_id[source]
location = 'us-central1'[source]
gcp_conn_id = 'google_cloud_default'[source]
poll_sleep = 10[source]
impersonation_chain = None[source]
serialize()[source]

序列化类参数和 classpath。

async run()[source]

循环直到作业达到预期状态或终端状态。

如果客户端返回预期的作业状态,则生成状态为成功的 TriggerEvent。

如果客户端返回意外的终端作业状态或循环期间发生任何异常,则生成状态为错误的 TriggerEvent。

在任何其他情况下,Trigger 将等待存储在 self.poll_sleep 变量中的指定时间量。

property async_hook: airflow.providers.google.cloud.hooks.dataflow.AsyncDataflowHook[source]
class airflow.providers.google.cloud.triggers.dataflow.DataflowStartYamlJobTrigger(job_id, project_id, location=DEFAULT_DATAFLOW_LOCATION, gcp_conn_id='google_cloud_default', poll_sleep=10, cancel_timeout=5 * 60, expected_terminal_state=None, impersonation_chain=None)[source]

继承自: airflow.triggers.base.BaseTrigger

检查 Dataflow YAML 作业状态的 Dataflow 触发器。

参数:
  • job_id (str) – 必需。作业 ID。

  • project_id (str | None) – 必需。作业启动所在的谷歌云项目 ID。

  • location (str) – 作业执行的区域。如果设置为 None,将使用 DEFAULT_DATAFLOW_LOCATION 的值。

  • gcp_conn_id (str) – 连接到谷歌云时使用的连接 ID。

  • poll_sleep (int) – 可选。轮询 Google Cloud Platform 以获取 Dataflow 作业信息之间的等待时间(以秒为单位)。

  • cancel_timeout (int | None) – 可选。当任务被终止时,Operator 应等待多长时间(以秒为单位)才能成功取消管道。

  • expected_terminal_state (str | None) – 可选。Dataflow 作业的预期终端状态,达到该状态时 Operator 任务将被设置为成功。批量作业默认为 'JOB_STATE_DONE',流处理作业默认为 'JOB_STATE_RUNNING'。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选。要使用短期凭证模拟的服务帐号,或获取列表中最后一个帐号的 access_token 所需的帐号链(该帐号将在请求中被模拟)。如果设置为字符串,该帐号必须向发起请求的帐号授予 Service Account Token Creator IAM 角色。如果设置为序列,列表中的身份必须向紧邻的前一个身份授予 Service Account Token Creator IAM 角色,列表中的第一个帐号向发起请求的帐号授予此角色(模板化)。

project_id[source]
job_id[source]
location = 'us-central1'[source]
gcp_conn_id = 'google_cloud_default'[source]
poll_sleep = 10[source]
cancel_timeout = 300[source]
expected_terminal_state = None[source]
impersonation_chain = None[source]
serialize()[source]

序列化类参数和 classpath。

async run()[source]

获取作业并根据作业类型和状态生成事件。

如果作业达到终端状态,则生成 TriggerEvent。否则,将等待存储在 self.poll_sleep 变量中的指定时间量。

class airflow.providers.google.cloud.triggers.dataflow.DataflowJobMetricsTrigger(job_id, project_id, location=DEFAULT_DATAFLOW_LOCATION, gcp_conn_id='google_cloud_default', poll_sleep=10, impersonation_chain=None, fail_on_terminal_state=True)[source]

继承自: airflow.triggers.base.BaseTrigger

检查与 Dataflow 作业相关的指标的触发器。

参数:
  • job_id (str) – 必需。作业 ID。

  • project_id (str | None) – 必需。作业启动所在的谷歌云项目 ID。

  • location (str) – 可选。作业执行的区域。如果设置为 None,将使用 DEFAULT_DATAFLOW_LOCATION 的值。

  • gcp_conn_id (str) – 连接到谷歌云时使用的连接 ID。

  • poll_sleep (int) – 两次连续检查作业调用之间的等待时间(以秒为单位)。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选。要使用短期凭证模拟的服务帐号,或获取列表中最后一个帐号的 access_token 所需的帐号链(该帐号将在请求中被模拟)。如果设置为字符串,该帐号必须向发起请求的帐号授予 Service Account Token Creator IAM 角色。如果设置为序列,列表中的身份必须向紧邻的前一个身份授予 Service Account Token Creator IAM 角色,列表中的第一个帐号向发起请求的帐号授予此角色(模板化)。

  • fail_on_terminal_state (bool) – 如果设置为 True,并且作业达到终端状态,则触发器将生成状态为错误的 TriggerEvent。

project_id[source]
job_id[source]
location = 'us-central1'[source]
gcp_conn_id = 'google_cloud_default'[source]
poll_sleep = 10[source]
impersonation_chain = None[source]
fail_on_terminal_state = True[source]
serialize()[source]

序列化类参数和 classpath。

async run()[source]

循环直到返回终端作业状态或任何作业指标。

如果客户端返回任何作业指标且 fail_on_terminal_state 属性为 False,则生成状态为成功的 TriggerEvent。

如果客户端返回终端状态的作业状态且 fail_on_terminal_state 属性为 True,则生成状态为错误的 TriggerEvent。

如果循环期间发生任何异常,则生成状态为错误的 TriggerEvent。

在任何其他情况下,Trigger 将等待存储在 self.poll_sleep 变量中的指定时间量。

async get_job_metrics()[source]

等待 Dataflow 客户端响应,然后将其序列化为列表并返回。

property async_hook: airflow.providers.google.cloud.hooks.dataflow.AsyncDataflowHook[source]
class airflow.providers.google.cloud.triggers.dataflow.DataflowJobAutoScalingEventTrigger(job_id, project_id, location=DEFAULT_DATAFLOW_LOCATION, gcp_conn_id='google_cloud_default', poll_sleep=10, impersonation_chain=None, fail_on_terminal_state=True)[source]

继承自: airflow.triggers.base.BaseTrigger

检查与 Dataflow 作业相关的自动扩缩事件的触发器。

参数:
  • job_id (str) – 必需。作业 ID。

  • project_id (str | None) – 必需。作业启动所在的谷歌云项目 ID。

  • location (str) – 可选。作业执行的区域。如果设置为 None,将使用 DEFAULT_DATAFLOW_LOCATION 的值。

  • gcp_conn_id (str) – 连接到谷歌云时使用的连接 ID。

  • poll_sleep (int) – 两次连续检查作业调用之间的等待时间(以秒为单位)。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选。要使用短期凭证模拟的服务帐号,或获取列表中最后一个帐号的 access_token 所需的帐号链(该帐号将在请求中被模拟)。如果设置为字符串,该帐号必须向发起请求的帐号授予 Service Account Token Creator IAM 角色。如果设置为序列,列表中的身份必须向紧邻的前一个身份授予 Service Account Token Creator IAM 角色,列表中的第一个帐号向发起请求的帐号授予此角色(模板化)。

  • fail_on_terminal_state (bool) – 如果设置为 True,并且作业达到终端状态,则触发器将生成状态为错误的 TriggerEvent。

project_id[source]
job_id[source]
location = 'us-central1'[source]
gcp_conn_id = 'google_cloud_default'[source]
poll_sleep = 10[source]
impersonation_chain = None[source]
fail_on_terminal_state = True[source]
serialize()[source]

序列化类参数和 classpath。

async run()[source]

循环直到返回终端作业状态或任何自动扩缩事件。

如果客户端返回任何自动扩缩事件且 fail_on_terminal_state 属性为 False,则生成一个状态为 success 的 TriggerEvent。

如果客户端返回终端状态的作业状态且 fail_on_terminal_state 属性为 True,则生成状态为错误的 TriggerEvent。

如果循环期间发生任何异常,则生成状态为错误的 TriggerEvent。

在任何其他情况下,Trigger 将等待存储在 self.poll_sleep 变量中的指定时间量。

async list_job_autoscaling_events()[source]

等待 Dataflow 客户端响应,然后将其序列化为列表并返回。

property async_hook: airflow.providers.google.cloud.hooks.dataflow.AsyncDataflowHook[source]
class airflow.providers.google.cloud.triggers.dataflow.DataflowJobMessagesTrigger(job_id, project_id, location=DEFAULT_DATAFLOW_LOCATION, gcp_conn_id='google_cloud_default', poll_sleep=10, impersonation_chain=None, fail_on_terminal_state=True)[source]

继承自: airflow.triggers.base.BaseTrigger

检查与 Dataflow 作业相关的作业消息的触发器。

参数:
  • job_id (str) – 必需。作业 ID。

  • project_id (str | None) – 必需。作业启动所在的谷歌云项目 ID。

  • location (str) – 可选。作业执行的区域。如果设置为 None,将使用 DEFAULT_DATAFLOW_LOCATION 的值。

  • gcp_conn_id (str) – 连接到谷歌云时使用的连接 ID。

  • poll_sleep (int) – 两次连续检查作业调用之间的等待时间(以秒为单位)。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选。要使用短期凭证模拟的服务帐号,或获取列表中最后一个帐号的 access_token 所需的帐号链(该帐号将在请求中被模拟)。如果设置为字符串,该帐号必须向发起请求的帐号授予 Service Account Token Creator IAM 角色。如果设置为序列,列表中的身份必须向紧邻的前一个身份授予 Service Account Token Creator IAM 角色,列表中的第一个帐号向发起请求的帐号授予此角色(模板化)。

  • fail_on_terminal_state (bool) – 如果设置为 True,并且作业达到终端状态,则触发器将生成状态为错误的 TriggerEvent。

project_id[source]
job_id[source]
location = 'us-central1'[source]
gcp_conn_id = 'google_cloud_default'[source]
poll_sleep = 10[source]
impersonation_chain = None[source]
fail_on_terminal_state = True[source]
serialize()[source]

序列化类参数和 classpath。

async run()[source]

循环直到返回终端作业状态或任何作业消息。

如果客户端返回任何作业消息且 fail_on_terminal_state 属性为 False,则生成一个状态为 success 的 TriggerEvent。

如果客户端返回终端状态的作业状态且 fail_on_terminal_state 属性为 True,则生成状态为错误的 TriggerEvent。

如果循环期间发生任何异常,则生成状态为错误的 TriggerEvent。

在任何其他情况下,Trigger 将等待存储在 self.poll_sleep 变量中的指定时间量。

async list_job_messages()[source]

等待 Dataflow 客户端响应,然后将其序列化为列表并返回。

property async_hook: airflow.providers.google.cloud.hooks.dataflow.AsyncDataflowHook[source]

此条目有帮助吗?