airflow.providers.google.cloud.operators.dataflow

此模块包含 Google Dataflow 操作器。

CheckJobRunning

用于选择如果作业已在运行时的操作的辅助 enum。

DataflowConfiguration

用于 BeamRunJavaPipelineOperator 和 BeamRunPythonPipelineOperator 的 Dataflow 配置。

DataflowTemplatedJobStartOperator

使用经典模板启动 Dataflow 作业;操作的参数将传递给作业。

DataflowStartFlexTemplateOperator

使用 Flex 模板启动 Dataflow 作业。

DataflowStartYamlJobOperator

启动 Dataflow YAML 作业并返回结果。

DataflowStopJobOperator

停止具有指定名称前缀或作业 ID 的作业。

DataflowCreatePipelineOperator

创建新的 Dataflow 数据管道实例。

DataflowRunPipelineOperator

运行 Dataflow 数据管道。

DataflowDeletePipelineOperator

删除 Dataflow 数据管道。

模块内容

class airflow.providers.google.cloud.operators.dataflow.CheckJobRunning[源码]

基类:enum.Enum

用于选择如果作业已在运行时的操作的辅助 enum。

IgnoreJob - 不检查是否正在运行 FinishIfRunning - 如果正在运行则完成当前的 dag 运行而不执行任何操作 WaitForRun - 等待作业完成,然后继续执行新作业

IgnoreJob = 1[源码]
FinishIfRunning = 2[源码]
WaitForRun = 3[源码]
class airflow.providers.google.cloud.operators.dataflow.DataflowConfiguration(*, job_name=None, append_job_name=True, project_id=PROVIDE_PROJECT_ID, location=DEFAULT_DATAFLOW_LOCATION, gcp_conn_id='google_cloud_default', poll_sleep=10, impersonation_chain=None, drain_pipeline=False, cancel_timeout=5 * 60, wait_until_finished=None, multiple_jobs=None, check_if_running=CheckJobRunning.WaitForRun, service_account=None)[源码]

用于 BeamRunJavaPipelineOperator 和 BeamRunPythonPipelineOperator 的 Dataflow 配置。

参数
  • job_name (str | None) – 执行 Dataflow 作业时使用的“jobName”(模板化)。这最终会设置在管道选项中,因此 `options` 中键为 'jobName''job_name' 的任何条目都将被覆盖。

  • append_job_name (bool) – 如果需要在作业名称后附加唯一后缀,则为 True。

  • project_id (str) – 可选,要在其中启动作业的 Google Cloud 项目 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。

  • location (str | None) – 作业位置。

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

  • poll_sleep (int) – 当作业处于 JOB_STATE_RUNNING 状态时,轮询 Google Cloud Platform 获取 dataflow 作业状态之间的睡眠时间(以秒为单位)。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) –

    可选的服务帐号,使用短期凭据进行模拟,或者获取列表中最后一个帐号的 access_token 所需的链式帐号列表,该帐号将在请求中被模拟。如果设置为字符串,则原始帐号必须向该帐号授予 Service Account Token Creator IAM 角色。如果设置为序列,则列表中身份必须向紧接之前的身份授予 Service Account Token Creator IAM 角色,列表中第一个帐号向原始帐号授予此角色(模板化)。

    警告

    此选项需要 Apache Beam 2.39.0 或更新版本。

  • drain_pipeline (bool) – 可选,如果想在杀死任务实例期间通过耗尽管道而不是取消来停止流式作业,请设置为 True。参阅:https://cloud.google.com/dataflow/docs/guides/stopping-a-pipeline

  • cancel_timeout (int | None) – 在任务被杀死时,操作器应等待管道成功取消的时间(以秒为单位)。(可选)默认为 300 秒

  • wait_until_finished (bool | None) –

    (可选)如果为 True,则在退出前等待管道执行结束。如果为 False,则仅提交作业。如果为 None,则采用默认行为。

    默认行为取决于管道类型

    • 对于流式管道,等待作业启动,

    • 对于批处理管道,等待作业完成。

    警告

    您不能在管道代码中调用 PipelineResult.wait_until_finish 方法以使操作器正常工作。即,您必须使用异步执行。否则,您的管道将始终等待直到完成。有关更多信息,请参阅:异步执行

    在 Airflow 中启动 Dataflow 作业的过程包括两个步骤:* 运行子进程并读取 stderr/stderr 日志以获取作业 ID。* 循环等待上一步中的作业 ID 结束,通过检查其状态。

    步骤二在步骤一完成后立即开始,因此如果您的管道代码中有 wait_until_finished,步骤二直到进程停止才会开始。当此进程停止时,步骤二将运行,但由于作业将处于终端状态,它只会执行一次迭代。

    如果您在管道中不调用 wait_for_pipeline 方法但将 wait_until_finish=True 传递给操作器,则第二个循环将等待作业的终端状态。

    如果您在管道中不调用 wait_for_pipeline 方法,并且将 wait_until_finish=False 传递给操作器,则第二个循环将检查一次作业是否未处于终端状态并退出循环。

  • multiple_jobs (bool | None) – 如果管道创建多个作业,则监控所有作业。仅由 BeamRunJavaPipelineOperator 支持。

  • check_if_running (CheckJobRunning) – 在运行作业之前,验证之前的运行是否未在进行中。仅由以下操作器支持:BeamRunJavaPipelineOperator

  • service_account (str | None) – 以特定服务帐号运行作业,而不是默认的 GCE 机器人。

