airflow.providers.google.cloud.triggers.dataproc

此模組包含 Google Dataproc 觸發器。

模組內容

類別

DataprocBaseTrigger

Dataproc 觸發器的基礎類別。

DataprocSubmitTrigger

DataprocSubmitTrigger 在觸發器工作程序上執行,以執行建立 Build 作業。

DataprocClusterTrigger

DataprocClusterTrigger 在觸發器工作程序上執行,以執行建立 Build 作業。

DataprocBatchTrigger

DataprocCreateBatchTrigger 在觸發器工作程序上執行,以執行建立 Build 作業。

DataprocDeleteClusterTrigger

DataprocDeleteClusterTrigger 在觸發器工作程序上執行,以執行刪除叢集作業。

DataprocOperationTrigger

定期從 Dataproc API 輪詢長時間執行作業資訊以驗證狀態的觸發器。

class airflow.providers.google.cloud.triggers.dataproc.DataprocBaseTrigger(region, project_id=PROVIDE_PROJECT_ID, gcp_conn_id='google_cloud_default', impersonation_chain=None, polling_interval_seconds=30, cancel_on_kill=True, delete_on_error=True)[source]

基底類別: airflow.triggers.base.BaseTrigger

Dataproc 觸發器的基礎類別。

get_async_hook()[source]
get_sync_hook()[source]
class airflow.providers.google.cloud.triggers.dataproc.DataprocSubmitTrigger(job_id, **kwargs)[source]

基底類別: DataprocBaseTrigger

DataprocSubmitTrigger 在觸發器工作程序上執行,以執行建立 Build 作業。

參數
  • job_id (str) – Dataproc 工作的 ID。

  • project_id – 執行工作的 Google Cloud 專案

  • region – 處理請求的 Cloud Dataproc 區域。

  • gcp_conn_id – 選填,用於連線至 Google Cloud Platform 的連線 ID。

  • impersonation_chain – 選填,要模擬使用的短期憑證服務帳戶,或是取得清單中最後一個帳戶的 access_token 所需的帳戶鏈結清單,該帳戶將在請求中被模擬。如果設定為字串,則該帳戶必須授予原始帳戶「服務帳戶權杖建立者」IAM 角色。如果設定為序列,則清單中的身分必須將「服務帳戶權杖建立者」IAM 角色授予緊接在前的身分,清單中的第一個帳戶將此角色授予原始帳戶 (已套用範本)。

  • polling_interval_seconds – 檢查狀態的輪詢期間(秒)。

serialize()[source]

傳回重建此觸發器所需的資訊。

傳回

(類別路徑,重新實例化所需的關鍵字引數) 的元組。

get_task_instance(session)[source]

取得目前任務的任務實例。

參數

session (sqlalchemy.orm.session.Session) – Sqlalchemy 工作階段

safe_to_cancel()[source]

是否可以安全地取消此觸發器正在執行的外部工作。

這是為了避免因觸發器本身已停止而呼叫 asyncio.CancelledError 的情況。因為在這些情況下,我們不應取消外部工作。

async run()[source]

在非同步環境中執行觸發器。

每當觸發器想要觸發事件時,都應產生一個 Event,如果已完成,則傳回 None。因此,單一事件觸發器應產生事件,然後立即傳回。

如果它產生事件,則很可能會很快恢復,但也可能不會(例如,如果工作負載正在移至另一個觸發器程序,或單一事件任務延遲使用了多事件觸發器)。

在任何一種情況下,Trigger 類別都應假設它們將被持久化,然後依賴於在不再需要它們時呼叫 cleanup()。

class airflow.providers.google.cloud.triggers.dataproc.DataprocClusterTrigger(cluster_name, **kwargs)[source]

基底類別: DataprocBaseTrigger

DataprocClusterTrigger 在觸發器工作程序上執行,以執行建立 Build 作業。

參數
  • cluster_name (str) – 叢集的名稱。

  • project_id – 執行工作的 Google Cloud 專案

  • region – 處理請求的 Cloud Dataproc 區域。

  • gcp_conn_id – 選填,用於連線至 Google Cloud Platform 的連線 ID。

  • impersonation_chain – 選填,要模擬使用的短期憑證服務帳戶,或是取得清單中最後一個帳戶的 access_token 所需的帳戶鏈結清單,該帳戶將在請求中被模擬。如果設定為字串,則該帳戶必須授予原始帳戶「服務帳戶權杖建立者」IAM 角色。如果設定為序列,則清單中的身分必須將「服務帳戶權杖建立者」IAM 角色授予緊接在前的身分,清單中的第一個帳戶將此角色授予原始帳戶 (已套用範本)。

  • polling_interval_seconds – 檢查狀態的輪詢期間(秒)。

serialize()[source]

傳回重建此觸發器所需的資訊。

傳回

(類別路徑,重新實例化所需的關鍵字引數) 的元組。

傳回類型

tuple[str, dict[str, Any]]

get_task_instance(session)[source]
safe_to_cancel()[source]

是否可以安全地取消此觸發器正在執行的外部工作。

