Firebase Functions: Could not load default credentials

青春壹個敷衍的年華 提交于 2021-01-28 05:24:05

问题


I have a Firebase Function that subscribes to a Cloud PubSub topic. App is initialized very simply like this:

import * as admin from 'firebase-admin';

admin.initializeApp();

I'm getting this error:

"Error: Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information. at GoogleAuth.getApplicationDefaultAsync (/srv/functions/node_modules/google-auth-library/build/src/auth/googleauth.js:161:19) at process._tickCallback (internal/process/next_tick.js:68:7)"

Here's the weird thing. It typically works. In other words, if I trigger it a second time it works. And a third time. Most often it seems to fail the first time it runs after a new firebase deploy and possibly on a "cold start."

Not sure what I'm doing wrong and why it would fail only on the first run.


回答1:


SOLVED! This answer helped: Error: Could not load the default credentials (Firebase function to firestore)

From within a Firebase Function for an API call, I was publishing to a Cloud PubSub topic like this:

pubsub.topic(topicName).publish(dataBuffer, customAttributes)

I was not awaiting the response and was immediately sending the 2XX HTTP response back to the client. The execution seemed to continue fine, but obviously it did not behave as intended.

Sometimes the API response call itself would fail (and never publish the message), but sometimes not. In other cases, the publish would succeed but the Firebase Function subscribing to the topic would fail!

In all cases, this seemed to resolve itself after running the script a second time. For this reason, I still believe it had something to do with a cold start.

But since I changed it to await like this:

await pubsub.topic(topicName).publish(dataBuffer, customAttributes)

I have not seen this problem happen again.



来源:https://stackoverflow.com/questions/59691308/firebase-functions-could-not-load-default-credentials

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!