Я полагаю, что невозможно получить этот ответ на основе предоставленного вами образца кода.
Я думаю, что вы, возможно, пытались TemplateBody
вместо TemplateURL
?
воспроизвестисообщение об ошибке, попробуйте этот простой пример:
#!/usr/bin/env python
import boto3
import ast
parameter_file = 'parameters.json'
client = boto3.client('cloudformation')
with open(parameter_file, 'r') as infile:
parameters = ast.literal_eval(infile.read())
response = client.create_stack(
StackName='TestStack',
TemplateBody='file://cloudformation.yml',
Parameters=parameters
)
Если вы поместите файл параметров и шаблон в ожидаемые места и запустите это, вы должны увидеть точное сообщение об ошибке:
Traceback (most recent call last):
File "test.py", line 17, in <module>
Parameters=parameters
File "/Users/alexharvey/git/home/python-test/virtualenv/lib/python2.7/site-packages/botocore/client.py", line 357, in _api_call
return self._make_api_call(operation_name, kwargs)
File "/Users/alexharvey/git/home/python-test/virtualenv/lib/python2.7/site-packages/botocore/client.py", line 661, in _make_api_call
raise error_class(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (ValidationError) when calling the CreateStack operation: Template format error: unsupported structure.
Обратите внимание, что эта ошибка:
Ошибка формата шаблона: неподдерживаемая структура
Происходит из AWS API , а не из Boto3.
Ошибка возникает при передаче файла : // URI или URL-адреса для параметра TemplateBody.
Более того, я считаю, что получить такой ответ просто невозможноесли вы действительно что-то передали в TemplateURL.
См. также:
- этот связанный ответ, для воспроизведения этого сообщения об ошибке с помощью AWS CLI.
- API документы где TemplateBody и TemplateURL документированы.