首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于CloudFront创建无效的AWS返回旧的无效

用于CloudFront创建无效的AWS返回旧的无效
EN

Stack Overflow用户
提问于 2015-07-14 13:42:39
回答 1查看 2.1K关注 0票数 3

我试图使用AWS在CI服务中在CloudFront上创建无效,以便在部署时自动使文件失效。但是,CLI返回一条成功消息,但是引用的无效声明是一个月前的,没有创建新的失效消息。

我正在安装和启用cloudfront:

代码语言:javascript
复制
pip install awscli
aws configure set preview.cloudfront true
aws configure set preview.create-invalidation true

然后我创建无效声明:

代码语言:javascript
复制
aws cloudfront create-invalidation --cli-input-json '{"DistributionId":"ABC123ABC123","InvalidationBatch":{"Paths":{"Quantity":1,"Items":["/index.html"]},"CallerReference":"codeship"}}'

一个响应的例子,当我在东部时间下午4点7/13上运行这个命令时:

代码语言:javascript
复制
{
  "Invalidation": {
    "Status": "Completed",
    "InvalidationBatch": {
      "Paths": {
        "Items": [
          "/index.html"
        ],
        "Quantity": 1
      },
      "CallerReference": "codeship"
    },
    "Id": "1234567890",
    "CreateTime": "2015-06-12T18:39:56.360Z"
  },
  "Location": "https://cloudfront.amazonaws.com/2015-04-17/distribution/ABC123ABC123/invalidation/1234567890"
}

当我登录到CloudFront时,我可以看到6/12中的一个无效,但是当我运行这个命令时,没有看到昨天的任何内容。

我做错什么了吗?这个CLI甚至工作吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-14 18:26:58

看起来你每次打给CreateInvalidation都要传递相同的CreateInvalidation?CallerReference唯一地标识一个特定的失效请求,因此CloudFront给出了第一个使用该CallerReference的无效声明的结果。来自文档

指定用于唯一标识无效请求的值。CloudFront使用该值防止意外地重新提交相同的请求。无论何时创建新的失效请求,都必须为CallerReference指定一个新值,并在适用的情况下更改请求中的其他值。确保CallerReference值唯一的一种方法是使用时间戳,例如,20120301090000。 如果您为CallerReference发出了具有相同值的第二个失效请求,而如果请求的其余部分相同,则CloudFront不会创建新的失效请求。相反,CloudFront返回有关您以前用同一个CallerReference创建的无效请求的信息。 如果CallerReference是您在以前的无效批处理请求中已经发送的值,但任何路径的内容与原始请求不同,则CloudFront返回一个InvalidationBatchAlreadyExists错误。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31408410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档