繁体   English   中英

如何在 Java 中将我的文件夹同步到 Amazon S3

[英]How do I sync my folder to Amazon S3 in Java

我正在构建一个 java 应用程序作为学习练习。 现在,我想制作一个应用程序,它将获取文件夹中的内容并将其复制到我的 Amazon S3 存储桶中。 通过四处搜索,我发现判断 2 个文件是否相同的最佳方法是获取 MD5 值。

如何迭代地获取存储桶中每个文件的 MD5?

根据此链接: http://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?ListingObjectKeysUsingJava.ZFC35FDC70D5FC69D269883A822CEZA7

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM