我正试图使用(截至目前)实验性aws cloudfront
CLI工具使AWS Cloudfront发行版上的单个文件无效。我不知道如何格式化它期望传递给--invalidation-batch
参数的JSON。
我找到的唯一文档只解释了它所期望的XML,但我很难将其翻译成JSON:http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/CreateInvalidation.html
我试过了:
{
"Paths" : {
"Quantity" : 1,
"Items" : ["/foobar.js"]
},
"CallerReference" : "foo-bar-baz"
}
有没有人使用过这个并找到格式化JSON的方法?
您可以使用以下命令生成示例JSON。
$aws cloudfront创建无效--生成cli骨架|vi-
输出:
{
"DistributionId": "",
"InvalidationBatch": {
"Paths": {
"Quantity": 0,
"Items": [
""
]
},
"CallerReference": ""
}
}
这里有一个从Bash脚本中执行此操作的完整的工作示例,包括处理为每个无效创建一个唯一id的需要(对于我来说,这里足够唯一):
INVALIDATION_ID=$(date +"%S")
INVALIDATION_JSON="{
"DistributionId": "YOUR_ID",
"InvalidationBatch": {
"Paths": {
"Quantity": 2,
"Items": [
"/foo.png",
"/bar.jpg"
]
},
"CallerReference": "$INVALIDATION_ID"
}
}"
aws cloudfront create-invalidation --cli-input-json "$INVALIDATION_JSON"