Cloudfront发行版的批无效JSON是什么样子的



我正试图使用(截至目前)实验性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"

最新更新