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)[source]

繼承: 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()[source]

提供與 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=())[source]

在 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) – (選填) 用於重試請求的重試物件。如果指定 None,則不會重試請求。

  • timeout (float | None) – (選填) 等待請求完成的時間量 (以秒為單位)。請注意,如果指定 retry,則 timeout 會套用至每個個別嘗試。

  • 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=())[source]

在 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) – (選填) 用於重試請求的重試物件。如果指定 None,則不會重試請求。

  • timeout (float | None) – (選填) 等待請求完成的時間量 (以秒為單位)。請注意,如果指定 retry,則 timeout 會套用至每個個別嘗試。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – (選填) 提供給方法的其他中繼資料。

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

從 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) – (選填) 用於重試請求的重試物件。如果指定 None,則不會重試請求。

  • timeout (float | None) – (選填) 等待請求完成的時間量 (以秒為單位)。請注意,如果指定 retry,則 timeout 會套用至每個個別嘗試。

  • 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=())[source]

從 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) – (選填) 用於重試請求的重試物件。如果指定 None,則不會重試請求。

  • timeout (float | None) – (選填) 等待請求完成的時間量 (以秒為單位)。請注意,如果指定 retry,則 timeout 會套用至每個個別嘗試。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – (選填) 提供給方法的其他中繼資料。

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

從 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) – (選填) 用於重試請求的重試物件。如果指定 None,則不會重試請求。

  • timeout (float | None) – (選填) 等待請求完成的時間量 (以秒為單位)。請注意,如果指定 retry,則 timeout 會套用至每個個別嘗試。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – (選填) 提供給方法的其他中繼資料。

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

透過從 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) – (選填) 用於重試請求的重試物件。如果指定 None,則不會重試請求。

  • timeout (float | None) – (選填) 等待請求完成的時間量 (以秒為單位)。請注意,如果指定 retry,則 timeout 會套用至每個個別嘗試。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – (選填) 提供給方法的其他中繼資料。

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

在 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) – (選填) 用於重試請求的重試物件。如果指定 None,則不會重試請求。

  • timeout (float | None) – (選填) 等待請求完成的時間量 (以秒為單位)。請注意,如果指定 retry,則 timeout 會套用至每個個別嘗試。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – (選填) 提供給方法的其他中繼資料。

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

在 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) – (選填) 用於重試請求的重試物件。如果指定 None,則不會重試請求。

  • timeout (float | None) – (選填) 等待請求完成的時間量 (以秒為單位)。請注意,如果指定 retry,則 timeout 會套用至每個個別嘗試。

  • 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=())[source]

在 Cloud Tasks 中建立工作。

參數
  • location (str) – 將在其中建立工作的位置名稱。

  • queue_name (str) – 佇列的名稱。

  • task (dict | google.cloud.tasks_v2.types.Task) – 要新增的工作。如果提供 dict,則其格式必須與 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) – (選填) 用於重試請求的重試物件。如果指定 None,則不會重試請求。

  • timeout (float | None) – (選填) 等待請求完成的時間量 (以秒為單位)。請注意,如果指定 retry,則 timeout 會套用至每個個別嘗試。

  • 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=())[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) – (選填) 用於重試請求的重試物件。如果指定 None,則不會重試請求。

  • timeout (float | None) – (選填) 等待請求完成的時間量 (以秒為單位)。請注意,如果指定 retry,則 timeout 會套用至每個個別嘗試。

  • 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=())[source]

列出 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) – (選填) 用於重試請求的重試物件。如果指定 None,則不會重試請求。

  • timeout (float | None) – (選填) 等待請求完成的時間量 (以秒為單位)。請注意,如果指定 retry,則 timeout 會套用至每個個別嘗試。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – (選填) 提供給方法的其他中繼資料。

delete_task(location, queue_name, task_name, project_id, 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。

  • retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – (選填) 用於重試請求的重試物件。如果指定 None,則不會重試請求。

  • timeout (float | None) – (選填) 等待請求完成的時間量 (以秒為單位)。請注意,如果指定 retry,則 timeout 會套用至每個個別嘗試。

  • 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) – (選填) 用於重試請求的重試物件。如果指定 None,則不會重試請求。

  • timeout (float | None) – (選填) 等待請求完成的時間量 (以秒為單位)。請注意,如果指定 retry,則 timeout 會套用至每個個別嘗試。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – (選填) 提供給方法的其他中繼資料。

這個條目有幫助嗎?