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