使用java sdk自动重命名文件(如果已经存在于s3中)

问题描述:

我使用java SDK将文件上传到AWS S3。 我想自动重命名文件,如果它已经存在于存储桶中。使用java sdk自动重命名文件(如果已经存在于s3中)

例如:如果富/酒吧已经存在,我想它重新命名为富/条(1)

做到这一点最简单的方法是配置与版本的S3桶。这会在更改文件时自动保留每个版本的文件。在控制台中,您可以通过单击“显示版本”按钮来查看旧版本。请注意,旧版本不会实际重命名,但它仍然可以访问。

如果您需要重命名旧文件,则需要自行完成。您可以按照下列步骤操作:

  1. 的文件
  2. 呼叫AmazonS3Client.getObjectMetadata()检查文件是否存在选择一个名称;追加一个版本号,然后再试一次,直到它失败
  3. 将文件复制到姓版本号为托运
  4. 上传新文件在原来的名称