template_fields: collections.abc.Sequence[
job_name = None[源码]
append_job_name = True[源码]
project_id = None[源码]
location = 'us-central1'[源码]
gcp_conn_id = 'google_cloud_default'[源码]
poll_sleep = 10[源码]
impersonation_chain = None[源码]
drain_pipeline = False[源码]
cancel_timeout = 300[源码]
wait_until_finished = None[源码]
multiple_jobs = None[源码]
check_if_running[源码]
service_account = None[源码]
class airflow.providers.google.cloud.operators.dataflow.DataflowTemplatedJobStartOperator(*, template, project_id=PROVIDE_PROJECT_ID, job_name='{{task.task_id}}', options=None, dataflow_default_options=None, parameters=None, location=None, gcp_conn_id='google_cloud_default', poll_sleep=10, impersonation_chain=None, environment=None, cancel_timeout=10 * 60, wait_until_finished=None, append_job_name=True, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), expected_terminal_state=None, **kwargs)[源码]

基类:airflow.providers.google.cloud.operators.cloud_base.GoogleCloudBaseOperator

使用经典模板启动 Dataflow 作业;操作的参数将传递给作业。

参阅

有关如何使用此操作器的更多信息,请参阅指南:模板化作业

参数
  • template (str) – Dataflow 模板的引用。

  • job_name (str) – 执行 Dataflow 模板时使用的“jobName”(模板化)。

  • options (dict[str, Any] | None) –

    作业运行时环境选项的映射。如果传递,它将更新环境参数。

    参阅

    有关可能配置的更多信息,请参阅 API 文档 https://cloud.google.com/dataflow/pipelines/specifying-exec-params

  • dataflow_default_options (dict[str, Any] | None) – 默认作业环境选项的映射。

  • parameters (dict[str, str] | None) – 模板的作业特定参数映射。

  • project_id (str) – 可选,要在其中启动作业的 Google Cloud 项目 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。

  • location (str | None) – 作业位置。

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

  • poll_sleep (int) – 当作业处于 JOB_STATE_RUNNING 状态时,轮询 Google Cloud Platform 获取 dataflow 作业状态之间的睡眠时间(以秒为单位)。

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

  • environment (dict | None) –

    可选,作业运行时环境选项的映射。

    参阅

    有关可能配置的更多信息,请参阅 API 文档 https://cloud.google.com/dataflow/pipelines/specifying-exec-params

  • cancel_timeout (int | None) – 在任务被杀死时,操作器应等待管道成功取消的时间(以秒为单位)。

  • append_job_name (bool) – 如果需要在作业名称后附加唯一后缀,则为 True。

  • wait_until_finished (bool | None) –

    (可选)如果为 True,则在退出前等待管道执行结束。如果为 False,则仅提交作业。如果为 None,则采用默认行为。

    默认行为取决于管道类型

    • 对于流式管道,等待作业启动,

    • 对于批处理管道,等待作业完成。

    警告

    您不能在管道代码中调用 PipelineResult.wait_until_finish 方法以使操作器正常工作。即,您必须使用异步执行。否则,您的管道将始终等待直到完成。有关更多信息,请参阅:异步执行

    在 Airflow 中启动 Dataflow 作业的过程包括两个步骤

    • 运行子进程并读取 stderr/stderr 日志以获取作业 ID。

    • 循环等待上一步中的作业 ID 结束。此循环检查作业的状态。

    步骤二在步骤一完成后立即开始,因此如果您的管道代码中有 wait_until_finished,步骤二直到进程停止才会开始。当此进程停止时,步骤二将运行,但由于作业将处于终端状态,它只会执行一次迭代。

    如果您在管道中不调用 wait_for_pipeline 方法但将 wait_until_finish=True 传递给操作器,则第二个循环将等待作业的终端状态。

    如果您在管道中不调用 wait_for_pipeline 方法,并且将 wait_until_finish=False 传递给操作器,则第二个循环将检查一次作业是否未处于终端状态并退出循环。

  • expected_terminal_state (str | None) – 操作器预期的终端状态,Airflow 任务在该状态下成功。如果未指定,将由 hook 确定。