這是為了避免因觸發器本身已停止而呼叫 asyncio.CancelledError 的情況。因為在這些情況下,我們不應取消外部工作。

async run()[source]

在非同步環境中執行觸發器。

每當觸發器想要觸發事件時,都應產生一個 Event,如果已完成,則傳回 None。因此,單一事件觸發器應產生事件,然後立即傳回。

如果它產生事件,則很可能會很快恢復,但也可能不會(例如,如果工作負載正在移至另一個觸發器程序,或單一事件任務延遲使用了多事件觸發器)。

在任何一種情況下,Trigger 類別都應假設它們將被持久化,然後依賴於在不再需要它們時呼叫 cleanup()。

async fetch_cluster()[source]

擷取叢集狀態。

async delete_when_error_occurred(cluster)[source]

發生錯誤時刪除叢集。

參數

cluster (google.cloud.dataproc_v1.Cluster) – 要刪除的叢集。

class airflow.providers.google.cloud.triggers.dataproc.DataprocBatchTrigger(batch_id, **kwargs)[source]

基底類別: DataprocBaseTrigger

DataprocCreateBatchTrigger 在觸發器工作程序上執行,以執行建立 Build 作業。

參數
  • batch_id (str) – Build 的 ID。

  • project_id – 執行工作的 Google Cloud 專案

  • region – 處理請求的 Cloud Dataproc 區域。

  • gcp_conn_id – 選填,用於連線至 Google Cloud Platform 的連線 ID。

  • impersonation_chain – 選填,要模擬使用的短期憑證服務帳戶,或是取得清單中最後一個帳戶的 access_token 所需的帳戶鏈結清單,該帳戶將在請求中被模擬。如果設定為字串,則該帳戶必須授予原始帳戶「服務帳戶權杖建立者」IAM 角色。如果設定為序列,則清單中的身分必須將「服務帳戶權杖建立者」IAM 角色授予緊接在前的身分,清單中的第一個帳戶將此角色授予原始帳戶 (已套用範本)。

  • polling_interval_seconds – 檢查狀態的輪詢期間(秒)。

serialize()[source]

序列化 DataprocBatchTrigger 引數和類別路徑。

async run()[source]

在非同步環境中執行觸發器。

每當觸發器想要觸發事件時,都應產生一個 Event,如果已完成,則傳回 None。因此,單一事件觸發器應產生事件,然後立即傳回。

如果它產生事件,則很可能會很快恢復,但也可能不會(例如,如果工作負載正在移至另一個觸發器程序,或單一事件任務延遲使用了多事件觸發器)。

在任何一種情況下,Trigger 類別都應假設它們將被持久化,然後依賴於在不再需要它們時呼叫 cleanup()。

class airflow.providers.google.cloud.triggers.dataproc.DataprocDeleteClusterTrigger(cluster_name, end_time, metadata=(), **kwargs)[source]

基底類別: DataprocBaseTrigger

DataprocDeleteClusterTrigger 在觸發器工作程序上執行,以執行刪除叢集作業。

參數
  • cluster_name (str) – 叢集的名稱

  • end_time (float) – 剩餘檢查叢集狀態的時間(秒)。

  • project_id – 叢集所屬的 Google Cloud 專案 ID

  • region – 處理請求的 Cloud Dataproc 區域

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

  • gcp_conn_id – 擷取連線資訊時要使用的連線 ID。

  • impersonation_chain – 選填,要模擬使用的短期憑證服務帳戶,或是取得清單中最後一個帳戶的 access_token 所需的帳戶鏈結清單,該帳戶將在請求中被模擬。如果設定為字串,則該帳戶必須授予原始帳戶「服務帳戶權杖建立者」IAM 角色。如果設定為序列,則清單中的身分必須將「服務帳戶權杖建立者」IAM 角色授予緊接在前的身分,清單中的第一個帳戶將此角色授予原始帳戶。

  • polling_interval_seconds – 檢查叢集狀態之間睡眠的時間(秒)。

serialize()[source]

序列化 DataprocDeleteClusterTrigger 引數和類別路徑。

async run()[source]

等到叢集完全刪除為止。

class airflow.providers.google.cloud.triggers.dataproc.DataprocOperationTrigger(name, operation_type=None, **kwargs)[source]

基底類別: DataprocBaseTrigger

定期從 Dataproc API 輪詢長時間執行作業資訊以驗證狀態的觸發器。

實作利用非同步傳輸。

serialize()[source]

傳回重建此觸發器所需的資訊。

傳回

(類別路徑,重新實例化所需的關鍵字引數) 的元組。

async run()[source]

在非同步環境中執行觸發器。

每當觸發器想要觸發事件時,都應產生一個 Event,如果已完成,則傳回 None。因此,單一事件觸發器應產生事件,然後立即傳回。

如果它產生事件,則很可能會很快恢復,但也可能不會(例如,如果工作負載正在移至另一個觸發器程序,或單一事件任務延遲使用了多事件觸發器)。

在任何一種情況下,Trigger 類別都應假設它們將被持久化,然後依賴於在不再需要它們時呼叫 cleanup()。

此條目是否有幫助?