airflow.providers.google.cloud.hooks.tasks¶
此模組包含一個 CloudTasksHook,可用於連線到 Google Cloud Tasks 服務。
類¶
Google Cloud Tasks API 的 Hook。 |
模組內容¶
- class airflow.providers.google.cloud.hooks.tasks.CloudTasksHook(gcp_conn_id='google_cloud_default', impersonation_chain=None, **kwargs)[source]¶
Bases:
airflow.providers.google.common.hooks.base_google.GoogleBaseHookGoogle Cloud Tasks API 的 Hook。
Cloud Tasks 允許開發者管理其應用中後臺工作的執行。
Hook 中所有使用 project_id 的方法都必須使用關鍵字引數呼叫,而不是位置引數。
- 引數:
gcp_conn_id (str) – 獲取連線資訊時使用的連線 ID。
impersonation_chain (str | collections.abc.Sequence[str] | None) – 可選的服務賬號,用於使用短期憑據進行模擬,或者透過鏈式列表指定獲取列表中最後一個賬號的 access_token 所需的賬號,然後用該 token 進行請求模擬。如果設定為字串,則該賬號必須授予發起賬號 Service Account Token Creator IAM 角色。如果設定為序列,則列表中的身份必須授予 Service Account Token Creator 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) – 要建立的任務佇列。佇列名稱不能與現有佇列相同。如果提供字典,則其形式必須與 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,則超時應用於每次嘗試。
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) – 用於指定更新佇列哪些欄位的掩碼。如果為空,則更新所有欄位。如果提供字典,則其形式必須與 protobuf 訊息相同。
retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – (可選) 用於重試請求的重試物件。如果指定 None,則不會重試請求。
timeout (float | None) – (可選) 等待請求完成的時間(秒)。請注意,如果指定了 retry,則超時應用於每次嘗試。
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,則超時應用於每次嘗試。
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,則超時應用於每次嘗試。
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,則超時應用於每次嘗試。
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,則超時應用於每次嘗試。
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,則超時應用於每次嘗試。
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,則超時應用於每次嘗試。
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) – 要新增的任務。如果提供字典,則其形式必須與 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) – (可選) 此欄位指定將返回任務的哪個子集。
retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – (可選) 用於重試請求的重試物件。如果指定 None,則不會重試請求。
timeout (float | None) – (可選) 等待請求完成的時間(秒)。請注意,如果指定了 retry,則超時應用於每次嘗試。
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) – (可選) 此欄位指定將返回任務的哪個子集。
retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – (可選) 用於重試請求的重試物件。如果指定 None,則不會重試請求。
timeout (float | None) – (可選) 等待請求完成的時間(秒)。請注意,如果指定了 retry,則超時應用於每次嘗試。
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) – (可選) 此欄位指定將返回任務的哪個子集。
page_size (int | None) – (可選) 底層 API 響應中包含的最大資源數量。
retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – (可選) 用於重試請求的重試物件。如果指定 None,則不會重試請求。
timeout (float | None) – (可選) 等待請求完成的時間(秒)。請注意,如果指定了 retry,則超時應用於每次嘗試。
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,則超時應用於每次嘗試。
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) – (可選) 此欄位指定將返回任務的哪個子集。
retry (google.api_core.retry.Retry | google.api_core.gapic_v1.method._MethodDefault) – (可選) 用於重試請求的重試物件。如果指定 None,則不會重試請求。
timeout (float | None) – (可選) 等待請求完成的時間(秒)。請注意,如果指定了 retry,則超時應用於每次嘗試。
metadata (collections.abc.Sequence[tuple[str, str]]) – (可選) 提供給方法的附加元資料。