我有两个水桶。在AWS控制台中,他们具有以下“创建日期”
2017-11-22 14:07:03 i-repo
2018-01-12 17:16:31 l-repo
使用AWS CLI(aws-cli / 1.16.90 Python / 3.7.2 Darwin / 17.7.0 botocore / 1.12.80)命令aws s3 ls
,我得到以下信息:
2018-02-08 12:49:03 i-repo
2018-12-19 15:55:29 l-repo
使用AWS CLI命令aws s3api list-buckets
,我得到了相同的错误日期。我已经确认,AWS CLI报告的日期与最新存储桶策略更改的日期有关,而不是与存储桶创建日期有关。我是否缺少某些东西,或者这是一个错误?
答案 0 :(得分:1)
看起来这是一个已知问题/预期。见下文:
经过与S3团队的进一步调查和讨论,我发现由于服务的设计,这是预期的行为。当针对不同区域运行时,S3中的GET Service调用(s3api列表桶或s3 ls,在CLI中没有其他参数)的工作方式有所不同。所有存储桶创建都在us-east-1中进行了掌握,然后在全球范围内进行了复制-所产生的差异是,对us-east-1区域没有“复制”事件。 Web控制台中显示的“创建日期”字段是根据在us-east-1中注册的实际创建日期,而AWS CLI和SDK将根据指定区域(或配置中设置的默认区域)显示创建日期。
使用us-east-1以外的端点时,根据存储桶在该区域中的上次复制时间,您收到的CreationDate实际上是上次修改时间。更改存储桶时,例如编辑其存储桶策略,此日期可能会更改。这种经验丰富的行为是S3架构的设计和实现方式的结果,使其难以更改而又不影响已经期望这种行为的客户。
S3确实打算更改此行为,以便显示实际存储段创建日期,而不考虑发出GET Service调用的区域,但是,为回答您的问题,我们尚无实现此更改的ETA 。如果您想知道何时进行更改,很有可能会在AWS S3论坛上宣布。