2017-05-04 57 views
4

無論何時將新的發佈/訂閱消息發送到第三方項目中的主題/訂閱(即跨項目),我都希望觸發發佈/訂閱功能(使用functions.pubsub/onPublish)。跨項目可以使用Firebase的雲端函數嗎?

一些研究和實驗後,我發現如果主題名稱包含該TopicBuilder拋出一個錯誤/它默認爲「項目/」 + process.env.GCLOUD_PROJECT +「/主題/」 +主題(https://github.com/firebase/firebase-functions/blob/master/src/providers/pubsub.ts)。

我還發現,在堆棧溢出後,指出「火力地堡提供了圍繞谷歌的雲功能(相對薄)包裝」 (What is the difference between Cloud Function and Firebase Functions?

這讓我尋找到谷歌雲功能。雖然我能夠在一個項目中創建訂閱,但我擁有第三方項目中的一個主題 - 在更改IAM中的權限之後 - 我無法找到將功能與主題關聯的方式。我也沒有成功將功能與第三方項目中的主題和訂閱相關聯。在控制檯中,我只能看到我的項目中的主題,並沒有使用gcloud。

有沒有人在跨項目使用函數方面取得了成功,如果是這樣,您是如何實現這一目標的,並且是否存在您可以提供的文檔URL?如果某個功能無法通過消息傳遞給某個主題並在第三方項目中訂閱,您是否可以考慮採用第三方Pub/Sub數據的方式?

由於酒吧/次級費用包含訂閱的項目,我希望訂閱位於包含主題的第三方項目中。

謝謝

回答

1

谷歌雲功能目前並不不允許功能聽在另一個項目中的資源。對於Cloud Pub/Sub觸發器,您可以通過部署HTTP功能並將Pub/Sub推送訂閱添加到要激發該跨項目功能的主題來解決此問題。

+0

非常感謝Thomas –

+0

@Thomas_Bouldin會不會要求您的Firebase CF http偵聽器成爲無身份驗證的公共端點? –

+0

這將需要您推出自己的身份驗證。一個便宜而簡單的方法是在發佈URL中添加一個祕密密鑰作爲查詢片段。您的雲端功能會拒絕與密鑰不匹配的請求。 –

相關問題