我想使用actions-sdk构建一个带有自定义操作的谷歌助手。由于我是这方面的新手,我遵循了教程中的步骤"使用Actions SDK为Google Assistant构建Actions(Level 1(";事实上,为了构建一个示例助手。我按照教程的内容进行了学习。然而,在第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.]"
}
}
当我检查";谷歌云平台->云功能控制台";对于这个项目,可以看到以下内容。
图1(屏幕截图(云平台云功能控制台
带有感叹号的云函数部署失败。如果我删除了这些函数,就会立即自动部署一个新函数。但是,出现了一个转轮符号(装载/仍在展开(标记,而不是感叹号。如果云功能仍在加载/部署,我无法删除它。10-15分钟后,旋转符号变为感叹号。然后如果我删除了它,就会自动出现一个新的。它像一样继续
图2(屏幕截图(云平台云功能控制台
这个问题只有在实现webhook/fulfillment时才会出现(步骤5(。对于静态Actions的响应,它在输入命令"时成功部署进行测试;gactions部署预览";。(步骤1至步骤4成功实施(
我按照教程的内容进行了学习,因此代码和目录结构与教程中的相同(只有项目id或操作控制台项目名称不同(。
代码的Github存储库
由于,这只是为了教程,目前我没有使用计费帐户,而是在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。
正如澄清的那样,问题似乎是账单账户,因为教程提到有必要有一套云功能才能正确部署。除此之外,如果没有计费帐户,就不可能部署云功能(webhook(,所以是的,即使你没有使用Node.js 10,你也需要为你的项目配置一个计费帐户。
总之,即使您没有使用Node.js 10,也需要使用计费帐户来避免任何可能的部署失败,如以下教程中所述。