airflow.providers.google.cloud.triggers.pubsub

此模組包含 Google Cloud Pub/Sub 觸發器。

PubsubPullTrigger

使用所需引數初始化 Pub/Sub 拉取觸發器。

模組內容

class airflow.providers.google.cloud.triggers.pubsub.PubsubPullTrigger(project_id, subscription, max_messages, ack_messages, gcp_conn_id, poke_interval=10.0, impersonation_chain=None)[source]

基類: airflow.triggers.base.BaseTrigger

使用所需引數初始化 Pub/Sub 拉取觸發器。

引數:
  • project_id (str) – 訂閱的 Google Cloud 專案 ID (模板化)

  • subscription (str) – Pub/Sub 訂閱名稱。不包含完整的訂閱路徑。

  • max_messages (int) – 每個 Pub/Sub 拉取請求要檢索的最大訊息數

  • ack_messages (bool) – 如果為 True,每條訊息將立即確認,而不是由任何下游任務確認。

  • gcp_conn_id (str) – Google Cloud 連線 ID 的引用

  • poke_interval (float) – 檢查狀態的輪詢間隔(秒)

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 用於使用短期憑據模擬的可選服務賬號,或獲取列表中最後一個賬號的 access_token 所需的賬號鏈列表,該賬號將在請求中被模擬。如果設定為字串,該賬號必須授予發起賬號 Service Account Token Creator IAM 角色。如果設定為序列,列表中的身份必須授予 Service Account Token Creator IAM 角色給直接前一個身份,列表中的第一個賬號將此角色授予發起賬號 (模板化)。

project_id[source]
subscription[source]
max_messages[source]
ack_messages[source]
poke_interval = 10.0[source]
gcp_conn_id[source]
impersonation_chain = None[source]
serialize()[source]

序列化 PubsubPullTrigger 引數和 classpath。

async run()[source]

在非同步上下文中執行此觸發器。

當觸發器想要觸發一個事件時,應 yield 一個 Event,如果完成則返回 None。因此,單事件觸發器應先 yield,然後立即返回。

如果它 yield,很可能會很快恢復,但也可能不會(例如,如果工作負載正在轉移到另一個 triggerer 程序,或者多事件觸發器被用於單事件任務延遲)。

無論哪種情況,Trigger 類都應假定它們會被持久化,並在不再需要時依賴於 cleanup() 方法被呼叫。

async message_acknowledgement(pulled_messages)[source]
property hook: airflow.providers.google.cloud.hooks.pubsub.PubSubAsyncHook[source]

此條目有幫助嗎?