S3对象:“到期”和“到期日期”之间的差异

时间:2018-12-24 19:43:37

标签: amazon-s3 aws-cli

我正在尝试遵循documents the --expires flagaws s3 cp的AWS文档:

  

-过期(字符串)对象不再可缓存的日期和时间。

...

  

将具有到期日期的本地文件复制到S3

     

以下cp命令将单个文件复制到指定的存储桶和密钥,该文件在指定的ISO 8601时间戳记到期:

     

aws s3 cp test.txt s3://mybucket/test2.txt --expires 2014-10-01T20:30:00Z

因此,当我像上面的示例一样运行命令时,我在S3中得到一个文件,该文件的右侧具有“概述”窗格,如下所示:

overview pane

概述窗格声称没有“到期日期”。好。但是,如果我单击“属性”->“元数据”下的文件,则会看到以下内容:

S3 Object Metadata

那么哪个是对的? “到期”和“到期日期”时间戳在某种程度上表示不同的含义吗?还是它们是同一回事,而显示的只是越野车?

我已经在StackOverflow上搜索了几个类似的问题(hereherehere),但是没有找到答案。

1 个答案:

答案 0 :(得分:3)

因此,这方面的文献资料很少,但是我想我找到了答案here

  

要使用Amazon S3控制台将Cache-Control或Expires标头字段添加到Amazon S3对象...

     

选择添加元数据,然后在菜单中,选择 Cache-Control Expires 。 ...

     

对于过期字段,以HTML格式输入日期和时间。

换句话说,通过aws s3 cp ... --expires=...进行设置的 Expires 字段旨在用作影响下游缓存的HTTP标头(显然,CloudFront将遵守此expires值) 。这次之后,未删除是S3对象。

令人困惑的是,该 Expires 值与S3对象的 Expiration 完全不同,我可以通过only be set {3}},而不是在上传时按文件(即不使用aws s3 cp ...)。