【发布时间】:2019-05-20 14:09:37
【问题描述】:
能否重命名 CloudFormation 模板中的资源?
假设我创建了一个堆栈模板,它创建了一个 lambda 函数。
GetTheFunnyPhraseText:
Type: AWS::Serverless::Function
Properties:
CodeUri: ../Lambda/
Handler: GetFunnyPhrase.handler
FunctionName: GetFunnyPhrase
Role: !GetAtt [ ExecuteFunctionGetFunnyPhrase, Arn ]
无论出于何种原因,我想将资源名称GetTheFunnyPhraseText 更改为GetFunnyPhrase。有改名字的机制吗?
我尝试了几件事...
- 更改模板中的资源名称。看起来这就像删除
GetTheFunnyPhraseText并创建GetFunnyPhrase。这里的问题是资源创建发生在资源删除之前,导致操作失败,因为 Lambda 函数存在。 - 创建两个模板草稿。 Draft-1:更改现有资源的函数名称。 Draft-2:删除旧资源(从模板中省略它们的定义)并添加新资源。按顺序执行草稿模板:第一个然后第二个。这行得通。太恶心了。
对于那些建议不要命名函数的人,理解;暂时在该反馈中添加一个大头针。
【问题讨论】:
-
除了第二种方法,我还没有看到任何其他方法。恶心,但有效。这是不建议明确命名资源的原因之一。
-
我听到了。不幸的是,我在命名方面受到限制。在我加入团队之前,解决方案就是这样。
标签: amazon-web-services amazon-cloudformation