我正在一个node. js(v16)应用中编写一个简单的helloWorld函数,我想使用第一代Google Cloud Functions来部署这个应用(我想最终使用GitHub Webhooks来部署代码)。
第一个月
这是我的代码:
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);
};
package.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
1条答案
按热度按时间zkure5ic1#
我遇到这个问题是因为我正在压缩一个包含文件的文件夹。我需要做的是只突出显示文件,然后选择“压缩”。
此外,如果使用Terraform,您需要确保导出的函数名与
entry_point
参数值匹配。google_云函数_函数地形
entry_point = "exampleFunctionName"
index.js导出
exports.exampleFunctionName = (event, context) => {