我刚接触GCP。将消息发布到pub / sub主题时,我需要触发Cloud Function(CF)。当pub / sub和CF都在同一个项目中时,我可以轻松地做到这一点。但就我而言,pub / sub主题和CF位于两个不同的项目中。谁能建议我如何解决此问题?谢谢!
答案 0 :(得分:0)
道格在评论中说了什么。
您想将项目A中的发布/订阅转到项目B中的GCF,这意味着您在项目A中拥有一个写入到项目B的发布/订阅中的GCF(您需要在需求中获得项目B的服务帐户)用于项目A的GCF)。然后,您在项目B中的GCF可以选择自己的发布/订阅,该发布已从项目A中的GCF转发给它的消息。
由于是多跳,因此当然会增加一点延迟,但是只要项目在同一区域中,它就应该很小。
答案 1 :(得分:0)
我同意我的两个同伴(Gabe和Doug)的“代理”解决方案。但是,缺乏解释,我还有另一种解决方案!
问题是:您不能创建从另一个项目中的主题触发的Cloud Function主题。主题必须与Cloud Function位于同一项目中(这就是为什么需要Cloud Function代理的原因)。
但是,您也可以在HTTP triggered中部署云功能,然后在任何项目中为云功能创建PubSub HTTP Push subscription。
您可以部署function in private mode(不允许未经身份验证的模式),并授予PubSub subscription service account调用Cloud Function的权限以提高安全性。