1

我處於需要使用「cron」作業閱讀Firebase實時數據庫的情況。如何使用新的Firebase雲功能來讀​​取數據?

我分析並使用this存儲庫進行播放,但我似乎無法理解我如何才能簡單地檢索實時數據庫中的所有用戶或所有數據的列表。 functions.database.ref的唯一功能是onWrite,這對我沒有幫助。

我知道Cloud Functions是面向事件的,它們是爲了響應某些觸發器等而編寫的,但就我而言,這不是不可能的,我們可以顯然訪問這些數據。 在他們的「刪除賬戶」,例如,他們用這樣的:

https://www.googleapis.com/identitytoolkit/v3/relyingparty/downloadAccount?fields=users/localId,users/lastLoginAt,nextPageToken&access_token= 

,它看起來相當無證,而不是在所有的解釋。爲什麼我們必須使用身份工具包?我怎麼能簡單地讀取數據?我一直試圖做的,直到那一刻:

  • 使用functions.database.ref('users').once('value', function(snapshot){})並沒有奏效
  • 使用他們的cron作業示例代碼(身份證工具包),但我得到的日誌從高度奇怪的反應火力地堡:Missing required header: Metadata-Flavor及以下的跟蹤的其餘部分:

3]

回答

3

您無法讀取數據使用functions.database.ref()。這僅用於指定要更改到數據庫以觸發您的函數的路徑。要編寫一個類似cron的函數,你不會寫數據庫觸發器。您可能需要HTTP觸發器,如sample code所示。如自述文件中所述,您可以使用第三方調度程序觸發HTTP功能。

要從該功能中的數據庫讀取數據,您應該使用admin SDK,如代碼示例中所示。它在這裏初始化,並出現在許多其他的代碼示例,以及:

const admin = require('firebase-admin'); 
admin.initializeApp(functions.config().firebase); 

然後你就可以得到數據庫的引用:這裏

const ref = admin.database().ref(`/path/to/data`); 

裁判是參考對象。你可以read data with that。一定要看看其他代碼示例 - 其中許多人使用admin SDK讀取數據庫。

相關問題