원본 파일이 대용량일 경우 파트를 나눠서 업로드 방법에 대해 안내합니다.
멀티파트 업로드를 진행하는 경우에 아래와 같은 특이사항이 있습니다.
cli를 통해 멀티파트 업로드 작업을 진행하는 방법에 대해 안내합니다.
split -n 4 -d C0031.MP4 C0031.MP4_
aws s3api create-multipart-upload --bucket DOC-EXAMPLE-BUCKET --key large_test_file
aws s3api upload-part --bucket DOC-EXAMPLE-BUCKET --key large_test_file --part-number 1 --body large_test_file.001 --upload-id exampleTUVGeKAk3Ob7qMynRKqe3ROcavPRwg92eA6JPD4ybIGRxJx9R0VbgkrnOVphZFK59KCYJAO1PXlrBSW7vcH7ANHZwTTf0ovqe6XPYHwsSp7eTRnXB1qjx40Tk
aws s3api list-parts --bucket DOC-EXAMPLE-BUCKET --key large_test_file --upload-id exampleTUVGeKAk3Ob7qMynRKqe3ROcavPRwg92eA6JPD4ybIGRxJx9R0VbgkrnOVphZFK59KCYJAO1PXlrBSW7vcH7ANHZwTTf0ovqe6XPYHwsSp7eTRnXB1qjx40Tk
{
"Parts": [{
"ETag": "c395b6f12e7584adddaabcea9ca3d395",
"PartNumber":1
},
{
"ETag": "da056bdd6302465d578092abc6b20015",
"PartNumber":2
},
{
"ETag": "67c70700534dd6744901411a67dc1c65",
"PartNumber":3
},
{
"ETag": "7bf86d1bd6e0b6a7ced153bc177ca768",
"PartNumber":4
}]
}
aws s3api complete-multipart-upload --multipart-upload file://fileparts.json --bucket DOC-EXAMPLE-BUCKET --key large_test_file --upload-id exampleTUVGeKAk3Ob7qMynRKqe3ROcavPRwg92eA6JPD4ybIGRxJx9R0VbgkrnOVphZFK59KCYJAO1PXlrBSW7vcH7ANHZwTTf0ovqe6XPYHwsSp7eTRnXB1qjx40Tk
{
"ETag": "\\"exampleae01633ff0af167d925cad279-2\\"",
"Bucket": "DOC-EXAMPLE-BUCKET",
"Location": "https://DOC-EXAMPLE-BUCKET.s3.amazonaws.com/large_test_file",
"Key": "large_test_file"
}
네트워크 환경이 좋지 않거나 파일의 크기가 커서 시간이 다소 필요한 경우에 해당 방법을 사용할 수 있습니다.
하지만 상당히 번거로운 작업 과정이 필요하기 때문에 AWS SDK를 통해 구현한 transfer manager와 같은 오픈 소스 등을 활용할 수 있습니다.
위 가이드에 대한 자세한 사항은 공식 문서에서 확인이 가능합니다.