AWS CLI aws s3api コマンドで大きなファイルを複数に分割して Amazon S3 にアップロードする方法

環境
AWS CLI
AWS S3
RHEL9.2

操作方法
1.splitコマンドでアップロードするファイルを、複数のパートに分割します。

2.以下のコマンドを実行して、マルチパートアップロードを開始して、関連付けられたアップロード ID を取得します。

aws s3api create-multipart-upload --bucket DOC-EXAMPLE-BUCKET --key large_file

3.上記のコマンドは、UploadID を含む応答を返します。

4.以下のコマンドを実行して、ファイルの最初のパートをアップロードします。すべての値をバケット、
ファイル、マルチパートアップロードの値に変更します。

aws s3api upload-part --bucket DOC-EXAMPLE-BUCKET --key large_test_file --part-number 1 --body large_test_file.001 --upload-id UploadID値 --content-md5 ヘッダー値

5.上記のコマンドは、アップロードされたファイルの一部である ETag 値を含む応答を返します。

6.ファイルの各パートで手順 4 および 5 を繰り返します。アップロードする新規のパートごとに 1 ずつパート番号を大きくします。

7.すべてのファイルパートをアップロードしたら、次のコマンドを実行します。

aws s3api list-parts --bucket DOC-EXAMPLE-BUCKET --key large_file --upload-id UploadID値

8.アップロードした各ファイルパートの ETag 値を JSON 形式のファイルとしてコンパイルします。

{
"Parts": [{
"ETag": "xxx",
"PartNumber":1
},

9.ファイルに fileparts.json という名前を付けます。

10.以下コマンドを実行して、マルチパートアップロードを実行します。

aws s3api complete-multipart-upload --multipart-upload file://fileparts.json --bucket DOC-EXAMPLE-BUCKET --key large_test_file --upload-id UploadID値

引用元
https://repost.aws/ja/knowledge-center/s3-multipart-upload-cli

AWS

Posted by arkgame