建议在 dag 的 default_args 中定义 dataflow_* 参数,如项目、区域和 staging 位置。

default_args = {
    "dataflow_default_options": {
        "zone": "europe-west1-d",
        "tempLocation": "gs://my-staging-bucket/staging/",
    }
}

您需要将 Dataflow 模板的路径作为文件引用通过 template 参数传递。使用 parameters 将参数传递给您的作业。使用 environment 将运行时环境变量传递给您的作业。

t1 = DataflowTemplatedJobStartOperator(
    task_id="dataflow_example",
    template="{{var.value.gcp_dataflow_base}}",
    parameters={
        "inputFile": "gs://bucket/input/my_input.txt",
        "outputFile": "gs://bucket/output/my_output.txt",
    },
    gcp_conn_id="airflow-conn-id",
    dag=my_dag,
)

templatedataflow_default_optionsparametersjob_name 都是模板化的,因此您可以在其中使用变量。

请注意,dataflow_default_options 旨在保存适用于 DAG 中所有 dataflow 操作器的高级选项,例如项目信息。

参数

deferrable (bool) – 在可推迟模式下运行操作器。

template_fields: collections.abc.Sequence[
ui_color = '#0273d4'[源码]
template[源码]
job_name = '{{task.task_id}}'[source]
options[source]
dataflow_default_options[source]
parameters[source]
project_id = None[source]
location = None[source]
gcp_conn_id = 'google_cloud_default'[source]
poll_sleep = 10[source]
impersonation_chain = None[source]
environment = None[source]
cancel_timeout = 600[source]
wait_until_finished = None[source]
append_job_name = True[source]
deferrable = True[source]
expected_terminal_state = None[source]
job: dict[str, str] | None = None[source]
property hook: airflow.providers.google.cloud.hooks.dataflow.DataflowHook[source]
execute(context)[source]

在创建 Operator 时派生。

Context 与渲染 Jinja 模板时使用的字典相同。

有关更多 Context,请参阅 get_template_context。

execute_complete(context, event)[source]

在触发器完成其工作后执行。

on_kill()[source]

重写此方法可在任务实例被杀死时清理子进程。

Operator 中对 threading、subprocess 或 multiprocessing 模块的任何使用都需要清理,否则会留下僵尸进程。

class airflow.providers.google.cloud.operators.dataflow.DataflowStartFlexTemplateOperator(body, location, project_id=PROVIDE_PROJECT_ID, gcp_conn_id='google_cloud_default', drain_pipeline=False, cancel_timeout=10 * 60, wait_until_finished=None, impersonation_chain=None, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), append_job_name=True, expected_terminal_state=None, poll_sleep=10, *args, **kwargs)[source]

