当您实际将文件上传到 S3 时,与使用 sysdate 设置的 LastModified Amazon 相比,在 Java 中或使用 s3cmd 是否有任何方法来保留和保留文件上的修改日期?
Amazon S3 似乎使用上传时间戳作为文件的 LastModified,而不是原始文件的日期/时间戳。
谢谢。
请记住,S3 并不是在文件系统上存储您认为的“文件”。你给它一个字节序列来存储它。该数据的来源可以是文件,但也可以是任何数据源生成的随机数据流。该数据可以具有元数据。GET Object 请求中返回的一条元数据是 Last-Modified,S3 会为您决定这一点。
但是您没有理由不能添加自己的自定义标头并保留您想要的任何元数据:
http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html
具体见“x-amz-meta-”。你可以有类似 x-amz-meta-what-i-think-last-modified-should-be
这确实是对亚马逊的建议,我会在他们的论坛上发帖。或者,您可以用 Java 编写一个简单的程序,它将与您上次修改时间相对应的时间戳添加到文件中。从亚马逊下载回来后,您可以反向运行应用程序以检索该信息。希望这可以帮助。