部署Dialogflow天气示例Bot时遇Google Cloud Functions加载错误求助
嘿,这个问题其实很好定位——你部署命令里指定的函数名和代码里实际导出的函数名对不上!
具体矛盾点
- 你执行的部署命令要求Cloud Functions查找名为
helloHttp的导出函数:gcloud beta functions deploy helloHttp --stage-bucket weather-example --trigger-http - 但你的
index.js里,实际对外导出的函数名叫weatherWebhook:exports.weatherWebhook = (req, res) => { ... }
Google Cloud Functions会严格按照部署时指定的名称去匹配代码里的导出函数,找不到就会抛出这个加载错误,逻辑非常直接~
两种修复方案,任选其一即可
方案1:修改部署命令,适配代码里的函数名
把命令里的helloHttp替换成weatherWebhook,重新执行:
gcloud beta functions deploy weatherWebhook --stage-bucket weather-example --trigger-http
方案2:修改代码的导出名称,适配部署命令
把index.js里的导出语句修改为helloHttp,函数内部逻辑保持不变:
exports.helloHttp = (req, res) => { // 原有的天气查询逻辑无需改动 }
改完保存后,再执行你最初的部署命令就能成功了。
给Dialogflow新手的小提醒
部署成功后,别忘了把Cloud Functions生成的HTTP触发器URL复制到Dialogflow控制台的Webhook配置项里,这样Dialogflow才能正常调用这个天气查询函数哦~
内容的提问来源于stack exchange,提问作者dev_swat
相关产品推荐
相关产品推荐

