我在 boto 中实现 CloudFormation 并遇到了一个奇怪的异常。
[sebastian ~/test_project (develop)]$ ./manage.py --template cf-templates/test_project.json --stack labs --validate
Validating template cf-templates/test_project.json..
Template cf-templates/test_project.json is valid!
[sebastian ~/test_project (develop)]$ ./manage.py --template cf-templates/test_project.json --stack labs --start
Creating stack labs with template cf-templates/test_project.json..
Traceback (most recent call last):
File "./manage.py", line 311, in <module>
main()
File "./manage.py", line 113, in main
start_stack(cf_con, parser, args, config)
File "./manage.py", line 261, in start_stack
template_body=get_json_from_template(args.template))
File "/usr/local/lib/python2.7/site-packages/boto/cloudformation/connection.py", line 208, in create_stack
raise self.ResponseError(response.status, response.reason, body)
boto.exception.BotoServerError: BotoServerError: 400 Bad Request
None
如您所见,我正在执行两个命令。第一个打电话validate_template
,没关系。第二个这样调用start_stack
:
cf_con = cloudformation.connect_to_region(
args.region,
aws_access_key_id=config.get(
args.config_section, 'aws_access_key_id'),
aws_secret_access_key=config.get(
args.config_section, 'aws_secret_access_key'))
cf_con.create_stack(
args.stack,
template_body=get_json_from_template(args.template))
我真的不知道问题可能是什么,因为我从 boto 得到的所有信息都None
在错误消息中。但也许这表明了什么?
任何指向正确方向的指针都非常感谢!
PS。使用相同的模板从 AWS 控制台启动堆栈可以正常工作。DS。