【问题标题】:How to change file upload date in Amazon S3 using AWS CLI如何使用 AWS CLI 在 Amazon S3 中更改文件上传日期
【发布时间】:2021-09-10 20:29:03
【问题描述】:

我需要将一些文件(数千个)移动到 Amazon S3 存储桶,从那里它们将由另一个应用程序(而不是当前应用程序)显示给最终用户。

问题是,这些文件现在有创建/上传日期(日期介于 2012 年和 2017 年之间,当它们被上传到当前应用程序时),当我移动它们时,它们都开始具有相同的日期。这是一个问题,因为当您查看新应用程序中的文件时,您不了解有时非常重要的时间层次结构。

有什么方法可以修改 S3 中文件的上传日期吗?

【问题讨论】:

  • 我尝试将 S3 存储桶作为附加磁盘连接到 linux 机器,并在 linux 系统中修改“修改日期”。在 linux 中显示:“Jan 1 2012 test.pdf”,但在 Amazon 中仍然显示“Fri Mar 10 13:31”。但这是一次尝试。

标签: amazon-web-services amazon-s3 command-line-interface


【解决方案1】:

上次修改日期由 Amazon S3 生成,无法通过 API 设置。

如果日期和其他信息(例如user)对您的应用程序很重要,您可以将其作为metadata 存储在对象上。然后,在显示日期、用户等时检索元数据。

【讨论】:

    【解决方案2】:

    我所做的是将文件重命名为其他名称,然后再次将其重命名为其原始名称。 由于无法直接重命名,因此必须将文件复制为新名称,然后将其复制回原来的名称。 (当然要删除辅助文件) 这不是最佳的,但这是使用 AWS 客户端时的解决方案。我希望有一天 AWS 能够拥有 FTP 曾经拥有的所有功能。

    【讨论】:

    • 我认为这是让它发挥作用的唯一方法。当您处理大量文件时,这确实是一件苦差事,但最终值得修改日期。
    • 这是如何工作的?新文件会是当前日期吗? (OP 需要一系列过去的日期)
    • @dustytrash 是的,新文件将具有当前时间戳。
    【解决方案3】:

    您可以只复制同一个对象,时间戳就会更新。 这个技巧也用于prolong the expire of an object in a bucket with a lifecycle rule.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-04
      • 1970-01-01
      • 2015-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多