airflow.providers.google.cloud.sensors.cloud_composer

此模組包含 Cloud Composer 感測器。

模組內容

類別

CloudComposerDAGRunSensor

檢查 DAG 執行是否已完成。

class airflow.providers.google.cloud.sensors.cloud_composer.CloudComposerDAGRunSensor(*, project_id, region, environment_id, composer_dag_id, allowed_states=None, execution_range=None, gcp_conn_id='google_cloud_default', impersonation_chain=None, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), poll_interval=10, **kwargs)[source]

Bases: airflow.sensors.base.BaseSensorOperator

檢查 DAG 執行是否已完成。

參數
  • project_id (str) – 必填。服務所屬的 Google Cloud 專案 ID。

  • region (str) – 必填。服務所屬的 Google Cloud 區域 ID。

  • environment_id (str) – Composer 環境的名稱。

  • composer_dag_id (str) – 可執行 DAG 的 ID。

  • allowed_states (collections.abc.Iterable[str] | None) – 允許狀態的可迭代物件,預設為 ['success']

  • execution_range (datetime.timedelta | list[datetime.datetime] | None) – 執行 DAG 的時間範圍。感測器僅檢查在此時間範圍內啟動的 DAG 的狀態。對於昨天,請使用 [正值!] datetime.timedelta(days=1)。對於未來,請使用 [負值!] datetime.timedelta(days=-1)。對於特定時間,請使用 datetime 列表 [datetime(2024,3,22,11,0,0), datetime(2024,3,22,12,0,0)]。或者 [datetime(2024,3,22,0,0,0)] 在這種情況下,感測器將檢查從過去特定時間到目前時間執行的狀態。預設值 datetime.timedelta(days=1)。

  • gcp_conn_id (str) – 擷取連線資訊時使用的連線 ID。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可選的服務帳戶,用於使用短期憑證模擬身分,或取得列表中最後一個帳戶的 access_token 所需的鏈結帳戶列表,該帳戶將在請求中被模擬。如果設定為字串,則該帳戶必須授予原始帳戶「服務帳戶權杖建立者」IAM 角色。如果設定為序列,則列表中的身分必須將「服務帳戶權杖建立者」IAM 角色授予緊鄰的前一個身分,列表中的第一個帳戶將此角色授予原始帳戶(已範本化)。

  • poll_interval (int) – 選填:控制可延遲執行的結果輪詢速率。

  • deferrable (bool) – 以可延遲模式執行感測器。

template_fields = ('project_id', 'region', 'environment_id', 'composer_dag_id', 'impersonation_chain')[source]
poke(context)[source]

衍生此類別時覆寫。

execute(context)[source]

建立運算子時衍生。

Context 是與呈現 jinja 範本時使用的字典相同。

請參閱 get_template_context 以取得更多 context。

execute_complete(context, event)[source]

此條目是否有幫助?