我正在使用 kepware 收集数据并将其发送到 AWS greengrass IoT Core。我使用无服务器和插件部署我的项目serverless-plugin-greengrass
。这是我的无服务器文件的一部分:
[...]
functions:
opcuaPubSub:
description: Lambda function for get data from kepware.
handler: src.opcua_pub_sub.handler
greengrass:
subscriptions:
- target: cloud
subject: topic/opcua
custom:
output:
file: stack.json
pythonRequirements:
usePipenv: true
greengrass:
autoDeploy: true
groupId: ${env:GROUP_ID}
defaults:
pinned: true
memorySize: 262144
encodingType: json
plugins:
- serverless-python-requirements
- serverless-stack-output
- serverless-pseudo-parameters
- serverless-plugin-greengrass
但是我无法使用无服务器删除堆栈。当我运行时:serverless remove --stage xxx
我有以下错误:
Greengrass: Execute reset for group id xxxxx-xxxx-xxxx-xxxx...
Serverless Error ---------------------------------------
That deployment type is not valid. Please specify one of the following types: {NewDeployment,Redeployment}.
我不明白,因为“无服务器”期待 NewDeployment 或重新部署,但我想要删除堆栈。我尝试在运行之前重置 greengrass 组的部署:'serverless remove...',aws greengrass reset-deployments --group-id $GROUP_ID
但我得到了同样的错误。如果我在 cloudformation 控制台中手动删除堆栈,我的组 greengrass 将被删除。(当我想在 gitlab-ci 中更改分支时,我运行 serverless remove --stage xxx)。有人知道为什么我不能用无服务器删除这个堆栈吗?