我嘗試驗證上傳到存儲桶的文件的完整性,但沒有找到任何有關此信息的信息。Amazon S3&Checksum
在文件的標題中有一個「E-tag」,但我認爲它不是md5校驗和。
那麼,如何檢查我上傳到Amazon S3上的文件是否與我在計算機上的文件相同?
謝謝。 :)
我嘗試驗證上傳到存儲桶的文件的完整性,但沒有找到任何有關此信息的信息。Amazon S3&Checksum
在文件的標題中有一個「E-tag」,但我認爲它不是md5校驗和。
那麼,如何檢查我上傳到Amazon S3上的文件是否與我在計算機上的文件相同?
謝謝。 :)
如果你是在一個單一的操作使用REST API上傳對象(高達5GB),那麼你就可以在你的PUT請求添加內容-MD5頭。根據用於PUT的S3文檔,內容-MD5報頭是:
的base64編碼128位MD5消息(無頭)的摘要根據RFC 1864此頭可被用作消息完整性檢查以驗證數據是最初發送的相同數據。雖然它是可選的,但我們建議使用Content-MD5機制作爲端到端的完整性檢查。
檢查this answer關於如何計算base64編碼的128位MD5摘要。如果您使用的是s3curl,則可以使用--contentMd5選項將計算的摘要包含在請求標題中。
如果MD5摘要亞馬遜上傳完成後計算的不匹配MD5摘要你在Content-MD5頭提供,亞馬遜將與BadDigest錯誤代碼響應。
如果您使用的是分段上傳,Content-MD5頭將作爲每個部分的完整性檢查。分段上傳完成後,亞馬遜目前不提供驗證組合文件完整性的方法。
謝謝! :) – Florent 2012-01-09 09:35:12
我開發了一個iPhone應用程序上傳視頻到亞馬遜,我編碼的文件進入base64編碼的128位MD5,文件上傳完成後,我收到「ErrorCode:BadDigest,消息:您指定的Content-MD5不匹配我們收到了。」這是否意味着我不能與我的pohone和s3服務器匹配md5值? – 2015-04-27 09:26:56
在http://stackoverflow.com/questions/1775816/how-to-get-the-md5sum-of-a-file-on-amazons-s3中有很多內容,儘管@ svetianov的答案看起來更完整一些。 – 2012-06-07 20:04:29