如何在使用 triggerTopic 创建云功能时设置 pubsub 消息过滤器

How to set pubsub message filter while creating cloud-function with triggerTopic

我试图创建一个 google 云函数,它可以由 pubsub 主题触发。我使用 google 部署管理器模板来创建它。但是我找不到任何方法来为该云功能设置订阅者消息过滤器。 我尝试在创建云函数资源之前和之后创建订阅。但无论如何都行不通。 如果我在创建云函数之前创建它,那么在创建资源之后它会覆盖订阅者函数并删除过滤器。

是否可以使用 google 部署管理器模板为任何 pubsub 云功能设置订阅者消息过滤器?

事实上,根本不可能。当您以触发主题模式部署 Cloud Functions 时,您无法在订阅(自动创建)上设置过滤器。而且这不是部署管理器的限制。

如果要在激活过滤器的情况下在 PubSub 消息上触发 Cloud Function,则需要

  • 在 HTTP 模式下部署您的函数 (trigger-http)
  • 创建推送订阅以在 HTTP 中使用参数中的消息调用 Cloud Functions。当您创建推送订阅时,这一次,您可以设置您想要的过滤器
  • 保护推送订阅和云功能之间的通信(安全性在触发主题模式(别名后台功能)中自动构建)