基类:airflow.providers.google.cloud.operators.cloud_base.GoogleCloudBaseOperator

使用 Flex 模板启动 Dataflow 作业。

参阅

有关如何使用此 Operator 的更多信息,请参阅指南: Templated jobs

参数
  • body (dict) – 请求正文。请参阅: https://cloud.google.com/dataflow/docs/reference/rest/v1b3/projects.locations.flexTemplates/launch#request-body

  • location (str) – Dataflow 作业的位置(例如 europe-west1)

  • project_id (str) – 拥有该作业的 GCP 项目 ID。

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

  • drain_pipeline (bool) – 可选,如果想在杀死任务实例期间通过耗尽管道而不是取消来停止流式作业,请设置为 True。参阅:https://cloud.google.com/dataflow/docs/guides/stopping-a-pipeline

  • cancel_timeout (int | None) – 在任务被杀死时,操作器应等待管道成功取消的时间(以秒为单位)。

  • wait_until_finished (bool | None) –

    (可选)如果为 True,则在退出前等待管道执行结束。如果为 False,则仅提交作业。如果为 None,则采用默认行为。

    默认行为取决于管道类型

    • 对于流式管道,等待作业启动,

    • 对于批处理管道,等待作业完成。

    警告

    您不能在管道代码中调用 PipelineResult.wait_until_finish 方法以使操作器正常工作。即,您必须使用异步执行。否则,您的管道将始终等待直到完成。有关更多信息,请参阅:异步执行

    在 Airflow 中启动 Dataflow 作业的过程包括两个步骤

    • 运行子进程并读取 stderr/stderr 日志以获取作业 ID。

    • 循环等待上一步中的作业 ID 结束。此循环检查作业的状态。

    步骤二在步骤一完成后立即开始,因此如果您的管道代码中有 wait_until_finished,步骤二直到进程停止才会开始。当此进程停止时,步骤二将运行,但由于作业将处于终端状态,它只会执行一次迭代。

    如果您在流水线中没有调用 wait_for_pipeline 方法,而是将 wait_until_finished=True 传递给 Operator,则第二个循环将等待作业的终端状态。

    如果您在流水线中没有调用 wait_for_pipeline 方法,而是将 wait_until_finished=False 传递给 Operator,则第二个循环将检查作业是否不在终端状态并退出循环。

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

  • deferrable (bool) – 在可推迟模式下运行操作器。

  • expected_terminal_state (str | None) – Operator 的预期最终状态,相应的 Airflow 任务在此状态下视为成功。未指定时,将由 Hook 确定。

  • append_job_name (bool) – 如果需要在作业名称后附加唯一后缀,则为 True。

  • poll_sleep (int) – 当作业处于 JOB_STATE_RUNNING 状态时,轮询 Google Cloud Platform 获取 dataflow 作业状态之间的睡眠时间(以秒为单位)。

template_fields: collections.abc.Sequence[str] = ('body', 'location', 'project_id', 'gcp_conn_id')
body[source]
location[source]
project_id = None[source]
gcp_conn_id = 'google_cloud_default'[source]
drain_pipeline = False[source]
cancel_timeout = 600[source]
wait_until_finished = None[source]
job: dict[str, str] | None = None[source]
impersonation_chain = None[source]
deferrable = True[source]
expected_terminal_state = None[source]
append_job_name = True[source]
poll_sleep = 10[source]
property hook: airflow.providers.google.cloud.hooks.dataflow.DataflowHook[source]
execute(context)[source]

在创建 Operator 时派生。

Context 与渲染 Jinja 模板时使用的字典相同。

有关更多 Context,请参阅 get_template_context。

execute_complete(context, event)[source]

