以下の内容はhttps://ebc-2in2crc.hatenablog.jp/entry/2021/07/13/230906より取得しました。


巨大なファイルを S3 にアップロードするのが `Part number must be an integer between 1 and 10000, inclusive` のエラーになるときにやったことのメモ。

巨大なファイルを S3 にアップロードするのが Part number must be an integer between 1 and 10000, inclusive のエラーになるときにやったことをメモしておく。

なにをしたらどんなことがおきるか

100GB くらいのファイルを aws s3 cp コマンドで S3 にアップロードしたらこんなエラーになった。

An error occurred (InvalidArgument) when calling the UploadPart operation: Part number must be an integer between 1 and 10000, inclusive

AWS CLI のバージョン。

$ aws --version

どうしたか

aws s3 cp の公式ドキュメントを見てみた。

aws s3 cp の公式ドキュメントは「ストリームを S3 にアップロードしててストリームのサイズが 50GB より大きい場合は ストリームの予想サイズを ----expected-size オプションに指定しないと失敗することがあるよ」と書いているので、 --expected-size= 107374182400 みたいに --expected-size を指定したらエラーにならなくなった。

たぶんだけどストリームを S3 にアップロードするときはチャンク数が最大でも 10000 の制限がありそう。 --expected-size オプションでストリームの予想サイズを指定するとストリームをチャンクに分割するときにチャンク数が 10000 を超えないようにチャンクサイズを決めてそう。

This argument specifies the expected size of a stream in terms of bytes. Note that this argument is needed only when a stream is being uploaded to s3 and the size is larger than 50GB. Failure to include this argument under these conditions may result in a failed upload due to too many parts in upload.

参考サイト




以上の内容はhttps://ebc-2in2crc.hatenablog.jp/entry/2021/07/13/230906より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14