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)[源代码]

基类: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 的链接帐户列表,该帐户将在请求中模拟。如果设置为字符串,则该帐户必须向原始帐户授予服务帐户令牌创建者 IAM 角色。如果设置为序列,则列表中的身份必须向直接前面的身份授予服务帐户令牌创建者 IAM 角色,列表中的第一个帐户将此角色授予原始帐户(已模板化)。

serialize()[源代码]

序列化 PubsubPullTrigger 参数和类路径。

async run()[源代码]

在异步上下文中运行触发器。

触发器应在想要触发事件时产生一个 Event,如果完成则返回 None。因此,单事件触发器应产生并立即返回。

如果它产生,则很可能会很快恢复,但可能不会(例如,如果工作负载正在被移动到另一个触发器进程,或者将多事件触发器用于单事件任务延迟)。

在任何一种情况下,Trigger 类都应假设它们将被持久化,然后依赖于在不再需要它们时调用 cleanup()。

async message_acknowledgement(pulled_messages)[源代码]
hook()[源代码]

此条目是否有帮助?