airflow.providers.google.cloud.hooks.tasks

此模块包含一个 CloudTasksHook,允许您连接到 Google Cloud Tasks 服务。

模块内容

CloudTasksHook

用于 Google Cloud Tasks API 的 Hook。

class airflow.providers.google.cloud.hooks.tasks.CloudTasksHook(gcp_conn_id='google_cloud_default', impersonation_chain=None, **kwargs)[源代码]

基类:airflow.providers.google.common.hooks.base_google.GoogleBaseHook

用于 Google Cloud Tasks API 的 Hook。

Cloud Tasks 允许开发人员管理其应用程序中后台工作的执行。

hook 中所有使用 project_id 的方法都必须使用关键字参数而不是位置参数进行调用。

参数
  • gcp_conn_id (str) – 获取连接信息时使用的连接 ID。

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

get_conn()[源代码]

提供用于与 Google Cloud Tasks API 交互的客户端。

返回

Google Cloud Tasks API 客户端

返回类型

google.cloud.tasks_v2.CloudTasksClient

create_queue(location, task_queue, project_id=PROVIDE_PROJECT_ID, queue_name=None, retry=DEFAULT, timeout=None, metadata=())[源代码]

在 Cloud Tasks 中创建一个队列。

参数
  • location (str) – 将在其中创建队列的位置名称。

  • task_queue (dict | google.cloud.tasks_v2.types.Queue) – 要创建的任务队列。队列的名称不能与现有队列相同。如果提供 dict,则其格式必须与 protobuf 消息 Queue 的格式相同。

  • project_id (str) – (可选)拥有 Cloud Tasks 的 Google Cloud 项目的 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。

  • queue_name (str | None) – (可选)队列的名称。如果提供,它将用于构造完整的队列路径。

  • retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – (可选)用于重试请求的重试对象。如果未指定,则不会重试请求。

  • timeout (float | None) – (可选)等待请求完成的时间量,以秒为单位。请注意,如果指定了重试,则超时时间适用于每次尝试。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – (可选)提供给方法的其他元数据。

update_queue(task_queue, project_id=PROVIDE_PROJECT_ID, location=None, queue_name=None, update_mask=None, retry=DEFAULT, timeout=None, metadata=())[源代码]

更新 Cloud Tasks 中的队列。

参数
  • task_queue (google.cloud.tasks_v2.types.Queue) – 要更新的任务队列。如果队列不存在,此方法会创建队列;如果队列存在,则会更新队列。必须指定队列的名称。

  • project_id (str) – (可选)拥有 Cloud Tasks 的 Google Cloud 项目的 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。

  • location (str | None) – (可选)将在其中更新队列的位置名称。如果提供,它将用于构造完整的队列路径。

  • queue_name (str | None) – (可选)队列的名称。如果提供,它将用于构造完整的队列路径。

  • update_mask (google.protobuf.field_mask_pb2.FieldMask | None) – 用于指定正在更新队列的哪些字段的掩码。如果为空,则将更新所有字段。如果提供 dict,则其格式必须与 protobuf 消息的格式相同。

  • retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – (可选)用于重试请求的重试对象。如果未指定,则不会重试请求。

  • timeout (float | None) – (可选)等待请求完成的时间量,以秒为单位。请注意,如果指定了重试,则超时时间适用于每次尝试。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – (可选)提供给方法的其他元数据。

get_queue(location, queue_name, project_id=PROVIDE_PROJECT_ID, retry=DEFAULT, timeout=None, metadata=())[源代码]

从 Cloud Tasks 获取队列。

参数
  • location (str) – 创建队列的位置名称。

  • queue_name (str) – 队列的名称。

  • project_id (str) – (可选)拥有 Cloud Tasks 的 Google Cloud 项目的 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。

  • retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – (可选)用于重试请求的重试对象。如果未指定,则不会重试请求。

  • timeout (float | None) – (可选)等待请求完成的时间量,以秒为单位。请注意,如果指定了重试,则超时时间适用于每次尝试。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – (可选)提供给方法的其他元数据。

