使用awscli更新cloudfront配置
问题描述:
我想用awscli编辑/更新我的CloudFront分配。使用awscli更新cloudfront配置
我使用的是最新的CLI版本:
aws-cli/1.11.56 Python/2.7.10 Darwin/16.4.0 botocore/1.5.19
要awscli使用CloudFront的功能,你需要把它添加到您的AWS配置文件:
[preview]
cloudfront = true
我得到的配置我想修改的分布:
aws cloudfront get-distribution-config --id FOO_BAR_ID > cf_config.json
看起来像按预期工作。 Config对我来说看起来不错。现在我试图用相同的配置重新配置我的CF发行版。
aws cloudfront update-distribution --distribution-config file://cf_config.json --id FOO_BAR_ID
和我越来越:
Parameter validation failed:
Missing required parameter in DistributionConfig: "CallerReference"
Missing required parameter in DistributionConfig: "Origins"
Missing required parameter in DistributionConfig: "DefaultCacheBehavior"
Missing required parameter in DistributionConfig: "Comment"
Missing required parameter in DistributionConfig: "Enabled"
Unknown parameter in DistributionConfig: "ETag", must be one of: CallerReference, Aliases, DefaultRootObject, Origins, DefaultCacheBehavior, CacheBehaviors, CustomErrorResponses, Comment, Logging, PriceClass, Enabled, ViewerCertificate, Restrictions, WebACLId, HttpVersion, IsIPV6Enabled
Unknown parameter in DistributionConfig: "DistributionConfig", must be one of: CallerReference, Aliases, DefaultRootObject, Origins, DefaultCacheBehavior, CacheBehaviors, CustomErrorResponses, Comment, Logging, PriceClass, Enabled, ViewerCertificate, Restrictions, WebACLId, HttpVersion, IsIPV6Enabled
什么是使用awscli重新配置CF的正确方法?
答
你必须使用它与update-distribution
之前编辑cf_config.json并从文件的开头删除
{
"ETag": "ETag_Value",
"DistributionConfig":
和最后
}
从文件末尾
。
然后使用这个命令与从cf_config.json
aws cloudfront update-distribution --distribution-config file://cf_config.json --id FOO_BAR_ID --if-match ETag_Value
喜删除右边
id
和ETag
价值,是有办法做到这一切的一个bash脚本内? –