如何使用 boto 获取 S3 密钥的创建日期?

Jam*_*ker 8 amazon-s3 boto amazon-web-services

Boto 的 S3 Key 对象包含 last_modified 日期(通过 parse_ts 可以很好地获得,感谢 @Gaarnat!)但 base_field“日期”(即 ctime)似乎无法访问,即使它列在 key.base_fields 中。

根据http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html上的表格,它似乎总是自动创建的(我无法想象为什么它不会是)。在对象属性中的某处找到它可能只是一个简单的问题,但到目前为止我还没有找到它,尽管我确实找到了包含“日期”的 base_fields 属性。(它们只是一个集合,似乎没有可用的方法,而且我无法找到有关检查它们的方法的文档。)

例如,Amazon S3 维护对象创建日期和大小元数据,并将此信息用作对象管理的一部分。

有趣的是,虽然 last_modified 是可见的,但 create_time(上面链接中的系统元数据字段“Date”)也不会显示在 AWS S3 控制台中。

sam*_*r_v 12

回答老问题,以防其他人遇到同样的问题。

Amazon S3 仅维护每个对象的最后修改日期。 例如,Amazon S3 控制台在对象属性窗格中显示上次修改日期。当您最初创建新对象时,此日期反映对象的创建日期。如果替换对象,日期会相应更改。因此,当我们使用术语创建日期时,它与术语上次修改日期是同义词。

参考:https : //docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html

  • 这是一个很好的链接,Sameer,谢谢!AFAIK 这个文档当时甚至不存在,但现在它绝对是正确的答案;我选择您的答案作为当前的正确答案。谢谢! (2认同)