list_queues(location, project_id=PROVIDE_PROJECT_ID, results_filter=None, page_size=None, retry=DEFAULT, timeout=None, metadata=())[源代码]

列出 Cloud Tasks 中的队列。

参数
  • location (str) – 创建队列的位置名称。

  • project_id (str) – (可选)拥有 Cloud Tasks 的 Google Cloud 项目的 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。

  • results_filter (str | None) – (可选)用于指定队列子集的过滤器。

  • page_size (int | None) – (可选)底层 API 响应中包含的最大资源数量。

  • retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – (可选)用于重试请求的重试对象。如果未指定,则不会重试请求。

  • timeout (float | None) – (可选)等待请求完成的时间量,以秒为单位。请注意,如果指定了重试,则超时时间适用于每次尝试。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – (可选)提供给方法的其他元数据。

delete_queue(location, queue_name, project_id=PROVIDE_PROJECT_ID, retry=DEFAULT, timeout=None, metadata=())[源代码]

从 Cloud Tasks 中删除一个队列,即使该队列中有任务。

参数
  • location (str) – 要删除队列的位置名称。

  • queue_name (str) – 队列的名称。

  • project_id (str) – (可选)拥有 Cloud Tasks 的 Google Cloud 项目的 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。

  • retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – (可选)用于重试请求的重试对象。如果未指定,则不会重试请求。

  • timeout (float | None) – (可选)等待请求完成的时间量,以秒为单位。请注意,如果指定了重试,则超时时间适用于每次尝试。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – (可选)提供给方法的其他元数据。

purge_queue(location, queue_name, project_id=PROVIDE_PROJECT_ID, retry=DEFAULT, timeout=None, metadata=())[源代码]

通过删除 Cloud Tasks 中队列的所有任务来清除队列。

参数
  • location (str) – 要清除队列的位置名称。

  • queue_name (str) – 队列的名称。

  • project_id (str) – (可选)拥有 Cloud Tasks 的 Google Cloud 项目的 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。

  • retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – (可选)用于重试请求的重试对象。如果未指定,则不会重试请求。

  • timeout (float | None) – (可选)等待请求完成的时间量,以秒为单位。请注意,如果指定了重试,则超时时间适用于每次尝试。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – (可选)提供给方法的其他元数据。

pause_queue(location, queue_name, project_id=PROVIDE_PROJECT_ID, retry=DEFAULT, timeout=None, metadata=())[源代码]

暂停 Cloud Tasks 中的队列。

参数
  • location (str) – 要暂停队列的位置名称。

  • queue_name (str) – 队列的名称。

  • project_id (str) – (可选)拥有 Cloud Tasks 的 Google Cloud 项目的 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。

  • retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – (可选)用于重试请求的重试对象。如果未指定,则不会重试请求。

  • timeout (float | None) – (可选)等待请求完成的时间量,以秒为单位。请注意,如果指定了重试,则超时时间适用于每次尝试。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – (可选)提供给方法的其他元数据。

resume_queue(location, queue_name, project_id=PROVIDE_PROJECT_ID, retry=DEFAULT, timeout=None, metadata=())[源代码]

恢复 Cloud Tasks 中的队列。

参数
  • location (str) – 要恢复队列的位置名称。

  • queue_name (str) – 队列的名称。

  • project_id (str) – (可选)拥有 Cloud Tasks 的 Google Cloud 项目的 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。

  • retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – (可选)用于重试请求的重试对象。如果未指定,则不会重试请求。

  • timeout (float | None) – (可选)等待请求完成的时间量,以秒为单位。请注意,如果指定了重试,则超时时间适用于每次尝试。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – (可选)提供给方法的其他元数据。

create_task(location, queue_name, task, project_id=PROVIDE_PROJECT_ID, task_name=None, response_view=None, retry=DEFAULT, timeout=None, metadata=())[源代码]

在 Cloud Tasks 中创建一个任务。

