![](/img/trans.png)
[英]spring boot how to download all files in a folder of s3 to a local directory?
[英]download all files from S3 and upload them in same folder
每当创建新存储桶时,我都会在存储桶上启用版本控制。 但是为了向后兼容(已创建的存储桶),我正在下载所有文件/密钥并再次上传。 我正在这样做:
fullObject = s3Client.getObject(new GetObjectRequest(bucketName, key));
但是我无法在上传时弄清楚如何在其特定文件夹中上传文件。 还是有另一种解决向后兼容性的解决方案。
S3确实没有文件夹,它使用逻辑来“伪造”它,以寻找以“ /”分隔的通用前缀。 “密钥”是存储桶中文件的完整路径名。
听起来您正在执行获取操作,然后想要将相同的字节放入存储桶中的相同密钥。 如果这是您要执行的操作,则只需使用与获取对象相同的键即可。
在启用了版本控制的存储桶中,这将导致文件的两个副本。 目前尚不清楚您为什么要这么做(假设您正写回所读内容)。 您会不会最终要为同一文件的两个副本付费?
我的理解是,如果您为其中已经有文件的存储桶打开版本控制,那么一切都会以您期望的方式运行。 如果先前存在的文件被删除,它只会添加一个删除标记。 如果先前存在的文件被覆盖,它将保留先前版本(作为新文件的先前版本)。 启用版本控制时,无需主动重写现有文件。 如果您有兴趣,可以通过S3控制台,命令行界面或特定于语言的API之一轻松进行测试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.