可以跨项目使用Firebase的云功能吗?

R M*_*R M 8 firebase google-cloud-functions

每当新的Pub/Sub消息被发送到第三方项目中的主题/订阅(即跨项目)时,我希望触发Pub/Sub函数(使用functions.pubsub/onPublish).

经过一些研究和实验后,我发现如果主题名称包含/并且默认为"projects /"+ process.env.GCLOUD_PROJECT +"/ topics /"+ topic(https://github.com/),TopicBuilder会抛出错误.firebase/firebase-functions/blob/master/src/providers/pubsub.ts).

我还在Stack Overflow中发现了一篇文章,其中"Firebase提供了一个(相对较薄的)Google Cloud Functions包装器"(云功能和Firebase功能之间有什么区别?)

这使我开始研究Google Cloud Functions.虽然我能够在项目中创建订阅,但我在第三方项目中拥有一个主题 - 在更改IAM中的权限后 - 我找不到将函数与主题相关联的方法.我也没有成功地将功能与第三方项目中的主题和订阅相关联.在控制台中,我只看到项目中的主题,并且使用gcloud没有成功.

有没有人在跨项目使用功能方面取得任何成功,如果是这样,你是如何实现这一目标的,是否有可以提供的文档URL?如果某个主题和第三方项目中的订阅的消息无法触发某个功能,您是否可以想到一种可以摄取第三方发布/订阅数据的方法?

由于发布/订阅费用包含订阅的项目,我希望订阅位于包含该主题的第三方项目中.

谢谢

Tho*_*din 6

Google Cloud Functions 当前不允许函数侦听另一个项目中的资源。对于 Cloud Pub/Sub 触发器,您可以通过部署 HTTP 函数并将 Pub/Sub 推送订阅添加到要触发该跨项目函数的主题来解决此问题。