首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >boto3云格式参数验证失败

boto3云格式参数验证失败
EN

Stack Overflow用户
提问于 2020-05-03 08:09:33
回答 1查看 184关注 0票数 0

我已经创建了下面的参数,这些参数应该是在调用cloudformation client for create SNS stack命令时传递的。

代码语言:javascript
复制
pubSNSCFParameters = []
        pubSNSCFParameters.append("{'ParameterKey': 'Environment','ParameterValue':'" + Constants.Env + "'}")
        pubSNSCFParameters.append("{'ParameterKey':'pDisplayName','ParameterValue':'" + SNSStackName + "'}")
        pubSNSCFParameters.append("{'ParameterKey':'pTopicName','ParameterValue':'" + SNSStackName + "'}")

它给出了如下输出:

代码语言:javascript
复制
["{'ParameterKey': 'Environment', 'ParameterValue': 'dev'}", u"{'ParameterKey': 'pDisplayName', 'ParameterValue': 'some-big-value'}", u"{'ParameterKey': 'pTopicName', 'ParameterValue': 'asome-big-value'}"]

现在,当我运行我的boto3客户端为SNS创建堆栈时,我得到了botocore.exceptions.ParamValidationError:参数验证失败:

代码语言:javascript
复制
Invalid type for parameter Parameters[0], value: {'ParameterKey': 'Environment', 'ParameterValue': 'dev'}, type: <type 'str'>, valid types: <type 'dict'>

代码片段:

代码语言:javascript
复制
with open(templatelocation + 'CFT_SNS.json', 'r') as f:

client.create_stack(StackName=stackName,
              TemplateBody=f.read(),
              Parameters=pubSNSCFParameters ,
             Capabilities=['CAPABILITY_NAMED_IAM'],
             Tags=[
              {
            'Key': 'CreatorName',
           'Value': 'some@email.com'
            },
            ]
        )

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

EN

回答 1

Stack Overflow用户

发布于 2020-05-03 12:21:37

您的参数是字符串:

代码语言:javascript
复制
"{'ParameterKey': 'Environment', 'ParameterValue': 'dev'}" <-- note quotations at the beginning and end.

这是因为您要将字符串附加到pubSNSCFParameters

代码语言:javascript
复制
pubSNSCFParameters.append("{'ParameterKey': 'Environment','ParameterValue':'" + Constants.Env + "'}")

应该是dict:

代码语言:javascript
复制
pubSNSCFParameters.append({'ParameterKey': 'Environment','ParameterValue': Constants.Env})

假设Constants.Env为字符串。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61567998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档