s3cmd を使用して (不当なサイズではない - 100 メガバイト未満の) ファイルをプルダウンすると、次のエラーが表示されることがあります。
グーグルは、これは S3 がファイルをセグメント化する方法が原因である可能性があることを示唆しています。他の人はそれを無視すると言いました。
なぜこれが起こるのか、そして正しいことは何か知っている人はいますか?
お時間をいただきありがとうございます -- ヘンリー
s3cmd を使用して (不当なサイズではない - 100 メガバイト未満の) ファイルをプルダウンすると、次のエラーが表示されることがあります。
グーグルは、これは S3 がファイルをセグメント化する方法が原因である可能性があることを示唆しています。他の人はそれを無視すると言いました。
なぜこれが起こるのか、そして正しいことは何か知っている人はいますか?
お時間をいただきありがとうございます -- ヘンリー
これを詳しく調べてみると、s3cmd が Amazon から間違った md5 サムを読み取っているように見えます。s3cmd が ETAG フィールドから合計を取得しているように見えます。PUT されたオブジェクトの実際のデータを GET されたオブジェクトと比較すると、内容は同一であり、このエラーは無視しても問題ありません。
ファイルが「マルチパート」としてアップロードされた場合、S3 のファイルの ETag は MD5 と一致しません。ファイルがマルチパートとしてマークされると、AWS は各パートをハッシュし、結果を連結してからその値をハッシュします。
ファイルが実際に複数の部分を持たない場合、結果は末尾に -1 が追加されたハッシュのハッシュになります。ファイルを S3 にアップロードするために使用するツールでマルチパートを無効にしてみてください。s3cmd の場合、オプションは --disable-multipart です。
s3cmd 同期を使用している場合、以前に同期されたファイルが再ダウンロードされるため、これはより大きな問題です。これを解決するには、--no-check-md5
オプションを追加します。これにより、s3cmd はファイル サイズのみをチェックして、変更されたファイルを特定します (これは私の目的には適していますが、アプリケーションによっては、おそらくすべての人に適しているわけではありません)。
約 1 時間前に、S3 で現在まさにこの問題が発生しているというレポートを見ました。たとえば、次のツイートです。
RT @drags: @ylastic S3 が間違った md5 を s3cmd にも返す。AWS まで、「-」が含まれる md5 は見たことがありません。#AWS #S3
AWS ステータス ページでは問題は報告されていませんが、これは一時的な問題であると予想されます。すぐに再試行してください:-)