参数
  • location (str) – 将创建任务的位置名称。

  • queue_name (str) – 队列的名称。

  • task (dict | google.cloud.tasks_v2.types.Task) – 要添加的任务。 如果提供了字典,则其形式必须与 protobuf 消息 Task 的形式相同。

  • project_id (str) – (可选)拥有 Cloud Tasks 的 Google Cloud 项目的 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。

  • task_name (str | None) – (可选)任务的名称。 如果提供,它将用于构造完整的任务路径。

  • response_view (google.cloud.tasks_v2.types.Task.View | None) – (可选)此字段指定将返回 Task 的哪个子集。

  • retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – (可选)用于重试请求的重试对象。如果未指定,则不会重试请求。

  • timeout (float | None) – (可选)等待请求完成的时间量,以秒为单位。请注意,如果指定了重试,则超时时间适用于每次尝试。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – (可选)提供给方法的其他元数据。

get_task(location, queue_name, task_name, project_id=PROVIDE_PROJECT_ID, response_view=None, retry=DEFAULT, timeout=None, metadata=())[源代码]

从 Cloud Tasks 获取任务。

参数
  • location (str) – 创建任务的位置名称。

  • queue_name (str) – 队列的名称。

  • task_name (str) – 任务的名称。

  • project_id (str) – (可选)拥有 Cloud Tasks 的 Google Cloud 项目的 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。

  • response_view (google.cloud.tasks_v2.types.Task.View | None) – (可选)此字段指定将返回 Task 的哪个子集。

  • retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – (可选)用于重试请求的重试对象。如果未指定,则不会重试请求。

  • timeout (float | None) – (可选)等待请求完成的时间量,以秒为单位。请注意,如果指定了重试,则超时时间适用于每次尝试。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – (可选)提供给方法的其他元数据。

list_tasks(location, queue_name, project_id, response_view=None, page_size=None, retry=DEFAULT, timeout=None, metadata=())[源代码]

列出 Cloud Tasks 中的任务。

参数
  • location (str) – 创建任务的位置名称。

  • queue_name (str) – 队列的名称。

  • project_id (str) – (可选)拥有 Cloud Tasks 的 Google Cloud 项目的 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。

  • response_view (google.cloud.tasks_v2.types.Task.View | None) – (可选)此字段指定将返回 Task 的哪个子集。

  • page_size (int | None) – (可选)底层 API 响应中包含的最大资源数量。

  • retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – (可选)用于重试请求的重试对象。如果未指定,则不会重试请求。

  • timeout (float | None) – (可选)等待请求完成的时间量,以秒为单位。请注意,如果指定了重试,则超时时间适用于每次尝试。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – (可选)提供给方法的其他元数据。

delete_task(location, queue_name, task_name, project_id, retry=DEFAULT, timeout=None, metadata=())[源代码]

从 Cloud Tasks 中删除一个任务。

参数
  • location (str) – 要删除任务的位置名称。

  • queue_name (str) – 队列的名称。

  • task_name (str) – 任务的名称。

  • project_id (str) – (可选)拥有 Cloud Tasks 的 Google Cloud 项目的 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。

  • retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – (可选)用于重试请求的重试对象。如果未指定,则不会重试请求。

  • timeout (float | None) – (可选)等待请求完成的时间量,以秒为单位。请注意,如果指定了重试,则超时时间适用于每次尝试。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – (可选)提供给方法的其他元数据。

run_task(location, queue_name, task_name, project_id, response_view=None, retry=DEFAULT, timeout=None, metadata=())[source]

强制在 Cloud Tasks 中运行任务。

参数
  • location (str) – 创建任务的位置名称。

  • queue_name (str) – 队列的名称。

  • task_name (str) – 任务的名称。

  • project_id (str) – (可选)拥有 Cloud Tasks 的 Google Cloud 项目的 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。

  • response_view (google.cloud.tasks_v2.types.Task.View | None) – (可选)此字段指定将返回 Task 的哪个子集。

  • retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – (可选)用于重试请求的重试对象。如果未指定,则不会重试请求。

  • timeout (float | None) – (可选)等待请求完成的时间量,以秒为单位。请注意,如果指定了重试,则超时时间适用于每次尝试。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – (可选)提供给方法的其他元数据。

此条目是否有帮助?