大きなS3転送を安全に検証する
大きなオブジェクトにマルチパートアップロードを使用し、パートと認証情報の制限を守ってアップロードを完了または中止した後、保存サイズとETagを検証します。
最終確認日
スクリーンショットは英語版の画面です。
大きなS3オブジェクトにはマルチパートアップロードを使用してください。dosyaでテスト済みのrclone設定は64Miで切り替わります。ゲートウェイは1〜10,000のパート番号を受け付け、各パートを5 GiB以下に制限します。

始める前に
転送元のバイトサイズ、保存先のバケットとキー、クライアントのマルチパート設定を記録してください。完了まで十分なストレージの空きを確保します。認証情報とロールのファイルサイズ制限は、ゲートウェイがマルチパートの合計サイズを確認できる時点で評価されます。
50 MiB以下のパートはバッファリングされ、ストレージへの書き込み時に再試行されます。それより大きなパートは直接ストリーミングされ、読み取り済みの本文を同じリクエスト内で再送できません。クライアントは失敗したパート番号を再試行する必要があります。未完了のマルチパートアップロードは明示的に中止し、保存されたパートと同時実行スロットを解放してください。
手順
- クライアントのマルチパートしきい値を、単一リクエストの転送上限より小さく設定します。rcloneではリリース済みの
upload_cutoff = 64Miの値を使用します。 - 正確なワークスペースバケットとアンカーからの相対キーにアップロードを開始し、認証情報を公開せずに返されたアップロードIDを記録します。
- 成功したパートの応答とETagを監視します。パート番号は1〜10,000、各パートの申告サイズは5 GiB以下に保ちます。
- パートが失敗したら同じ番号を再試行します。転送を断念する場合は未完了のままにせず、AbortMultipartUploadを送信します。
- アップロードを完了し、CompleteMultipartUploadの成功応答を確認します。完了時にスコープ、ロール、容量制限、バックアップロック、合計サイズの制限が再確認されます。
HEADを使用して保存されたContent-Lengthを転送元のバイト数と比較し、マルチパートETagを記録します。より厳密な検証が必要な場合は、内容をダウンロードするかサンプルを確認します。

期待される結果
指定したキーに、転送元と同じバイト数の完全なdosyaファイルが1件表示されます。マルチパートETagは想定されたマルチパート形式で組み立てられたことを示す記録であり、ファイル全体のMD5チェックサムではありません。
完了時にQuotaExceeded、EntityTooLarge、ロックによる拒否、またはNoSuchUploadが返された場合、ファイルが保存されたと決めつけないでください。原因を解消し、まだ有効なアップロードを中止して、新しいマルチパートセッションを開始します。現在のマルチパート完了処理では認証情報とロールのファイルサイズ制限および容量制限が適用されますが、ワークスペースのmax_file_size_gb設定は適用されません。
関連ガイド
この記事は役に立ちましたか?
評価の結果を読み込んでいます…
投票すると、回答を変更できるように、必要な投票用Cookieが最長180日間保存されます。
質問と回答
このガイドの手順について質問できます。質問は確認後に公開されます。
公開の質問には、アカウントの詳細、認証情報、非公開ファイルを含めないでください。これらについては 非公開サポート をご利用ください。
質問を読み込んでいます…
dosyaアカウントにサインインすると、質問を投稿できます。