在触发器完成其工作后执行。

on_kill()[source]

重写此方法可在任务实例被杀死时清理子进程。

Operator 中对 threading、subprocess 或 multiprocessing 模块的任何使用都需要清理,否则会留下僵尸进程。

class airflow.providers.google.cloud.operators.dataflow.DataflowStartYamlJobOperator(*, job_name, yaml_pipeline_file, region=DEFAULT_DATAFLOW_LOCATION, project_id=PROVIDE_PROJECT_ID, gcp_conn_id='google_cloud_default', append_job_name=True, drain_pipeline=False, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), poll_sleep=10, cancel_timeout=5 * 60, expected_terminal_state=None, jinja_variables=None, options=None, impersonation_chain=None, **kwargs)[source]

基类:airflow.providers.google.cloud.operators.cloud_base.GoogleCloudBaseOperator

启动 Dataflow YAML 作业并返回结果。

参阅

有关如何使用此 Operator 的更多信息,请参阅指南: Dataflow YAML

警告

此 Operator 需要在 Airflow worker 上安装 gcloud 命令(Google Cloud SDK)https://cloud.google.com/sdk/docs/install``

参数
  • job_name (str) – 必需。要分配给 Cloud Dataflow 作业的唯一名称。

  • yaml_pipeline_file (str) – 必需。定义要运行的 YAML 流水线的文件的路径。必须是本地文件或以“gs://”开头的 URL。

  • region (str) – 可选。作业区域端点的区域 ID。默认为“us-central1”。

  • project_id (str) – 必需。拥有该作业的 GCP 项目 ID。如果设置为 None 或缺失,则使用 GCP 连接中的默认 project_id。

  • gcp_conn_id (str) – 可选。用于连接到 GCP 的连接 ID。

  • append_job_name (bool) – 可选。如果必须将唯一的后缀附加到 job_name,则设置为 True。默认为 True。

  • drain_pipeline (bool) – 可选。如果要通过排出(draining)而不是取消(canceling)来停止流式流水线作业(当杀死任务实例时),则设置为 True。请注意,这不适用于批处理流水线作业或 deferrable 模式。默认为 False。更多信息请参见:https://cloud.google.com/dataflow/docs/guides/stopping-a-pipeline

  • deferrable (bool) – 可选。以 deferrable 模式运行 Operator。

  • expected_terminal_state (str | None) – 可选。Dataflow 作业的预期终端状态,Operator 任务在此状态下视为成功。对于批处理作业,默认为“JOB_STATE_DONE”,对于流式作业,默认为“JOB_STATE_RUNNING”。

  • poll_sleep (int) – 可选。轮询 Google Cloud Platform 获取 Dataflow 作业状态之间睡眠的时间(秒)。同步和 deferrable 模式下均使用此值。

  • cancel_timeout (int | None) – 可选。当任务被杀死时,Operator 应等待流水线成功取消的时间(秒)。

  • jinja_variables (dict[str, str] | None) – 可选。用于具体化 yaml 流水线文件的 Jinja2 变量字典。

  • options (dict[str, Any] | None) – 可选。额外的 gcloud 或 Beam 作业参数。它必须是一个字典,其键与 gcloud 中的可选标志名称匹配。支持的标志列表可在以下位置找到:https://cloud.google.com/sdk/gcloud/reference/dataflow/yaml/run。请注意,如果标志不需要值,则其字典值必须为 True 或 None。例如,–log-http 标志可以作为 {‘log-http’: True} 传递。

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

返回值:

包含作业数据的字典。

template_fields: collections.abc.Sequence[str] = ('job_name', 'yaml_pipeline_file', 'jinja_variables', 'options', 'region', 'project_id', 'gcp_conn_id')[source]
template_fields_renderers[source]
job_name[source]
yaml_pipeline_file[source]
region = 'us-central1'[source]
project_id = None[source]
gcp_conn_id = 'google_cloud_default'[source]
append_job_name = True[source]
drain_pipeline = False[source]
deferrable = True[source]
poll_sleep = 10[source]
cancel_timeout = 300[source]
expected_terminal_state = None[source]
options = None[source]
jinja_variables = None[source]
impersonation_chain = None[source]
job_id: str | None = None[source]
execute(context)[source]

