[英]How do I sync my folder to Amazon S3 in Java
我正在构建一个 java 应用程序作为学习练习。 现在,我想制作一个应用程序,它将获取文件夹中的内容并将其复制到我的 Amazon S3 存储桶中。 通过四处搜索,我发现判断 2 个文件是否相同的最佳方法是获取 MD5 值。
如何迭代地获取存储桶中每个文件的 MD5?
ObjectListing class 可以列出存储桶中文件的 object 键和(元数据?)。 但是,它并没有真正指定我如何与文件交互。 例如,对于我的本地文件,我使用 guava 并执行以下操作:
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] md4 = Files.getDigest(localFile, md);
查看 AWS S3 API,您可以使用将返回 InputStream 的 S3Object.getObjectContent()。 这是直接在 S3 上处理对象的最佳方式吗?
最后,从我的本地文件夹同步到 S3 中的存储桶的最佳方式是什么? 欢迎任何提示。
谢谢!!!!
ObjectListing objectListing = s3.listObjects(
new ListObjectsRequest().withBucketName(bucket));
List<S3ObjectSummary> l = objectListing.getObjectSummaries();
S3ObjectSummary
有一个名为eTag
的成员,它是 md5 hash 的 object
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.