S3对象:“过期”和“到期日期”之间的区别

问题描述 投票:0回答:1

我正在尝试遵循

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 中得到一个文件,该文件的右侧有一个“概述”窗格,如下所示:

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

那么哪一个是正确的呢? “过期”和“过期日期”时间戳是否有不同的含义?或者它们是同一件事,只是显示有问题?

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

amazon-web-services amazon-s3 aws-cli
1个回答
32
投票

所以,这方面的记录非常少,但我想我找到了答案这里

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

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

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

换句话说,通过 aws s3 cp ... --expires=... 设置的

Expires
字段旨在成为影响下游缓存的 HTTP 标头(显然 CloudFront 将尊重此
expires
值)。此时间之后,S3 对象不会被删除

令人困惑的是,这个 Expires 值与 S3 对象的 Expiration 完全不同,我收集的 S3 对象只能通过 S3 存储桶上的生命周期策略设置,而不是在上传时针对每个文件设置 (即不使用

aws s3 cp ... 
)。

© www.soinside.com 2019 - 2024. All rights reserved.