[英]AWS service to verify data integrity of file in S3 via checksum?
確保文件在 S3 中的一種方法是下載它,獲取其校驗和,並將結果與您期望的校驗和匹配。
AWS 是否提供任何服務,允許在用戶無需先下載文件的情況下發生這種情況? (即理想情況下是一個簡單的請求/url,提供 S3 文件的校驗和,以便可以在下載文件之前對其進行驗證)
我可以想到一個 DIY 解決方案
POST
請求的 API 端點這可能可行,但已經有點復雜並且需要進一步考慮,例如大文件可能需要很長時間來生成校驗和(例如 > 60 秒)
我希望 AWS 有一些簡單的方法來驗證 S3 文件?
每個對象都創建了一個ETag
,它是對象內容的 MD5。
然而,似乎有一些例外。
來自通用響應標頭 - Amazon Simple Storage Service :
ETag:實體標簽是對象的哈希值。 ETag 僅反映對象內容的更改,而不反映其元數據。 ETag 可能是也可能不是對象數據的 MD5 摘要。 它是否取決於對象是如何創建的以及它是如何加密的,如下所述:
由 PUT 對象、POST 對象或復制操作或通過 AWS 管理控制台創建並由 SSE-S3 或純文本加密的對象具有作為其對象數據的 MD5 摘要的 ETag。
由 PUT 對象、POST 對象或復制操作或通過 AWS 管理控制台創建並由 SSE-C 或 SSE-KMS 加密的對象具有不是其對象數據的 MD5 摘要的 ETag。
如果一個對象是由 Multipart Upload 或 Part Copy 操作創建的,則 ETag不是 MD5 摘要,無論加密方法如何。
此外,多部分上傳的 ETag 計算可能很復雜。 請參閱: s3cmd - 為大於 5GB 的文件計算 Amazon-S3 Etag 的算法是什么? - 堆棧溢出
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.