每当向第三方项目中的主题/订阅发送新的发布/订阅消息(即跨项目)时,我希望触发发布/订阅功能(使用functions.pubsub / onPublish)。
经过一些研究和实验后,我发现如果主题名称包含/,则TopicBuilder会抛出错误,并且默认为“projects /”+ process.env.GCLOUD_PROJECT +“/ topics /”+ topic(https://github.com/firebase/firebase-functions/blob/master/src/providers/pubsub.ts )。
我还在Stack Overflow中发现一篇文章说“Firebase为Google Cloud Functions提供了一个(相对较薄的)包装器” (What is the difference between Cloud Function and Firebase Functions?)
这使我开始研究Google Cloud Functions。虽然我能够在项目中创建订阅,但我在第三方项目中拥有一个主题 - 在更改IAM中的权限后 - 我找不到将功能与主题相关联的方法。我也没有成功地将功能与第三方项目中的主题和订阅相关联。在控制台中,我只看到项目中的主题,并且使用gcloud没有成功。
有没有人在跨项目使用功能方面取得任何成功,如果是这样,你是如何实现这一目标的,是否有可以提供的文档URL?如果某个功能无法通过主题和第三方项目中的订阅触发功能,您是否可以想出我可以采用第三方发布/订阅数据的方式?
由于发布/订阅费用包含订阅的项目,我希望订阅位于包含该主题的第三方项目中。
谢谢
答案 0 :(得分:2)
Google Cloud Functions目前不允许函数侦听另一个项目中的资源。对于Cloud Pub / Sub触发器,您可以通过部署HTTP函数并将Pub / Sub推送订阅添加到要激发该跨项目功能的主题来解决此问题。
答案 1 :(得分:0)
google端点可以是将auth添加到功能http的更简单解决方案。