我正在使用kepware收集数据并将其发送到AWS greengrass物联网核心。我使用无服务器和插件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}.
我不明白,因为“serverless”需要新的部署或重新部署,但我想删除堆栈。在运行“serverless remove…”之前,我尝试使用命令aws greengrass reset-deployments --group-id $GROUP_ID
重置greengrass组的部署,但得到了相同的错误。如果我在cloudformation控制台中手动删除堆栈,我的工作组greengrass将被删除。
(当我想更改gitlab ci中的分支时,我运行serverless remove--stage xxx)。
有人知道为什么我不能用serverless删除这个堆栈吗
让我们把你的问题分成三部分
在过去的6-9个月里,我有一个类似的设置。我没有单独使用
serverless
来实现所有这些相反,我用
#1的{}
#2
#3的{}
我更喜欢这种方法,因为它允许我在单回购中保持“静态不变”资源和“动态变化”资源相邻,同时小心处理它们。例如,您只创建了一次Greengrass组,但最终会在以后的某个时间点(多次)添加/删除对各种主题的订阅
TL;DR
#1
serverless
将其限制为使用源代码包和依赖注入等部署/重新部署lambda#2
serverless & cloudformation
是我定义AWS::Greengrass::FunctionDefinition
和AWS::Greengrass::SubscriptionDefinition
资源的地方,当我想要创建一个新的Greengrass组定义时,我会获取这些资源#3
ci/cd pipelines with aws cli
就是我称之为“Flash绿草设备”(包括两个步骤,见下文)。他们几乎每次都工作干杯
相关问题 更多 >
编程相关推荐