簡體   English   中英

Google Cloud Storage使用Node.js更改通知

[英]Google Cloud Storage change notifications with Node.js

我有Firebase存儲桶,我想使用Node.js Google-cloud notification API來收聽存儲中的變化。

到目前為止我所擁有的:

const gcloud = require('google-cloud');

const storage = gcloud.storage({
  projectId: 'projectId',
  credentials: serviceAccount
});  

const storageBucket = storage.bucket('bucketId');

根據我的理解,我必須創建一個頻道才能收聽存儲變化。

所以我有:

const storageBucketNotificationChannel = storage.channel('channelId', 'resourceId');

這是文檔停止清晰的閾值,因為我無法弄清楚resourceId代表什么channelId

我也不了解如何宣布收聽頻道更改本身。 有沒有生命周期類型的方法呢?

我能做點什么嗎?

storageBucketNotificationChannel.onMessage(message => { ... })

基於Google Cloud Node.js客戶端的現有文檔以及來自此Github問題的反饋,節點客戶端目前無法創建頻道或訂閱對象更改通知。

其中一個原因是使用客戶端的機器可能不一定是應用程序運行的機器,因此存在安全風險。 但是,仍然可以訂閱給定存儲桶的對象更改通知,並通知Node.js GAE應用程序。

使用對象:watchAll JSON API

使用gsutil進行訂閱時,gsutil會 https://www.googleapis.com/storage/v1/b/bucket/o/watch 發送POST請求 ,其中bucket是要監視的存儲桶的名稱。 這本質上是JSON API對象的包裝器:watchAll 一旦按照通知授權中的描述授權了所需的應用程序/端點,就可以向所述API發送適當的POST請求,並在address提供所需的端點URL。 例如, address可以是https://my-node-app.example.com/change

然后,Node / Express應用程序服務需要監聽POST請求以路徑/change 類似於此的通知 然后,應用程序將相應地對該數據進行操作。 請注意,應用程序應響應可靠傳送雲存儲中所述的請求,以便在失敗時重試,或者如果成功則停止重試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM