Я создал следующие параметры, которые должны быть переданы при вызове клиента облачной информации для команды создания стека SNS.
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'>
фрагмент кода:
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'
},
]
)
я бы представил это как делать с типами данных параметра, так как я могу это исправить?