簡體   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