在创建 Operator 时派生。

Context 与渲染 Jinja 模板时使用的字典相同。

有关更多 Context,请参阅 get_template_context。

execute_complete(context, event)[source]

在触发器返回事件后执行。

on_kill()[source]

如果任务实例被终止,则取消 Dataflow 作业。

如果任务实例在延迟状态下被终止,则不会调用此方法。

property hook: airflow.providers.google.cloud.hooks.dataflow.DataflowHook[source]
class airflow.providers.google.cloud.operators.dataflow.DataflowStopJobOperator(job_name_prefix=None, job_id=None, project_id=PROVIDE_PROJECT_ID, location=DEFAULT_DATAFLOW_LOCATION, gcp_conn_id='google_cloud_default', poll_sleep=10, impersonation_chain=None, stop_timeout=10 * 60, drain_pipeline=True, **kwargs)[source]

基类:airflow.providers.google.cloud.operators.cloud_base.GoogleCloudBaseOperator

停止具有指定名称前缀或作业 ID 的作业。

所有具有指定名称前缀的作业都将被停止。流式作业默认会耗尽。

参数 job_name_prefixjob_id 互斥。

参阅

有关停止流水线的更多详细信息,请参阅: https://cloud.google.com/dataflow/docs/guides/stopping-a-pipeline

参阅

有关如何使用此操作器的更多信息,请参阅指南: 停止流水线

参数
  • job_name_prefix (str | None) – 指定要停止的作业名称前缀。

  • job_id (str | None) – 指定要停止的作业 ID。

  • project_id (str) – 可选,要在其中启动作业的 Google Cloud 项目 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。

  • location (str) – 可选,作业位置。如果设置为 None 或缺失,则使用 "us-central1"。

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

  • poll_sleep (int) – 在轮询 Google Cloud Platform 以确认 Dataflow 作业状态已停止之间等待的秒数。

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

  • drain_pipeline (bool) – 可选,如果想通过取消而不是耗尽来停止流式作业,请设置为 False。请参阅: https://cloud.google.com/dataflow/docs/guides/stopping-a-pipeline

  • stop_timeout (int | None) – 成功取消/耗尽作业的等待时间(秒)

template_fields = ['job_id', 'project_id', 'impersonation_chain'][source]
poll_sleep = 10[source]
stop_timeout = 600[source]
job_name = None[source]
job_id = None[source]
project_id = None[source]
location = 'us-central1'[source]
gcp_conn_id = 'google_cloud_default'[source]
impersonation_chain = None[source]
hook: airflow.providers.google.cloud.hooks.dataflow.DataflowHook | None = None[source]
drain_pipeline = True[source]
execute(context)[source]

在创建 Operator 时派生。

Context 与渲染 Jinja 模板时使用的字典相同。

有关更多 Context,请参阅 get_template_context。

class airflow.providers.google.cloud.operators.dataflow.DataflowCreatePipelineOperator(*, body, project_id=PROVIDE_PROJECT_ID, location=DEFAULT_DATAFLOW_LOCATION, gcp_conn_id='google_cloud_default', impersonation_chain=None, **kwargs)[source]

基类:airflow.providers.google.cloud.operators.cloud_base.GoogleCloudBaseOperator

创建新的 Dataflow 数据管道实例。

参阅

有关如何使用此操作器的更多信息,请参阅指南: JSON 格式的流水线

