我正在尝试遵循
aws s3 cp
的 AWS 文档,其中 将 --expires
标志记录为:
--expires (string) 对象不再可缓存的日期和时间。
...
将本地文件复制到带有到期日期的 S3
以下 cp 命令将单个文件复制到指定的存储桶和密钥,该存储桶和密钥在指定的 ISO 8601 时间戳到期:
aws s3 cp test.txt s3://mybucket/test2.txt --过期 2014-10-01T20:30:00Z
因此,当我运行与上面的示例类似的命令时,我最终会在 S3 中得到一个文件,该文件的右侧有一个“概述”窗格,如下所示:
概述窗格声称没有“到期日期”。好的。但是,如果我单击该文件,在“属性”->“元数据”下,我确实会看到以下内容:
那么哪一个是正确的呢? “过期”和“过期日期”时间戳是否有不同的含义?或者它们是同一件事,只是显示有问题?
所以,这方面的记录非常少,但我想我找到了答案这里:
使用 Amazon S3 控制台将 Cache-Control 或 Expires 标头字段添加到 Amazon S3 对象...
选择添加元数据,然后在Key菜单中选择Cache-Control或Expires。 ...
对于 Expires 字段,输入 HTML 格式的日期和时间。
换句话说,通过 aws s3 cp ... --expires=...
设置的
Expires字段旨在成为影响下游缓存的 HTTP 标头(显然 CloudFront 将尊重此
expires
值)。此时间之后,S3 对象不会被删除。
令人困惑的是,这个 Expires 值与 S3 对象的 Expiration 完全不同,我收集的 S3 对象只能通过 S3 存储桶上的生命周期策略设置,而不是在上传时针对每个文件设置 (即不使用
aws s3 cp ...
)。