【发布时间】:2020-10-15 20:33:06
【问题描述】:
我有一个 cloudformation 堆栈,其中有一个 Lambda 函数,该函数作为触发器映射到 SQS 队列。
发生的事情是我不得不删除映射并手动重新创建它,因为我想更改 batch size。现在,当我想更新映射时,cloudformation 会抛出 The resource you requested does not exist. 消息错误。
资源映射代码如下:
"EventSourceMapping":{
"Properties":{
"BatchSize":5,
"Enabled":"true",
"EventSourceArn":{
"Fn::GetAtt":[
"ProcessorQueue",
"Arn"
]
},
"FunctionName":{
"Fn::GetAtt":[
"ProcessorLambda",
"Arn"
]
}
},
"Type":"AWS::Lambda::EventSourceMapping"
}
我知道我已经删除了最初创建的映射 cloudformation 并手动添加了它,这导致了问题。我该如何解决?因为我现在无法推送任何更新。
请帮忙
【问题讨论】:
-
最简单的方法是删除您的卡住,然后重新创建。
-
是的,但遗憾的是我不能这样做。如果有解决方法,请不胜感激
-
EventSourceMapping不支持导入,因此您无法将手动创建的映射导入堆栈。我不确定这是否可行,但也许您可以尝试从模板中注释掉映射,更新您的堆栈以便 cfn 删除映射(它已经不存在),然后再次取消注释映射更新,这可以创建新的映射回来吗?您可以先在其他一些虚拟堆栈上尝试一下。 -
这确实有效。有人回答了这个解决方案。不过非常感谢。