airflow.providers.google.cloud.triggers.dataflow

模块内容

TemplateJobStartTrigger

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

DataflowJobStatusTrigger

触发器,用于监视 Dataflow 作业是否已达到任何预期状态。

DataflowStartYamlJobTrigger

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

DataflowJobMetricsTrigger

触发器,用于检查与 Dataflow 作业关联的指标。

DataflowJobAutoScalingEventTrigger

触发器,用于检查与 Dataflow 作业关联的自动缩放事件。

DataflowJobMessagesTrigger

触发器,用于检查与 Dataflow 作业关联的作业消息。

属性

DEFAULT_DATAFLOW_LOCATION

airflow.providers.google.cloud.triggers.dataflow.DEFAULT_DATAFLOW_LOCATION = 'us-central1'[源代码]
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)[源代码]

基类: airflow.triggers.base.BaseTrigger

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

参数
  • project_id (str | None) – 必需。启动作业的 Google Cloud 项目 ID。

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

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

  • gcp_conn_id (str) – 用于连接到 Google Cloud 的连接 ID。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选。使用短期凭据模拟的服务帐户,或获取列表中最后一个帐户的 access_token 所需的链式帐户列表,该帐户将在请求中被模拟。如果设置为字符串,则该帐户必须授予发起帐户“服务帐户令牌创建者”IAM 角色。如果设置为序列,则列表中的身份必须将“服务帐户令牌创建者”IAM 角色授予直接前面的身份,并且列表中的第一个帐户必须将此角色授予发起帐户(已模板化)。

  • cancel_timeout (int | None) – 可选。当任务被终止时,操作符应等待管道成功取消的时间(以秒为单位)。

serialize()[源代码]

序列化类参数和类路径。

async run()[源代码]

获取作业状态或生成某些事件。

该类的主循环,在该循环中获取作业状态并生成某些事件。

如果作业状态为成功,则生成带有成功状态的 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)[源代码]

基类: 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) – 必需。启动作业的 Google Cloud 项目 ID。

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

  • gcp_conn_id (str) – 用于连接到 Google Cloud 的连接 ID。

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

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选。使用短期凭据模拟的服务帐户,或获取列表中最后一个帐户的 access_token 所需的链式帐户列表,该帐户将在请求中被模拟。如果设置为字符串,则该帐户必须授予发起帐户“服务帐户令牌创建者”IAM 角色。如果设置为序列,则列表中的身份必须将“服务帐户令牌创建者”IAM 角色授予直接前面的身份,并且列表中的第一个帐户必须将此角色授予发起帐户(已模板化)。

serialize()[源代码]

序列化类参数和类路径。

async run()[源代码]

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

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

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

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

async_hook()[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 触发器,用于检查 Dataflow YAML 作业的状态。

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

  • project_id (str | None) – 必需。启动作业的 Google Cloud 项目 ID。

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

  • gcp_conn_id (str) – 用于连接到 Google Cloud 的连接 ID。

  • poll_sleep (int) – 可选。轮询 Google Cloud Platform 获取 Dataflow 作业的时间间隔,单位为秒。

  • cancel_timeout (int | None) – 可选。当任务被终止时,操作符应等待管道成功取消的时间(以秒为单位)。

  • expected_terminal_state (str | None) – 可选。Dataflow 作业的预期终端状态,达到此状态时,运算符任务将设置为成功。批处理作业默认为 ‘JOB_STATE_DONE’,流处理作业默认为 ‘JOB_STATE_RUNNING’。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选。使用短期凭据模拟的服务帐户,或获取列表中最后一个帐户的 access_token 所需的链式帐户列表,该帐户将在请求中被模拟。如果设置为字符串,则该帐户必须授予发起帐户“服务帐户令牌创建者”IAM 角色。如果设置为序列,则列表中的身份必须将“服务帐户令牌创建者”IAM 角色授予直接前面的身份,并且列表中的第一个帐户必须将此角色授予发起帐户(已模板化)。

serialize()[source]

序列化类参数和类路径。

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) – 必需。启动作业的 Google Cloud 项目 ID。

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

  • gcp_conn_id (str) – 用于连接到 Google Cloud 的连接 ID。

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

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选。使用短期凭据模拟的服务帐户,或获取列表中最后一个帐户的 access_token 所需的链式帐户列表,该帐户将在请求中被模拟。如果设置为字符串,则该帐户必须授予发起帐户“服务帐户令牌创建者”IAM 角色。如果设置为序列,则列表中的身份必须将“服务帐户令牌创建者”IAM 角色授予直接前面的身份,并且列表中的第一个帐户必须将此角色授予发起帐户(已模板化)。

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

serialize()[source]

序列化类参数和类路径。

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 客户端响应,然后将其以序列化列表的形式返回。

async_hook()[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) – 必需。启动作业的 Google Cloud 项目 ID。

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

  • gcp_conn_id (str) – 用于连接到 Google Cloud 的连接 ID。

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

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选。使用短期凭据模拟的服务帐户,或获取列表中最后一个帐户的 access_token 所需的链式帐户列表,该帐户将在请求中被模拟。如果设置为字符串,则该帐户必须授予发起帐户“服务帐户令牌创建者”IAM 角色。如果设置为序列,则列表中的身份必须将“服务帐户令牌创建者”IAM 角色授予直接前面的身份,并且列表中的第一个帐户必须将此角色授予发起帐户(已模板化)。

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

serialize()[source]

序列化类参数和类路径。

async run()[source]

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

如果客户端返回任何自动缩放事件且 fail_on_terminal_state 属性为 False,则生成具有成功状态的 TriggerEvent。

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

如果在循环时引发任何异常,则生成带有错误状态的 TriggerEvent。

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

async list_job_autoscaling_events()[source]

等待 Dataflow 客户端响应,然后将其以序列化列表的形式返回。

async_hook()[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) – 必需。启动作业的 Google Cloud 项目 ID。

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

  • gcp_conn_id (str) – 用于连接到 Google Cloud 的连接 ID。

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

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选。使用短期凭据模拟的服务帐户,或获取列表中最后一个帐户的 access_token 所需的链式帐户列表,该帐户将在请求中被模拟。如果设置为字符串,则该帐户必须授予发起帐户“服务帐户令牌创建者”IAM 角色。如果设置为序列,则列表中的身份必须将“服务帐户令牌创建者”IAM 角色授予直接前面的身份,并且列表中的第一个帐户必须将此角色授予发起帐户(已模板化)。

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

serialize()[源代码]

序列化类参数和类路径。

async run()[源代码]

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

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

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

如果在循环时引发任何异常,则生成带有错误状态的 TriggerEvent。

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

async list_job_messages()[源代码]

等待 Dataflow 客户端响应,然后将其以序列化列表的形式返回。

async_hook()[源代码]

此条目是否有帮助?