根据aws validate-template,我做了测试,以验证URL和本地文件中的相同模板。
但我得到了不同的输出。
直接从网址测试:
$ aws cloudformation validate-template --template-url https://s3.amazonaws.com/cloudformation-templates-us-east-1/S3_Bucket.template
{
"Description": "AWS CloudFormation Sample Template S3_Bucket: Sample template showing how to create a publicly accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the AWS resources used if you create a stack from this template.",
"Parameters": []
}
但是当我将它下载到本地时,再次测试。
$ wget https://s3.amazonaws.com/cloudformation-templates-us-east-1/S3_Bucket.template
2014-12-16 14:48:27 (11.1 MB/s) - 'S3_Bucket.template' saved [652/652]
$ aws cloudformation validate-template --template-body S3_Bucket.template
A client error (ValidationError) occurred when calling the ValidateTemplate operation: Template format error: JSON not well-formed. (line 1, column 10)
有什么想法吗?
答案 0 :(得分:8)
我现在知道如何修复它。您需要使用full path
file:///
aws cloudformation validate-template --template-body file:///home/local/test/S3_Bucket.template
或者使用相对路径(file://而不是file:///):
aws cloudformation validate-template --template-body file://S3_Bucket.template