参数
  • body (dict) – 请求正文(包含 Pipeline 实例)。请参阅: https://cloud.google.com/dataflow/docs/reference/data-pipelines/rest/v1/projects.locations.pipelines/create#request-body

  • project_id (str) – 拥有该作业的 GCP 项目 ID。

  • location (str) – 指定 Data Pipelines 实例所在的位置(例如 us-central1)。

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

  • impersonation_chain (str | collections.abc.Sequence[str] | None) –

    可选的服务帐号,使用短期凭据进行模拟,或者获取列表中最后一个帐号的 access_token 所需的链式帐号列表,该帐号将在请求中被模拟。如果设置为字符串,则原始帐号必须向该帐号授予 Service Account Token Creator IAM 角色。如果设置为序列,则列表中身份必须向紧接之前的身份授予 Service Account Token Creator IAM 角色,列表中第一个帐号向原始帐号授予此角色(模板化)。

    警告

    此选项需要 Apache Beam 2.39.0 或更新版本。

以 JSON 格式返回创建的 Dataflow 数据流水线实例。

body[source]
project_id = None[source]
location = 'us-central1'[source]
gcp_conn_id = 'google_cloud_default'[source]
impersonation_chain = None[source]
dataflow_hook: airflow.providers.google.cloud.hooks.dataflow.DataflowHook | None = None[source]
pipeline_name[source]
execute(context)[source]

在创建 Operator 时派生。

Context 与渲染 Jinja 模板时使用的字典相同。

有关更多 Context,请参阅 get_template_context。

class airflow.providers.google.cloud.operators.dataflow.DataflowRunPipelineOperator(pipeline_name, project_id=PROVIDE_PROJECT_ID, location=DEFAULT_DATAFLOW_LOCATION, gcp_conn_id='google_cloud_default', impersonation_chain=None, **kwargs)[source]

基类:airflow.providers.google.cloud.operators.cloud_base.GoogleCloudBaseOperator

运行 Dataflow 数据管道。

参阅

有关如何使用此操作器的更多信息,请参阅指南: JSON 格式的流水线

参数
  • pipeline_name (str) – 流水线的显示名称。例如 projects/PROJECT_ID/locations/LOCATION_ID/pipelines/PIPELINE_ID 中,它就是 PIPELINE_ID。

  • project_id (str) – 拥有该作业的 GCP 项目 ID。

  • location (str) – 指定 Data Pipelines 实例所在的位置(例如 us-central1)。

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

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

以 JSON 格式返回创建的作业。

pipeline_name[source]
project_id = None[source]
location = 'us-central1'[source]
gcp_conn_id = 'google_cloud_default'[source]
impersonation_chain = None[source]
dataflow_hook: airflow.providers.google.cloud.hooks.dataflow.DataflowHook | None = None[source]
execute(context)[source]

在创建 Operator 时派生。

Context 与渲染 Jinja 模板时使用的字典相同。

有关更多 Context,请参阅 get_template_context。

class airflow.providers.google.cloud.operators.dataflow.DataflowDeletePipelineOperator(pipeline_name, project_id=PROVIDE_PROJECT_ID, location=DEFAULT_DATAFLOW_LOCATION, gcp_conn_id='google_cloud_default', impersonation_chain=None, **kwargs)[source]

基类:airflow.providers.google.cloud.operators.cloud_base.GoogleCloudBaseOperator

删除 Dataflow 数据管道。

参阅

有关如何使用此操作器的更多信息,请参阅指南: 删除流水线

参数
  • pipeline_name (str) – 流水线的显示名称。例如 projects/PROJECT_ID/locations/LOCATION_ID/pipelines/PIPELINE_ID 中,它就是 PIPELINE_ID。

  • project_id (str) – 拥有该作业的 GCP 项目 ID。

  • location (str) – 指定 Data Pipelines 实例所在的位置(例如 us-central1)。

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

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

pipeline_name[source]
project_id = None[source]
location = 'us-central1'[source]
gcp_conn_id = 'google_cloud_default'[source]
impersonation_chain = None[source]
dataflow_hook: airflow.providers.google.cloud.hooks.dataflow.DataflowHook | None = None[source]
response: dict | None = None[源]
execute(context)[源]

在创建 Operator 时派生。

Context 与渲染 Jinja 模板时使用的字典相同。

有关更多 Context,请参阅 get_template_context。

本条目有帮助吗?