【问题标题】:Error: 14 UNAVAILABLE: No connection established - Cloud Firestore错误:14 不可用:未建立连接 - Cloud Firestore
【发布时间】:2021-09-10 22:46:47
【问题描述】:

我正在尝试在我的机器上使用 admin SDK for firebase。当我尝试获取用户收藏时,我得到Error: 14 UNAVAILABLE: No connection established。写入 Firestore 也无济于事。我该如何解决这个问题?

编辑 From the docs:

Firebase Admin SDK 会自动连接到 Cloud Firestore 设置了 FIRESTORE_EMULATOR_HOST 环境变量时的模拟器

我确实设置了该环境变量,但我正在尝试连接到生产环境。如何指示 SDK 执行此操作?

index.js

const admin = require("firebase-admin");
const serviceAccount = require("./serviceAccount.json");
admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: ""
});

const snapshot =  admin.firestore().collection('users').get().then((snapshot)=>{
  snapshot.forEach((doc) => {
    console.log(doc.id, '=>', doc.data());
  });
}).catch(e=>{
  console.error(e);
});

完整的错误日志:

PS C:\Users\simeon.ramjit\Documents\projects\controllino-server> node index
Error: 14 UNAVAILABLE: No connection established
    at Object.callErrorFromStatus (C:\Users\simeon.ramjit\Documents\projects\controllino-server\node_modules\@grpc\grpc-js\build\src\call.js:31:26)
    at Object.onReceiveStatus (C:\Users\simeon.ramjit\Documents\projects\controllino-server\node_modules\@grpc\grpc-js\build\src\client.js:330:49)
    at Object.onReceiveStatus (C:\Users\simeon.ramjit\Documents\projects\controllino-server\node_modules\@grpc\grpc-js\build\src\client-interceptors.js:299:181)
    at C:\Users\simeon.ramjit\Documents\projects\controllino-server\node_modules\@grpc\grpc-js\build\src\call-stream.js:145:78
    at processTicksAndRejections (internal/process/task_queues.js:77:11)
Caused by: Error
    at CollectionReference._get (C:\Users\simeon.ramjit\Documents\projects\controllino-server\node_modules\@google-cloud\firestore\build\src\reference.js:1450:23)
    at CollectionReference.get (C:\Users\simeon.ramjit\Documents\projects\controllino-server\node_modules\@google-cloud\firestore\build\src\reference.js:1439:21)
    at Object.<anonymous> (C:\Users\simeon.ramjit\Documents\projects\controllino-server\index.js:41:57)
    at Module._compile (internal/modules/cjs/loader.js:1085:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
    at Module.load (internal/modules/cjs/loader.js:950:32)
    at Function.Module._load (internal/modules/cjs/loader.js:790:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12)
    at internal/main/run_main_module.js:17:47 {
  code: 14,
  details: 'No connection established',
  metadata: Metadata { internalRepr: Map(0) {}, options: {} }
}

【问题讨论】:

    标签: node.js firebase google-cloud-firestore


    【解决方案1】:

    如上所述,如果设置了 FIRESTORE_EMULATOR_HOST 环境变量,则管理 SDK 将尝试连接到您的模拟器。

    this comment之后,我删除了环境变量并重新启动了我的终端,它成功连接到生产环境

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-14
      • 1970-01-01
      • 1970-01-01
      • 2018-04-28
      • 1970-01-01
      • 1970-01-01
      • 2021-04-11
      相关资源
      最近更新 更多