Amazon cloudformation boto3 cloudformation参数验证失败

Amazon cloudformation boto3 cloudformation参数验证失败,amazon-cloudformation,boto3,Amazon Cloudformation,Boto3,我已经创建了以下参数,这些参数应该在调用cloudformation客户端以执行createsnsstack命令时传递 pubSNSCFParameters = [] pubSNSCFParameters.append("{'ParameterKey': 'Environment','ParameterValue':'" + Constants.Env + "'}") pubSNSCFParameters.append("{'ParameterKey':'pDis

我已经创建了以下参数,这些参数应该在调用cloudformation客户端以执行createsnsstack命令时传递

pubSNSCFParameters = []
        pubSNSCFParameters.append("{'ParameterKey': 'Environment','ParameterValue':'" + Constants.Env + "'}")
        pubSNSCFParameters.append("{'ParameterKey':'pDisplayName','ParameterValue':'" + SNSStackName + "'}")
        pubSNSCFParameters.append("{'ParameterKey':'pTopicName','ParameterValue':'" + SNSStackName + "'}")
其输出如下所示:

["{'ParameterKey': 'Environment', 'ParameterValue': 'dev'}", u"{'ParameterKey': 'pDisplayName', 'ParameterValue': 'some-big-value'}", u"{'ParameterKey': 'pTopicName', 'ParameterValue': 'asome-big-value'}"]
现在,当我运行我的boto3客户端为SNS创建堆栈时,我得到了 botocore.exceptions.ParamValidationError:参数验证失败:

Invalid type for parameter Parameters[0], value: {'ParameterKey': 'Environment', 'ParameterValue': 'dev'}, type: <type 'str'>, valid types: <type 'dict'>

我认为这与参数的数据类型有关,那么我如何修复它呢

您的参数是字符串:

"{'ParameterKey': 'Environment', 'ParameterValue': 'dev'}" <-- note quotations at the beginning and end.
它应该是:

pubSNSCFParameters.append({'ParameterKey': 'Environment','ParameterValue': Constants.Env})

假设
常量.Env
是字符串。

@change198没有问题。因此,接受答复将不胜感激。
pubSNSCFParameters.append("{'ParameterKey': 'Environment','ParameterValue':'" + Constants.Env + "'}")
pubSNSCFParameters.append({'ParameterKey': 'Environment','ParameterValue': Constants.Env})