使用 Google Cloud 控制台时,Cloud Functions 中的 onCall 方法失败

问题描述 投票:0回答:1

我正在尝试开始使用 Cloud Functions for Firebase 并尝试实现一个简单的

onCall
处理程序。我从v2 函数的文档复制了默认代码,并减少了它以获得最简单的代码来排除其他问题。这里是一个最小的参考:
index.js
:

const {onCall, HttpsError} = require("firebase-functions/v2/https");

exports.helloHttp = onCall((request) => {
  return {
    'data': request.data.name
  }
});

以及相关的

package.json
:

{
  "type":"module",
  "dependencies": {
    "firebase-functions": "^5.0.0"
  }
}

当我尝试使用 Google Cloud Functions Console 中的“运行测试”按钮运行代码时,出现以下错误:

[9:08:51 PM] - TypeError: Cannot read properties of undefined (reading 'on')
    at /workspace/node_modules/firebase-functions/lib/common/providers/https.js:392:17
    at new Promise (<anonymous>)
    at /workspace/node_modules/firebase-functions/lib/common/providers/https.js:391:16
    at /workspace/node_modules/firebase-functions/lib/v2/trace.js:16:28
    at /layers/google.nodejs.functions-framework/functions-framework/node_modules/@google-cloud/functions-framework/build/src/function_wrappers.js:113:25
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

我使用的是node.js运行时版本20,除非我遗漏了一些明显的东西,否则感觉像是导入的

onCall
函数中的一个错误。

有人知道如何让

onCall
在 Cloud Functions 中工作吗?我可以切换到使用标准 HTTP 请求,但我想使用与 Callables 相关的身份验证内容,看起来这应该很容易(?)。

node.js firebase google-cloud-platform google-cloud-functions google-cloud-console
1个回答
0
投票

无法从 Google Cloud 控制台运行使用 firebase-functions 模块的函数。该模块的唯一正确使用绝对需要使用 Firebase CLI 进行部署或模拟,以便它可以在部署之前正确了解如何配置该功能。

我建议按照 Firebase Cloud Functions 入门指南来演练示例。您将看到步骤 2 要求您安装 CLI。

如果您必须使用 Google Cloud 控制台,则根本无法使用 firebase-functions 模块来声明您的函数。相反,也许可以阅读本教程并使用@google-cloud/functions-framework模块。但是,您将无法使用它来轻松构建 Firebase 可调用类型函数。

© www.soinside.com 2019 - 2024. All rights reserved.