Google cloud platform 谷歌云发布/订阅触发器

Google cloud platform 谷歌云发布/订阅触发器,google-cloud-platform,google-cloud-functions,publish-subscribe,google-cloud-pubsub,Google Cloud Platform,Google Cloud Functions,Publish Subscribe,Google Cloud Pubsub,我是GCP的新手。当消息发布到发布/订阅主题时,我需要触发一个云函数(CF)。当pub/sub和CF都在同一个项目中时,我可以很容易地做到这一点。但在我的例子中,pub/sub主题和CF在两个不同的项目中。有谁能建议我如何解决这个问题吗?谢谢 道格在评论中所说的 您希望在项目A中发布/订阅到项目B中的GCF,这意味着您在项目A中有一个GCF写入项目B的发布/订阅(您需要在项目A的GCF需求中为项目B获取一个服务帐户)。然后,项目B中的GCF可以选择自己的发布/订阅,该发布/订阅将消息从项目A中的

我是GCP的新手。当消息发布到发布/订阅主题时,我需要触发一个云函数(CF)。当pub/sub和CF都在同一个项目中时,我可以很容易地做到这一点。但在我的例子中,pub/sub主题和CF在两个不同的项目中。有谁能建议我如何解决这个问题吗?谢谢

道格在评论中所说的

您希望在项目A中发布/订阅到项目B中的GCF,这意味着您在项目A中有一个GCF写入项目B的发布/订阅(您需要在项目A的GCF需求中为项目B获取一个服务帐户)。然后,项目B中的GCF可以选择自己的发布/订阅,该发布/订阅将消息从项目A中的GCF转发给它

当然会增加一点延迟,因为它是多跳的,但只要项目在同一个区域,它就应该是最小的。

我同意我的两个同行(Gabe和Doug)的“代理”解决方案。然而,这是一个缺乏解释,我有另一个解决办法

问题是:您无法创建从另一个项目中的主题触发的云函数主题。主题必须与云函数位于同一个项目中(这就是为什么需要云函数代理)

但是,您也可以在中部署您的云功能,然后在任何项目中为云功能创建一个应用程序


您可以部署(--no allow unauthenticated mode)并授予调用云函数的权限以提高安全性。

在项目a中编写一个pubsub函数,将消息负载代理到项目B中的主题,然后编写一个单独的函数在那里处理它。您不能简单地编写响应其他项目主题的函数。