google-cloud-platform - 错误:无法部署资产“webhooks/ActionsOnGoogleFulfillment”
问题描述
我想使用 actions-sdk 构建一个具有自定义操作的 Google 助手。由于我是新手,因此我按照教程“使用 Actions SDK(级别 1)为 Google Assistant 构建操作”中的步骤进行操作,以便构建示例助手。我照原样按照教程进行操作。但是,在第 5 步(实现实现)中,当尝试通过运行命令来测试实现时
gactions deploy preview
我在终端中收到以下输出错误
Sending configuration files...
Sending resources...
Waiting for server to respond. It could take up to 1 minute if your cloud function needs to be redeployed.
[ERROR] Server did not return HTTP 200.
{
"error": {
"code": 400,
"message": "Asset 'webhooks/ActionsOnGoogleFulfillment' cannot be deployed. [An operation on function cf-_CcGD8lKs_F_LHmFYfJZsQ-name in region us-central1 in project <my-project-id> is already in progress. Please try again later.]"
}
}
当我检查该项目的“Google Cloud Platform -> Cloud Functions Console”时,可以看到以下内容。
图 1(屏幕截图) 云平台 Cloud Functions 控制台
带有感叹号的云功能部署失败。如果我删除了这些功能,那么会立即自动部署一个新功能。但不是感叹号,而是一个纺车符号(加载/仍在部署)标记。如果它仍在加载/部署,我无法删除该云功能。然后在 10-15 分钟后,旋转符号变为感叹号。然后,如果我删除它,则会再次自动出现一个新的。就这样继续下去
图 2(截图) 云平台云功能控制台
此问题仅在实施 webhook/fulfillment(第 5 步)时出现。对于静态Actions的响应,输入“gactions deploy preview”命令就成功部署测试。(步骤1到步骤4成功实现)
我照原样按照教程进行操作,因此代码和目录结构与教程中的相同,(只有 project-id 或 actions-console 项目名称会不同)。
由于,这仅适用于教程,目前我没有使用计费帐户,而是在 package.json 中进行了以下更改(将节点版本从 10 更改为 8。)。
"engines": {
"node": "8"
},
由于这种持续自动部署失败,当我尝试显式部署项目时,如上所述,出现此错误。
"An operation on function cf-_CcGD8lKs_F_LHmFYfJZsQ-name in region us-central1 in project <my-project-id> is already in progress. Please try again later".
谁能建议如何停止云功能的这种连续自动失败的部署,以便我部署的功能将成功部署?非常感谢您的帮助。
(注意:这是我第一次在堆栈溢出中发布问题,所以如果有任何错误或堆栈溢出问题约定我可能没有遵循,请告诉我。我会改进它。)
解决方案
将其发布为社区 Wiki,因为它基于评论。
正如澄清的那样,问题似乎是计费帐户,因为教程提到必须有一套才能正确部署云功能。除此之外,没有计费帐户就无法部署 Cloud Functions(webhook),所以是的,即使您没有使用 Node.js 10,您也需要为您的项目配置一个计费帐户。
总而言之,即使您不使用 Node.js 10,也需要计费帐户以避免任何可能的部署失败,如后续教程中所述。
推荐阅读
- python - 查找和排序与文档语料库中的特定单词列表最相似的
- r - 多类约登指数
- android - 在最新的 2020 版本的 Android Studio 中,没有更多的 Android 设备监视器,是什么取代了它,我如何搜索日志?
- ruby-on-rails - 为什么我在运行 rails 测试时点击 binding.pry 或 byebug 后无法输入终端?
- algorithm - 选择随机数组元素避免排除列表的最佳方法
- database - 如何在 laravel 7 中更改列的引用表
- javascript - 如何使用jquery从foreach循环中获取每个选定的复选框值
- django - 迁移零会保存我的迁移 --fake 事故吗?
- numpy - 如何使用 numpy.polyfit 执行线性回归并打印错误统计信息?
- java - 使用 Spring Data JPA @LastModifiedDate 从审计中排除某些字段