Amazon web services CloudFormation,AWS Lambda:忽略旧模板中的参数

Amazon web services CloudFormation,AWS Lambda:忽略旧模板中的参数,amazon-web-services,aws-lambda,amazon-cloudformation,Amazon Web Services,Aws Lambda,Amazon Cloudformation,我正在向AWS Lambda部署一个.Net核心Web API项目。这是可行的,但我有以下问题: 以前的模板包含不再使用的参数 之前的Lambda部署使用定义的参数创建了一个CloudFormation模板。为了便于讨论,我们将其称为“BadParameter” 现在,我们不想再使用这个参数了。我们已经更新了serverless.template,使其不再具有该参数 现在,我们的所有部署(使用更新模板)都失败,并显示以下消息: 创建CloudFormation更改集时出错:参数:[BadPara

我正在向AWS Lambda部署一个.Net核心Web API项目。这是可行的,但我有以下问题:

以前的模板包含不再使用的参数

之前的Lambda部署使用定义的
参数创建了一个CloudFormation模板。为了便于讨论,我们将其称为“BadParameter”

现在,我们不想再使用这个参数了。我们已经更新了
serverless.template
,使其不再具有该参数

现在,我们的所有部署(使用更新模板)都失败,并显示以下消息:

创建CloudFormation更改集时出错:参数:[BadParameter] 模板中不存在

我可以通过从CloudFormation下载模板,手动删除参数,然后重新上传模板来解决这个问题,但这既繁琐又容易出错


有什么方法可以在我的新模板中指定删除旧参数吗?

我知道这个老问题,但我自己使用CodePipeline遇到了这个问题。但我无法从OP的问题中判断他们是否在使用它


解决方案是从CodePipeline
CHANGE\u SET\u REPLACE
阶段的
TemplateConfiguration
中引用的json文件中删除旧参数。

理想情况下,CloudFormation模板应该反映部署的当前状态,您不应该在CloudFormation之外的环境中部署/修改任何内容。你能不能简单地从源代码中使用的所有地方(包括CF模板)删除该参数,并进行CloudFormation更新以重新部署所有相关更改?@jarmod这正是我想要做的。问题是,当我尝试更新模板时,它失败了,因为旧版本有一个新版本缺少的参数。唯一的方法似乎是首先手动更新现有模板。我不认为失败的原因是模板的早期版本包含参数(否则您永远无法删除参数)。文档建议您可以删除模板参数,除非该参数由不支持更新的资源使用。这可能是问题所在吗?