我想使用actions-sdk构建一个带有自定义操作的Google助手。由于我是新手,为了构建一个示例助手,我遵循了教程"Build Actions for Google Assistant using Actions SDK (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.]"
}
}当我查看这个项目的"Google Cloud Platform -> Cloud Functions Console“时,会看到以下内容。
图1(截图) Cloud Platform Cloud Functions Console
使用感叹号部署云函数失败。如果我删除了这些函数,那么立即就会自动部署一个新函数。但出现的不是感叹号,而是旋转轮符号(正在加载/仍在展开)标记。如果该云函数仍在加载/部署中,我无法将其删除。10-15分钟后,旋转符号变为感叹号。然后如果我删除了它,那么又会自动出现一个新的。就像这样继续下去
图2(截图) Cloud Platform Cloud Function Console
只有在实现webhook/fulfillment(步骤5)时才会出现此问题。对于静态动作的响应,通过输入命令"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". 有没有人可以建议一下,如何阻止云函数的连续自动部署失败,使我部署的函数能够成功部署?会非常感谢你的帮助。
(注意:这是我第一次在堆栈溢出中发布问题,请告诉我是否有任何错误或堆栈溢出问题约定我可能没有遵循。我会改进它。)
发布于 2020-10-19 13:41:26
将其发布到社区维基,因为它是基于评论的。
正如澄清的那样,问题似乎是计费帐户,因为教程提到,为了正确部署云函数,有必要设置一个帐户。此外,如果没有计费帐户,则无法部署云函数(webhooks),因此,即使您使用的不是Node.js 10,也需要为您的项目配置计费帐户。
总而言之,为了避免任何可能的部署失败,即使您使用的不是Node.js 10,也需要计费帐户,如以下tutorial中所述。
https://stackoverflow.com/questions/64322832
复制相似问题