我希望每当新的 Pub/Sub 消息发送到第三方项目(即跨项目)中的主题/订阅时触发 Pub/Sub 函数(使用functions.pubsub / onPublish)。
经过一些研究和实验,我发现如果主题名称包含 / 并且默认为“projects/” + process.env.GCLOUD_PROJECT + “/topics/” + topic (https://github.com/firebase/firebase-functions/blob/master/src/providers/pubsub.ts https://github.com/firebase/firebase-functions/blob/master/src/providers/pubsub.ts).
我还在 Stack Overflow 上发现了一篇文章,其中提到“Firebase 为 Google Cloud Functions 提供了一个(相对较薄的)包装器”
(Cloud Function 和 Firebase Functions 有什么区别? https://stackoverflow.com/questions/42854865/what-is-the-difference-between-cloud-function-and-firebase-functions)
这让我开始研究 Google Cloud Functions。虽然我能够在我拥有的项目中创建对第三方项目中主题的订阅 - 在更改 IAM 中的权限之后 - 我找不到将函数与主题关联的方法。我也没有成功地将函数与第三方项目中的主题和订阅相关联。在控制台中,我只看到项目中的主题,并且使用 gcloud 没有成功。
有没有人在跨项目使用某个函数方面取得过成功?如果是的话,您是如何实现这一目标的?是否可以提供文档 URL?如果某个功能无法由第三方项目中的主题和订阅的消息触发,您能想到一种可以提取第三方 Pub/Sub 数据的方法吗?
由于发布/订阅费用是向包含订阅的项目计费的,我希望订阅驻留在具有该主题的第三方项目中。
谢谢
Google Cloud Functions 目前不允许函数侦听另一个项目中的资源。对于 Cloud Pub/Sub 触发器,您可以通过部署 HTTP 函数并将 Pub/Sub 推送订阅添加到要触发该跨项目函数的主题来解决此问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)