![](/img/trans.png)
[英]Firebase Functions Accessing Firestore error: Could not load the default credentials
[英]Firebase Functions: Could not load default credentials
我有一個訂閱 Cloud PubSub 主題的 Firebase 函數。 應用程序的初始化非常簡單,如下所示:
import * as admin from 'firebase-admin';
admin.initializeApp();
我收到此錯誤:
“錯誤:無法加載默認憑據。瀏覽到https://cloud.google.com/docs/authentication/getting-started了解更多信息。在 GoogleAuth.getApplicationDefaultAsync (/srv/functions/node_modules/google-auth-library /build/src/auth/googleauth.js:161:19) 在 process._tickCallback (internal/process/next_tick.js:68:7)"
這是奇怪的事情。 它通常有效。 換句話說,如果我第二次觸發它,它就會起作用。 第三次。 大多數情況下,它似乎在新的firebase deploy
之后第一次運行時失敗,並且可能在“冷啟動”時失敗。
不確定我做錯了什么以及為什么它只會在第一次運行時失敗。
解決了! 這個答案有幫助: 錯誤:無法加載默認憑據(Firebase 函數到 firestore)
在用於 API 調用的 Firebase 函數中,我發布到一個 Cloud PubSub 主題,如下所示:
pubsub.topic(topicName).publish(dataBuffer, customAttributes)
我沒有等待響應,而是立即將 2XX HTTP 響應發送回客戶端。 執行似乎繼續正常,但顯然它沒有按預期運行。
有時API 響應調用本身會失敗(並且永遠不會發布消息),但有時不會。 在其他情況下,發布會成功,但訂閱主題的 Firebase 函數會失敗!
在所有情況下,這似乎在第二次運行腳本后自行解決。 因此,我仍然認為這與冷啟動有關。
但是因為我把它改成這樣等待:
await pubsub.topic(topicName).publish(dataBuffer, customAttributes)
我還沒有看到這個問題再次發生。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.