Multipart
Data & Analytics > Data Lake Storage > Amazon S3 호환 API 가이드 > Multipart
AbortMultipartUpload
진행 중인 멀티파트 업로드를 중단합니다.
요청
DELETE /{bucket}/{objectKey}?uploadId={uploadId} HTTP/1.1
요청 헤더
Data Lake Storage API에서 공통으로 사용하는 헤더 정보는 Data Lake Storage API 요청 헤더 가이드를 참고하세요.
요청 파라미터
| 이름 |
구분 |
타입 |
필수 |
설명 |
| bucket |
Path |
String |
Y |
버킷 이름 |
| objectKey |
Path |
String |
Y |
객체 이름 |
| x-amz-storage-class |
Header |
String |
N |
스토리지 클래스 |
| uploadId |
Parameter |
String |
Y |
멀티파트 업로드 ID |
응답
HTTP/1.1 204 No Content
CompleteMultipartUpload
업로드된 파트들을 조합하여 객체를 저장하고 멀티파트 업로드를 완료합니다.
요청
POST /{bucket}/{objectKey}?uploadId={uploadId} HTTP/1.1
x-amz-checksum-crc32: ChecksumCRC32
x-amz-checksum-crc32c: ChecksumCRC32C
x-amz-checksum-crc64nvme: ChecksumCRC64NVME
x-amz-checksum-sha1: ChecksumSHA1
x-amz-checksum-sha256: ChecksumSHA256
x-amz-checksum-sha512: ChecksumSHA512
x-amz-checksum-md5: ChecksumMD5
x-amz-checksum-xxhash64: ChecksumXXHASH64
x-amz-checksum-xxhash3: ChecksumXXHASH3
x-amz-checksum-xxhash128: ChecksumXXHASH128
x-amz-checksum-type: ChecksumType
<?xml version="1.0" encoding="UTF-8"?>
<CompleteMultipartUpload xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Part>
<ChecksumCRC32>string</ChecksumCRC32>
<ChecksumCRC32C>string</ChecksumCRC32C>
<ChecksumCRC64NVME>string</ChecksumCRC64NVME>
<ChecksumMD5>string</ChecksumMD5>
<ChecksumSHA1>string</ChecksumSHA1>
<ChecksumSHA256>string</ChecksumSHA256>
<ChecksumSHA512>string</ChecksumSHA512>
<ChecksumXXHASH128>string</ChecksumXXHASH128>
<ChecksumXXHASH3>string</ChecksumXXHASH3>
<ChecksumXXHASH64>string</ChecksumXXHASH64>
<PartNumber>Integer</PartNumber>
<ETag>String</ETag>
</Part>
</CompleteMultipartUpload>
요청 헤더
Data Lake Storage API에서 공통으로 사용하는 헤더 정보는 Data Lake Storage API 요청 헤더 가이드를 참고하세요.
| 이름 |
필수 여부 |
설명 |
| x-amz-checksum-crc32 |
N |
데이터 무결성 검증을 위한 헤더. 객체의 32비트 CRC32 체크섬 값을 Base64로 인코딩한 값 |
| x-amz-checksum-crc32c |
N |
데이터 무결성 검증을 위한 헤더. 객체의 32비트 CRC32C 체크섬 값을 Base64로 인코딩한 값 |
| x-amz-checksum-crc64nvme |
N |
데이터 무결성 검증을 위한 헤더. 객체의 64비트 CRC64NVME 체크섬 값을 Base64로 인코딩한 값 |
| x-amz-checksum-sha1 |
N |
데이터 무결성 검증을 위한 헤더. 객체의 160비트 SHA1 다이제스트 값을 Base64로 인코딩한 값 |
| x-amz-checksum-sha256 |
N |
데이터 무결성 검증을 위한 헤더. 객체의 256비트 SHA256 다이제스트 값을 Base64로 인코딩한 값 |
| x-amz-checksum-sha512 |
N |
데이터 무결성 검증을 위한 헤더. 객체의 512비트 SHA512 다이제스트 값을 Base64로 인코딩한 값 |
| x-amz-checksum-md5 |
N |
데이터 무결성 검증을 위한 헤더. 객체의 128비트 MD5 다이제스트 값을 Base64로 인코딩한 값 |
| x-amz-checksum-xxhash64 |
N |
데이터 무결성 검증을 위한 헤더. 객체의 64비트 XXHASH64 체크섬 값을 Base64로 인코딩한 값 |
| x-amz-checksum-xxhash3 |
N |
데이터 무결성 검증을 위한 헤더. 객체의 64비트 XXHASH3 체크섬 값을 Base64로 인코딩한 값 |
| x-amz-checksum-xxhash128 |
N |
데이터 무결성 검증을 위한 헤더. 객체의 128비트 XXHASH128 체크섬 값을 Base64로 인코딩한 값 |
| x-amz-checksum-type |
N |
멀티파트 업로드에서 파트별 체크섬을 결합하여 객체 수준의 체크섬을 생성하는 방식. CreateMultipartUpload 요청에서 지정한 체크섬 타입과 일치하지 않을 경우 BadDigest 오류가 반환됩니다. 유효한 값: COMPOSITE \| FULL_OBJECT |
요청 파라미터
| 이름 |
구분 |
타입 |
필수 |
설명 |
| bucket |
Path |
String |
Y |
버킷 이름 |
| objectKey |
Path |
String |
Y |
객체 이름 |
| x-amz-storage-class |
Header |
String |
N |
스토리지 클래스 |
| uploadId |
Parameter |
String |
Y |
멀티파트 업로드 ID |
요청 본문
| 이름 |
타입 |
필수 |
설명 |
| CompleteMultipartUpload |
Object |
Y |
멀티파트 업로드 완료 요청 |
| CompleteMultipartUpload.Part |
Object |
N |
파트 목록 |
| CompleteMultipartUpload.Part.PartNumber |
Integer |
N |
파트 번호 |
| CompleteMultipartUpload.Part.ETag |
String |
N |
객체 고유 식별자 |
| CompleteMultipartUpload.Part.ChecksumCRC32 |
String |
N |
파트의 32비트 CRC32 체크섬 값을 Base64로 인코딩한 값 |
| CompleteMultipartUpload.Part.ChecksumCRC32C |
String |
N |
파트의 32비트 CRC32C 체크섬 값을 Base64로 인코딩한 값 |
| CompleteMultipartUpload.Part.ChecksumCRC64NVME |
String |
N |
파트의 64비트 CRC64NVME 체크섬 값을 Base64로 인코딩한 값 |
| CompleteMultipartUpload.Part.ChecksumSHA1 |
String |
N |
파트의 160비트 SHA1 체크섬 값을 Base64로 인코딩한 값 |
| CompleteMultipartUpload.Part.ChecksumSHA256 |
String |
N |
파트의 256비트 SHA256 체크섬 값을 Base64로 인코딩한 값 |
| CompleteMultipartUpload.Part.ChecksumSHA512 |
String |
N |
파트의 512비트 SHA512 체크섬 값을 Base64로 인코딩한 값 |
| CompleteMultipartUpload.Part.ChecksumMD5 |
String |
N |
파트의 128비트 MD5 체크섬 값을 Base64로 인코딩한 값 |
| CompleteMultipartUpload.Part.ChecksumXXHASH64 |
String |
N |
파트의 64비트 XXHASH64 체크섬 값을 Base64로 인코딩한 값 |
| CompleteMultipartUpload.Part.ChecksumXXHASH3 |
String |
N |
파트의 64비트 XXHASH3 체크섬 값을 Base64로 인코딩한 값 |
| CompleteMultipartUpload.Part.ChecksumXXHASH128 |
String |
N |
파트의 128비트 XXHASH128 체크섬 값을 Base64로 인코딩한 값 |
응답
HTTP/1.1 200 OK
<?xml version="1.0" encoding="UTF-8"?>
<CompleteMultipartUploadResult>
<Location>String</Location>
<Bucket>String</Bucket>
<Key>String</Key>
<ETag>String</ETag>
<ChecksumCRC32>string</ChecksumCRC32>
<ChecksumCRC32C>string</ChecksumCRC32C>
<ChecksumCRC64NVME>string</ChecksumCRC64NVME>
<ChecksumSHA1>string</ChecksumSHA1>
<ChecksumSHA256>string</ChecksumSHA256>
<ChecksumSHA512>string</ChecksumSHA512>
<ChecksumMD5>string</ChecksumMD5>
<ChecksumXXHASH64>string</ChecksumXXHASH64>
<ChecksumXXHASH3>string</ChecksumXXHASH3>
<ChecksumXXHASH128>string</ChecksumXXHASH128>
<ChecksumType>string</ChecksumType>
</CompleteMultipartUploadResult>
응답 본문
| 이름 |
타입 |
설명 |
| CompleteMultipartUploadResult |
Object |
멀티파트 업로드 완료 결과 |
| CompleteMultipartUploadResult.Location |
String |
생성된 객체 경로 |
| CompleteMultipartUploadResult.Bucket |
String |
대상 버킷 이름 |
| CompleteMultipartUploadResult.Key |
String |
생성된 객체 키 |
| CompleteMultipartUploadResult.ETag |
String |
최종 결합된 객체 고유 식별자 |
| CompleteMultipartUploadResult.ChecksumCRC32 |
String |
파트의 32비트 CRC32 체크섬 값을 Base64로 인코딩한 값 |
| CompleteMultipartUploadResult.ChecksumCRC32C |
String |
파트의 32비트 CRC32C 체크섬 값을 Base64로 인코딩한 값 |
| CompleteMultipartUploadResult.ChecksumCRC64NVME |
String |
파트의 64비트 CRC64NVME 체크섬 값을 Base64로 인코딩한 값 |
| CompleteMultipartUploadResult.ChecksumSHA1 |
String |
파트의 160비트 SHA1 체크섬 값을 Base64로 인코딩한 값 |
| CompleteMultipartUploadResult.ChecksumSHA256 |
String |
파트의 256비트 SHA256 체크섬 값을 Base64로 인코딩한 값 |
| CompleteMultipartUploadResult.ChecksumSHA512 |
String |
파트의 512비트 SHA512 체크섬 값을 Base64로 인코딩한 값 |
| CompleteMultipartUploadResult.ChecksumMD5 |
String |
파트의 128비트 MD5 체크섬 값을 Base64로 인코딩한 값 |
| CompleteMultipartUploadResult.ChecksumXXHASH64 |
String |
파트의 64비트 XXHASH64 체크섬 값을 Base64로 인코딩한 값 |
| CompleteMultipartUploadResult.ChecksumXXHASH3 |
String |
파트의 64비트 XXHASH3 체크섬 값을 Base64로 인코딩한 값 |
| CompleteMultipartUploadResult.ChecksumXXHASH128 |
String |
파트의 128비트 XXHASH128 체크섬 값을 Base64로 인코딩한 값 |
CreateMultipartUpload
대용량 객체를 업로드할 수 있도록 멀티파트 업로드를 시작하고 업로드 ID를 생성합니다. 업로드 ID는 최대 한 시간 동안 유효합니다.
요청
POST /{bucket}/{objectKey}?uploads HTTP/1.1
x-amz-checksum-algorithm: ChecksumAlgorithm
x-amz-checksum-type: ChecksumType
요청 헤더
Data Lake Storage API에서 공통으로 사용하는 헤더 정보는 Data Lake Storage API 요청 헤더 가이드를 참고하세요.
| 필드 |
필수 여부 |
설명 |
| x-amz-checksum-algorithm |
N |
객체의 체크섬 생성에 사용할 알고리즘을 지정. 유효한 값: CRC32 \| CRC32C \| SHA1 \| SHA256 \| CRC64NVME \| SHA512 \| MD5 \| XXHASH64 \| XXHASH3 \| XXHASH128 |
| x-amz-checksum-type |
N |
객체의 체크섬 값을 계산하는 방식을 지정. 유효한 값: COMPOSITE \| FULL_OBJECT |
요청 파라미터
| 이름 |
구분 |
타입 |
필수 |
설명 |
| bucket |
Path |
String |
Y |
버킷 이름 |
| objectKey |
Path |
String |
Y |
객체 이름 |
| Content-Type |
Header |
String |
N |
객체 콘텐츠 타입 |
| x-amz-storage-class |
Header |
String |
N |
스토리지 클래스 |
| x-amz-meta-* |
Header |
String |
N |
사용자 정의 메타데이터 |
응답
HTTP/1.1 200 OK
x-amz-checksum-algorithm: ChecksumAlgorithm
x-amz-checksum-type: ChecksumType
<?xml version="1.0" encoding="UTF-8"?>
<InitiateMultipartUploadResult>
<Bucket>String</Bucket>
<Key>String</Key>
<UploadId>String</UploadId>
</InitiateMultipartUploadResult>
응답 헤더
| 필드 |
설명 |
| x-amz-checksum-algorithm |
객체의 체크섬 생성에 사용한 알고리즘 값 |
| x-amz-checksum-type |
객체의 체크섬 값을 계산한 방식 |
응답 본문
| 이름 |
타입 |
설명 |
| InitiateMultipartUploadResult |
Object |
멀티파트 업로드 시작 결과 |
| InitiateMultipartUploadResult.Bucket |
String |
대상 버킷 이름 |
| InitiateMultipartUploadResult.Key |
String |
객체 키 |
| InitiateMultipartUploadResult.UploadId |
String |
멀티파트 업로드 ID |
ListParts
멀티파트 업로드의 파트 목록을 조회합니다.
요청
GET /{bucket}/{objectKey}?uploadId={uploadId} HTTP/1.1
요청 헤더
Data Lake Storage API에서 공통으로 사용하는 헤더 정보는 Data Lake Storage API 요청 헤더 가이드를 참고하세요.
요청 파라미터
| 이름 |
구분 |
타입 |
필수 |
설명 |
| bucket |
Path |
String |
Y |
버킷 이름 |
| objectKey |
Path |
String |
Y |
객체 이름 |
| x-amz-storage-class |
Header |
String |
N |
스토리지 클래스 |
| uploadId |
Parameter |
String |
Y |
멀티파트 업로드 ID |
응답
HTTP/1.1 200 OK
<?xml version="1.0" encoding="UTF-8"?>
<ListPartsResult>
<Bucket>String</Bucket>
<Key>String</Key>
<UploadId>String</UploadId>
<StorageClass>String</StorageClass>
<PartNumberMarker>Integer</PartNumberMarker>
<NextPartNumberMarker>Integer</NextPartNumberMarker>
<MaxParts>Integer</MaxParts>
<IsTruncated>Boolean</IsTruncated>
<Part>
<PartNumber>Integer</PartNumber>
<LastModified>Timestamp</LastModified>
<ETag>String</ETag>
<Size>Long</Size>
</Part>
</ListPartsResult>
응답 본문
| 이름 |
타입 |
설명 |
| ListPartsResult |
Object |
파트 목록 조회 결과 |
| ListPartsResult.Bucket |
String |
버킷 이름 |
| ListPartsResult.Key |
String |
객체 키 |
| ListPartsResult.UploadId |
String |
멀티파트 업로드 ID |
| ListPartsResult.StorageClass |
String |
스토리지 클래스 |
| ListPartsResult.PartNumberMarker |
Integer |
조회 시작 기준 |
| ListPartsResult.NextPartNumberMarker |
Integer |
다음 조회 시작 기준 |
| ListPartsResult.MaxParts |
Integer |
최대 파트 수 |
| ListPartsResult.IsTruncated |
Boolean |
추가 페이지 존재 여부 |
| ListPartsResult.Part |
Object |
파트 정보 |
| ListPartsResult.Part.PartNumber |
Integer |
파트 번호 |
| ListPartsResult.Part.LastModified |
Timestamp |
마지막 수정 일시(ISO 8601 형식) |
| ListPartsResult.Part.ETag |
String |
파트 객체 고유 식별자 |
| ListPartsResult.Part.Size |
Long |
파트 크기(바이트) |
UploadPart
멀티파트 업로드의 파트를 업로드합니다. 업로드하기 전 CreateMultipartUpload API를 호출하여 멀티파트 업로드 ID를 생성해야 합니다.
요청
PUT /{bucket}/{objectKey}?partNumber={partNumber}&uploadId={uploadId} HTTP/1.1
Content-Length: ContentLength
Content-MD5: ContentMD5
x-amz-sdk-checksum-algorithm: ChecksumAlgorithm
x-amz-checksum-crc32: ChecksumCRC32
x-amz-checksum-crc32c: ChecksumCRC32C
x-amz-checksum-crc64nvme: ChecksumCRC64NVME
x-amz-checksum-sha1: ChecksumSHA1
x-amz-checksum-sha256: ChecksumSHA256
x-amz-checksum-sha512: ChecksumSHA512
x-amz-checksum-md5: ChecksumMD5
x-amz-checksum-xxhash64: ChecksumXXHASH64
x-amz-checksum-xxhash3: ChecksumXXHASH3
x-amz-checksum-xxhash128: ChecksumXXHASH128
body
요청 헤더
Data Lake Storage API에서 공통으로 사용하는 헤더 정보는 Data Lake Storage API 요청 헤더 가이드를 참고하세요.
| 필드 |
필수 여부 |
설명 |
| Content-Length |
N |
요청 본문의 크기(바이트). 본문의 크기를 자동으로 결정할 수 없는 경우 사용 |
| Content-MD5 |
N |
파트 데이터의 128비트 MD5 다이제스트 값을 Base64로 인코딩한 값 |
| x-amz-checksum-crc32 |
N |
파트의 32비트 CRC32 체크섬 값을 Base64로 인코딩한 값 |
| x-amz-checksum-crc32c |
N |
파트의 32비트 CRC32C 체크섬 값을 Base64로 인코딩한 값 |
| x-amz-checksum-crc64nvme |
N |
파트의 64비트 CRC64NVME 체크섬 값을 Base64로 인코딩한 값 |
| x-amz-checksum-sha1 |
N |
파트의 160비트 SHA1 다이제스트 값을 Base64로 인코딩한 값 |
| x-amz-checksum-sha256 |
N |
파트의 256비트 SHA256 다이제스트 값을 Base64로 인코딩한 값 |
| x-amz-checksum-sha512 |
N |
파트의 512비트 SHA512 다이제스트 값을 Base64로 인코딩한 값 |
| x-amz-checksum-md5 |
N |
파트의 128비트 MD5 다이제스트 값을 Base64로 인코딩한 값 |
| x-amz-checksum-xxhash64 |
N |
파트의 64비트 XXHASH64 체크섬 값을 Base64로 인코딩한 값 |
| x-amz-checksum-xxhash3 |
N |
파트의 64비트 XXHASH3 체크섬 값을 Base64로 인코딩한 값 |
| x-amz-checksum-xxhash128 |
N |
파트의 128비트 XXHASH128 체크섬 값을 Base64로 인코딩한 값 |
요청 파라미터
| 이름 |
구분 |
타입 |
필수 |
설명 |
| bucket |
Path |
String |
Y |
버킷 이름 |
| objectKey |
Path |
String |
Y |
객체 이름 |
| x-amz-storage-class |
Header |
String |
N |
스토리지 클래스 |
| partNumber |
Parameter |
Integer |
Y |
파트 번호(1~10,000) |
| uploadId |
Parameter |
String |
Y |
멀티파트 업로드 ID |
요청 본문
| 이름 |
타입 |
필수 |
설명 |
| Body |
Binary |
Y |
파트 바이너리 데이터, 최대 5GiB까지 업로드 가능 |
응답
HTTP/1.1 200 OK
ETag: ETag
x-amz-checksum-crc32: ChecksumCRC32
x-amz-checksum-crc32c: ChecksumCRC32C
x-amz-checksum-crc64nvme: ChecksumCRC64NVME
x-amz-checksum-sha1: ChecksumSHA1
x-amz-checksum-sha256: ChecksumSHA256
x-amz-checksum-sha512: ChecksumSHA512
x-amz-checksum-md5: ChecksumMD5
x-amz-checksum-xxhash64: ChecksumXXHASH64
x-amz-checksum-xxhash3: ChecksumXXHASH3
x-amz-checksum-xxhash128: ChecksumXXHASH128
응답 헤더
| 필드 |
설명 |
| ETag |
업로드된 파트의 엔티티 태그 |
| x-amz-checksum-crc32 |
파트의 32비트 CRC32 체크섬 값을 Base64로 인코딩한 값 |
| x-amz-checksum-crc32c |
파트의 32비트 CRC32C 체크섬 값을 Base64로 인코딩한 값 |
| x-amz-checksum-crc64nvme |
파트의 64비트 CRC64NVME 체크섬 값을 Base64로 인코딩한 값 |
| x-amz-checksum-sha1 |
파트의 160비트 SHA1 체크섬 값을 Base64로 인코딩한 값 |
| x-amz-checksum-sha256 |
파트의 256비트 SHA256 체크섬 값을 Base64로 인코딩한 값 |
| x-amz-checksum-sha512 |
파트의 512비트 SHA512 체크섬 값을 Base64로 인코딩한 값 |
| x-amz-checksum-md5 |
파트의 128비트 MD5 체크섬 값을 Base64로 인코딩한 값 |
| x-amz-checksum-xxhash64 |
파트의 64비트 XXHASH64 체크섬 값을 Base64로 인코딩한 값 |
| x-amz-checksum-xxhash3 |
파트의 64비트 XXHASH3 체크섬 값을 Base64로 인코딩한 값 |
| x-amz-checksum-xxhash128 |
파트의 128비트 XXHASH128 체크섬 값을 Base64로 인코딩한 값 |