我正在node.js(v16(应用程序中编写一个简单的helloWorld函数,我想使用第一代谷歌云函数进行部署(我想最终使用GitHub Webhook来部署代码(。我一直收到这个错误:
Build failed: function.js does not exist; Error ID: 7485c5b6
这是我的代码:
index.js
const crypto = require('crypto');
const got = require('got');
const url = require('url');
const settings = require('settings.json');
/**
* Responds to any HTTP request.
*
* @param {!express:Request} req HTTP request context.
* @param {!express:Response} res HTTP response context.
*/
exports.helloWorld = (req, res) => {
let message = req.query.message || req.body.message || 'Hello World!';
res.status(200).send(message);
};
软件包.json
{
"name": "sample-http",
"version": "0.0.1",
"dependencies": {
"got": "^12.5.2",
"url": "^0.11.0"
}
}
settings.json
{
"secretToken": "webhook_token",
"accessToken": "github access token",
}
此应用程序文件夹还包含一个package-lock.json
文件和一个用于node_modules
的文件夹。
我在这里错过了什么?为什么我一直得到错误Build failed: function.js does not exist; Error ID: 7485c5b6
?
我已经使用以下方法使用UI进行了部署:ZIP from Cloud Storage
,并尝试使用以下命令进行部署:gcloud functions deploy helloWorld --runtime nodejs16 --entry-point=index --trigger-http --stage-bucket bucket-name
我遇到这个问题是因为我正在用文件压缩文件夹。我需要做的是只突出显示文件,然后选择";压缩";。
此外,如果您使用Terraform,则需要确保导出的函数名称与entry_point
参数值相匹配。
google_cloudfunctions_function Terraform
entry_point = "exampleFunctionName"
index.js导出
exports.exampleFunctionName = (event, context) => {