3.5. S3 오브젝트 작업
개발자는 Ceph Object Gateway를 통해 Amazon S3 API(애플리케이션 프로그래밍 인터페이스)를 사용하여 개체 작업을 수행할 수 있습니다.
다음 표에는 함수의 지원 상태와 함께 오브젝트에 대한 Amazon S3 기능 작업이 나열되어 있습니다.
기능 | 상태 |
---|---|
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
Multi-Tenancy | 지원됨 |
3.5.1. 사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- RESTful 클라이언트.
3.5.2. S3 버킷에서 오브젝트를 가져옵니다.
버킷에서 오브젝트를 검색합니다.
구문
GET /BUCKET/OBJECT HTTP/1.1
versionId
하위 리소스를 추가하여 특정 버전의 오브젝트를 검색합니다.
구문
GET /BUCKET/OBJECT?versionId=VERSION_ID HTTP/1.1
요청 헤더
partNumber
- 설명
-
읽을 개체의 일부입니다. 이렇게 하면 지정된 부분에 대해 범위가 지정된
GET
요청이 활성화됩니다. 이 요청을 사용하면 오브젝트의 일부만 다운로드하는 데 유용합니다. - 유효한 값
- 1에서 10,000 사이의 양의 정수입니다.
- 필수 항목
- 없음
범위
- 설명
검색할 오브젝트의 범위입니다.
참고GET 요청당 여러 데이터 범위가 지원되지 않습니다.
- 유효한 값
- Range:bytes=beginbyte-endbyte
- 필수 항목
- 없음
if-modified-since
- 설명
- 타임스탬프 이후 변경된 경우에만 가져옵니다.Gets only if modified since the timestamp.
- 유효한 값
- Timestamp
- 필수 항목
- 없음
if-unmodified-since
- 설명
- 타임스탬프 이후 수정되지 않은 경우에만 가져옵니다.
- 유효한 값
- Timestamp
- 필수 항목
- 없음
if-match
- 설명
- ETag 개체가 ETag와 일치하는 경우에만 가져옵니다.
- 유효한 값
- 엔터티 태그
- 필수 항목
- 없음
if-none-match
- 설명
- ETag 개체가 ETag와 일치하는 경우에만 가져옵니다.
- 유효한 값
- 엔터티 태그
- 필수 항목
- 없음
요청 헤더가 있는 Sytnax
GET /BUCKET/OBJECT?partNumber=PARTNUMBER&versionId=VersionId HTTP/1.1 Host: Bucket.s3.amazonaws.com If-Match: IfMatch If-Modified-Since: IfModifiedSince If-None-Match: IfNoneMatch If-Unmodified-Since: IfUnmodifiedSince Range: Range
응답 헤더
content-Range
- 설명
- 데이터 범위는 범위 헤더 필드가 요청에 지정된 경우에만 반환됩니다.
x-amz-version-id
- 설명
- 버전 ID 또는 null을 반환합니다.
3.5.3. S3 개체에 대한 정보 가져오기
개체에 대한 정보를 반환합니다. 이 요청은 Get Object 요청과 동일한 헤더 정보를 반환하지만 개체 데이터 페이로드가 아닌 메타데이터만 포함합니다.
현재 버전의 오브젝트를 검색합니다.
구문
HEAD /BUCKET/OBJECT HTTP/1.1
versionId
하위 리소스를 추가하여 특정 버전에 대한 정보를 검색합니다.
구문
HEAD /BUCKET/OBJECT?versionId=VERSION_ID HTTP/1.1
요청 헤더
범위
- 설명
- 검색할 오브젝트의 범위입니다.
- 유효한 값
- Range:bytes=beginbyte-endbyte
- 필수 항목
- 없음
if-modified-since
- 설명
- 타임스탬프 이후 변경된 경우에만 가져옵니다.Gets only if modified since the timestamp.
- 유효한 값
- Timestamp
- 필수 항목
- 없음
if-match
- 설명
- ETag 개체가 ETag와 일치하는 경우에만 가져옵니다.
- 유효한 값
- 엔터티 태그
- 필수 항목
- 없음
if-none-match
- 설명
- ETag 개체가 ETag와 일치하는 경우에만 가져옵니다.
- 유효한 값
- 엔터티 태그
- 필수 항목
- 없음
응답 헤더
x-amz-version-id
- 설명
- 버전 ID 또는 null을 반환합니다.
3.5.4. S3 put 오브젝트 잠금
put 오브젝트 잠금 API는 선택한 버킷에 잠금 구성을 배치합니다. 개체 잠금을 사용하면 WORM(Write -once-read-many) 모델을 사용하여 개체를 저장할 수 있습니다. 개체 잠금은 고정된 시간 또는 무기한에 대해 개체를 삭제하거나 덮어쓰지 않도록 합니다. 오브젝트 잠금 구성에 지정된 규칙은 기본적으로 선택한 버킷에 배치된 모든 새 오브젝트에 적용됩니다.
버킷을 만들 때 오브젝트 잠금을 활성화합니다. 그렇지 않으면 작업이 실패합니다.
구문
PUT /BUCKET?object-lock HTTP/1.1
예제
PUT /testbucket?object-lock HTTP/1.1
요청 엔티티
ObjectLockConfiguration
- 설명
- 요청에 대한 컨테이너입니다.
- 유형
- 컨테이너
- 필수 항목
- 있음
ObjectLockEnabled
- 설명
- 이 버킷에 개체 잠금 구성이 활성화되어 있는지 여부를 나타냅니다.
- 유형
- 문자열
- 필수 항목
- 있음
Rule
- 설명
- 지정된 버킷에 대한 오브젝트 잠금 규칙입니다.
- 유형
- 컨테이너
- 필수 항목
- 없음
DefaultRetention
- 설명
- 지정된 버킷에 배치된 새 오브젝트에 적용되는 기본 보존 기간입니다.
- 유형
- 컨테이너
- 필수 항목
- 없음
mode
- 설명
- 기본 오브젝트 잠금 보존 모드입니다. 유효한 값: GOVERNANCE/COMPLIANCE.
- 유형
- 컨테이너
- 필수 항목
- 있음
days
- 설명
- 기본 보존 기간에 지정된 일 수입니다.
- 유형
- 정수
- 필수 항목
- 없음
년
- 설명
- 기본 보존 기간에 지정된 연도 수입니다.
- 유형
- 정수
- 필수 항목
- 없음
HTTP 응답
400
- 상태 코드
-
MalformedXML
- 설명
- XML이 제대로 포맷되지 않았습니다.
409
- 상태 코드
-
InvalidBucketState
- 설명
- 버킷 오브젝트 잠금이 활성화되지 않습니다.
추가 리소스
- 이 API 호출에 대한 자세한 내용은 S3 API 를 참조하십시오.
3.5.5. S3 개체 잠금을 가져옵니다.
get 오브젝트 잠금 API는 버킷의 잠금 구성을 검색합니다.
구문
GET /BUCKET?object-lock HTTP/1.1
예제
GET /testbucket?object-lock HTTP/1.1
응답 엔티티
ObjectLockConfiguration
- 설명
- 요청에 대한 컨테이너입니다.
- 유형
- 컨테이너
- 필수 항목
- 있음
ObjectLockEnabled
- 설명
- 이 버킷에 개체 잠금 구성이 활성화되어 있는지 여부를 나타냅니다.
- 유형
- 문자열
- 필수 항목
- 있음
Rule
- 설명
- 지정된 버킷에 대해 개체 잠금 규칙이 위치합니다.
- 유형
- 컨테이너
- 필수 항목
- 없음
DefaultRetention
- 설명
- 지정된 버킷에 배치된 새 오브젝트에 적용되는 기본 보존 기간입니다.
- 유형
- 컨테이너
- 필수 항목
- 없음
mode
- 설명
- 기본 오브젝트 잠금 보존 모드입니다. 유효한 값: GOVERNANCE/COMPLIANCE.
- 유형
- 컨테이너
- 필수 항목
- 있음
days
- 설명
- 기본 보존 기간에 지정된 일 수입니다.
- 유형
- 정수
- 필수 항목
- 없음
년
- 설명
- 기본 보존 기간에 지정된 연도 수입니다.
- 유형
- 정수
- 필수 항목
- 없음
추가 리소스
- 이 API 호출에 대한 자세한 내용은 S3 API 를 참조하십시오.
3.5.6. S3 put object legal hold
put 오브젝트의 법적 보류 API는 선택한 오브젝트에 법적 보류 설정을 적용합니다. 법적인 보유를 갖추면 오브젝트 버전을 덮어쓰거나 삭제할 수 없습니다. 법적 보관 기간에는 관련 보관 기간이 없으며 명시적으로 제거할 때까지 그대로 유지됩니다.
구문
PUT /BUCKET/OBJECT?legal-hold&versionId= HTTP/1.1
예제
PUT /testbucket/testobject?legal-hold&versionId= HTTP/1.1
versionId
하위 리소스는 특정 버전의 오브젝트를 검색합니다.
요청 엔티티
LegalHold
- 설명
- 요청에 대한 컨테이너입니다.
- 유형
- 컨테이너
- 필수 항목
- 있음
상태
- 설명
- 지정된 개체에 법적 보유가 있는지 여부를 나타냅니다.Indicates whether the specified object has a legal hold in place. 유효한 값: ON/OFF
- 유형
- 문자열
- 필수 항목
- 있음
추가 리소스
- 이 API 호출에 대한 자세한 내용은 S3 API 를 참조하십시오.
3.5.7. S3의 개체 법적 유지
get object legal hold API는 오브젝트의 현재 법적 보유 상태를 검색합니다.
구문
GET /BUCKET/OBJECT?legal-hold&versionId= HTTP/1.1
예제
GET /testbucket/testobject?legal-hold&versionId= HTTP/1.1
versionId
하위 리소스는 특정 버전의 오브젝트를 검색합니다.
응답 엔티티
LegalHold
- 설명
- 요청에 대한 컨테이너입니다.
- 유형
- 컨테이너
- 필수 항목
- 있음
상태
- 설명
- 지정된 개체에 법적 보유가 있는지 여부를 나타냅니다.Indicates whether the specified object has a legal hold in place. 유효한 값: ON/OFF
- 유형
- 문자열
- 필수 항목
- 있음
추가 리소스
- 이 API 호출에 대한 자세한 내용은 S3 API 를 참조하십시오.
3.5.8. S3 put 오브젝트 보존
put 오브젝트 보존 API는 오브젝트 보존 구성을 배치합니다. 보존 기간은 고정된 기간 동안 오브젝트 버전을 보호합니다. 거버넌스 모드와 규정 준수 모드라는 두 가지 모드가 있습니다. 이 두 보존 모드는 오브젝트에 서로 다른 수준의 보호 모드를 적용합니다.
이 기간 동안 오브젝트는 write-once-read-many
(WORM protected)이며 덮어쓰거나 삭제할 수 없습니다.
구문
PUT /BUCKET/OBJECT?retention&versionId= HTTP/1.1
예제
PUT /testbucket/testobject?retention&versionId= HTTP/1.1
versionId
하위 리소스는 특정 버전의 오브젝트를 검색합니다.
요청 엔티티
보존
- 설명
- 요청에 대한 컨테이너입니다.
- 유형
- 컨테이너
- 필수 항목
- 있음
mode
- 설명
- 지정된 오브젝트의 보존 모드입니다. 유효한 값: GOVERNANCE/COMPLIANCE
- 유형
- 문자열
- 필수 항목
- 있음
RetainUntilDate
- 설명
- 보존 날짜. 형식: 2020-01-05T00:00:00.000Z
- 유형
- Timestamp
- 필수 항목
- 있음
추가 리소스
- 이 API 호출에 대한 자세한 내용은 S3 API 를 참조하십시오.
3.5.9. S3 가져오기 오브젝트 보존
get 오브젝트 보존 API는 오브젝트에서 오브젝트 보존 구성을 검색합니다.
구문
GET /BUCKET/OBJECT?retention&versionId= HTTP/1.1
예제
GET /testbucket/testobject?retention&versionId= HTTP/1.1
versionId
하위 리소스는 특정 버전의 오브젝트를 검색합니다.
응답 엔티티
보존
- 설명
- 요청에 대한 컨테이너입니다.
- 유형
- 컨테이너
- 필수 항목
- 있음
mode
- 설명
- 지정된 오브젝트의 보존 모드입니다. 유효한 값: GOVERNANCE/COMPLIANCE
- 유형
- 문자열
- 필수 항목
- 있음
RetainUntilDate
- 설명
- 보존 날짜. 형식: 2020-01-05T00:00:00.000Z
- 유형
- Timestamp
- 필수 항목
- 있음
추가 리소스
- 이 API 호출에 대한 자세한 내용은 S3 API 를 참조하십시오.
3.5.10. S3 put object tagging
put 오브젝트 태그 API는 태그와 오브젝트를 연결합니다. 태그는 키-값 쌍입니다. 다른 버전의 태그를 배치하려면 versionId
쿼리 매개 변수를 사용합니다. s3:PutObjectTagging
작업을 수행할 수 있는 권한이 있어야 합니다. 기본적으로 버킷 소유자는 이 권한을 가지며 다른 사용자에게 이 권한을 부여할 수 있습니다.
구문
PUT /BUCKET/OBJECT?tagging&versionId= HTTP/1.1
예제
PUT /testbucket/testobject?tagging&versionId= HTTP/1.1
요청 엔티티
태그
- 설명
- 요청에 대한 컨테이너입니다.
- 유형
- 컨테이너
- 필수 항목
- 있음
tagset
- 설명
- 태그 집합 컬렉션을 나타냅니다.Represents a collection of tags.
- 유형
- 문자열
- 필수 항목
- 있음
추가 리소스
- 이 API 호출에 대한 자세한 내용은 S3 API 를 참조하십시오.
3.5.11. S3 개체 태그 가져오기
get 오브젝트 태깅 API는 오브젝트의 태그를 반환합니다. 기본적으로 GET
작업은 오브젝트의 현재 버전에 대한 정보를 반환합니다.
버전이 지정된 버킷의 경우 버킷에 여러 버전의 오브젝트를 사용할 수 있습니다. 다른 버전의 태그를 검색하려면 요청에 versionId
쿼리 매개변수를 추가합니다.
구문
GET /BUCKET/OBJECT?tagging&versionId= HTTP/1.1
예제
GET /testbucket/testobject?tagging&versionId= HTTP/1.1
추가 리소스
- 이 API 호출에 대한 자세한 내용은 S3 API 를 참조하십시오.
3.5.12. S3 delete 오브젝트 태그
삭제 오브젝트 태그 API는 지정된 오브젝트에서 전체 태그 집합을 제거합니다. 이 작업을 사용하려면 s3:DeleteObjectTagging
작업을 수행할 수 있는 권한이 있어야 합니다.
특정 오브젝트 버전의 태그를 삭제하려면 요청에 versionId
쿼리 매개변수를 추가합니다.
구문
DELETE /BUCKET/OBJECT?tagging&versionId= HTTP/1.1
예제
DELETE /testbucket/testobject?tagging&versionId= HTTP/1.1
추가 리소스
- 이 API 호출에 대한 자세한 내용은 S3 API 를 참조하십시오.
3.5.13. S3 버킷에 오브젝트 추가
버킷에 오브젝트를 추가합니다. 이 작업을 수행하려면 버킷에 대한 쓰기 권한이 있어야 합니다.
구문
PUT /BUCKET/OBJECT HTTP/1.1
요청 헤더
content-md5
- 설명
- base64로 인코딩된 메시지의 MD-5 해시입니다.
- 유효한 값
- 문자열입니다. 기본값 또는 제약 조건이 없습니다.
- 필수 항목
- 없음
content-type
- 설명
- 표준 MIME 유형입니다.
- 유효한 값
-
모든 MIME 유형. 기본값:
binary/octet-stream
. - 필수 항목
- 없음
x-amz-meta-<…>*
- 설명
- 사용자 메타데이터. 오브젝트로 저장됩니다.
- 유효한 값
- 8kb 까지의 문자열입니다. 기본값 없음.
- 필수 항목
- 없음
x-amz-acl
- 설명
- 신뢰할 수 있는 ACL.
- 유효한 값
-
private
,public-read
,public-read-write
,authenticated-read
- 필수 항목
- 없음
응답 헤더
x-amz-version-id
- 설명
- 버전 ID 또는 null을 반환합니다.
3.5.14. S3 개체 삭제
개체를 제거합니다. 포함된 버킷에 WRITE 권한이 설정되어 있어야 합니다.
개체를 삭제합니다. 오브젝트 버전 관리가 설정되어 있으면 마커를 생성합니다.
구문
DELETE /BUCKET/OBJECT HTTP/1.1
버전 관리 시 오브젝트를 삭제하려면 versionId
하위 리소스 및 삭제할 오브젝트의 버전을 지정해야 합니다.
DELETE /BUCKET/OBJECT?versionId=VERSION_ID HTTP/1.1
3.5.15. S3 여러 오브젝트 삭제
이 API 호출은 버킷에서 여러 오브젝트를 삭제합니다.
구문
POST /BUCKET/OBJECT?delete HTTP/1.1
3.5.16. S3에서 개체의 ACL(액세스 제어 목록)을 가져옵니다.
현재 오브젝트 버전에 대한 ACL을 반환합니다.
구문
GET /BUCKET/OBJECT?acl HTTP/1.1
versionId
하위 리소스를 추가하여 특정 버전에 대한 ACL을 검색합니다.
구문
GET /BUCKET/OBJECT?versionId=VERSION_ID&acl HTTP/1.1
응답 헤더
x-amz-version-id
- 설명
- 버전 ID 또는 null을 반환합니다.
응답 엔티티
AccessControlPolicy
- 설명
- 응답을 위한 컨테이너입니다.
- 유형
- 컨테이너
AccessControlList
- 설명
- ACL 정보에 대한 컨테이너입니다.
- 유형
- 컨테이너
소유자
- 설명
-
버킷 소유자
ID
및DisplayName
의 컨테이너입니다. - 유형
- 컨테이너
ID
- 설명
- 버킷 소유자의 ID입니다.
- 유형
- 문자열
DisplayName
- 설명
- 버킷 소유자의 표시 이름입니다.
- 유형
- 문자열
부여
- 설명
-
부여자
및권한
부여를 위한 컨테이너. - 유형
- 컨테이너
부여
- 설명
-
권한 부여를 수신하는 사용자의
DisplayName
및ID
에 대한 컨테이너입니다. - 유형
- 컨테이너
권한
- 설명
-
Grantee
버킷에 부여된 권한입니다. - 유형
- 문자열
3.5.17. S3에서 개체의 ACL(액세스 제어 목록) 설정
현재 오브젝트 버전에 대한 오브젝트 ACL을 설정합니다.
구문
PUT /BUCKET/OBJECT?acl
요청 엔티티
AccessControlPolicy
- 설명
- 응답을 위한 컨테이너입니다.
- 유형
- 컨테이너
AccessControlList
- 설명
- ACL 정보에 대한 컨테이너입니다.
- 유형
- 컨테이너
소유자
- 설명
-
버킷 소유자
ID
및DisplayName
의 컨테이너입니다. - 유형
- 컨테이너
ID
- 설명
- 버킷 소유자의 ID입니다.
- 유형
- 문자열
DisplayName
- 설명
- 버킷 소유자의 표시 이름입니다.
- 유형
- 문자열
부여
- 설명
-
부여자
및권한
부여를 위한 컨테이너. - 유형
- 컨테이너
부여
- 설명
-
권한 부여를 수신하는 사용자의
DisplayName
및ID
에 대한 컨테이너입니다. - 유형
- 컨테이너
권한
- 설명
-
Grantee
버킷에 부여된 권한입니다. - 유형
- 문자열
3.5.18. S3 개체 복사
개체를 복사하려면 PUT
을 사용하고 대상 버킷과 개체 이름을 지정합니다.
구문
PUT /DEST_BUCKET/DEST_OBJECT HTTP/1.1 x-amz-copy-source: SOURCE_BUCKET/SOURCE_OBJECT
요청 헤더
x-amz-copy-source
- 설명
- 소스 버킷 이름 + 오브젝트 이름입니다.
- 유효한 값
-
BUCKET/OBJECT
- 필수 항목
- 있음
x-amz-acl
- 설명
- 신뢰할 수 있는 ACL.
- 유효한 값
-
private
,public-read
,public-read-write
,authenticated-read
- 필수 항목
- 없음
x-amz-copy-if-modified-since
- 설명
- 타임스탬프 이후 변경된 경우에만 복사합니다.
- 유효한 값
- Timestamp
- 필수 항목
- 없음
x-amz-copy-if-unmodified-since
- 설명
- 타임스탬프 이후 수정되지 않은 경우에만 복사합니다.
- 유효한 값
- Timestamp
- 필수 항목
- 없음
x-amz-copy-if-match
- 설명
- 오브젝트 ETag가 ETag와 일치하는 경우에만 복사합니다.
- 유효한 값
- 엔터티 태그
- 필수 항목
- 없음
x-amz-copy-if-none-match
- 설명
- 오브젝트 ETag가 ETag와 일치하는 경우에만 복사합니다.
- 유효한 값
- 엔터티 태그
- 필수 항목
- 없음
응답 엔티티
CopyObjectResult
- 설명
- 응답 요소에 대한 컨테이너입니다.
- 유형
- 컨테이너
LastModified
- 설명
- 소스 오브젝트의 마지막 수정 날짜입니다.
- 유형
- 날짜
etag
- 설명
- 새 오브젝트의 ETag입니다.
- 유형
- 문자열
3.5.19. S3 HTML 양식을 사용하여 버킷에 오브젝트 추가
HTML 양식을 사용하여 버킷에 오브젝트를 추가합니다. 이 작업을 수행하려면 버킷에 대한 쓰기 권한이 있어야 합니다.
구문
POST /BUCKET/OBJECT HTTP/1.1
3.5.20. S3 요청 옵션 확인
실제 요청이 특정 원본, HTTP 메서드 및 헤더를 사용하여 보낼 수 있는지 여부를 결정하는 사전 요청입니다.
구문
OPTIONS /OBJECT HTTP/1.1
3.5.21. S3에서 멀티 파트 업로드 시작
다중 파트 업로드 프로세스를 시작합니다. 추가 부품을 추가할 때 지정할 수 있는 UploadId
를 반환하고, 부품을 나열하며, 멀티 파트 업로드를 완료 또는 포기할 수 있습니다.
구문
POST /BUCKET/OBJECT?uploads
요청 헤더
content-md5
- 설명
- base64로 인코딩된 메시지의 MD-5 해시입니다.
- 유효한 값
- 문자열입니다. 기본값 또는 제약 조건이 없습니다.
- 필수 항목
- 없음
content-type
- 설명
- 표준 MIME 유형입니다.
- 유효한 값
-
모든 MIME 유형. 기본값:
binary/octet-stream
- 필수 항목
- 없음
x-amz-meta-<…>
- 설명
- 사용자 메타데이터. 오브젝트로 저장됩니다.
- 유효한 값
- 8kb 까지의 문자열입니다. 기본값 없음.
- 필수 항목
- 없음
x-amz-acl
- 설명
- 신뢰할 수 있는 ACL.
- 유효한 값
-
private
,public-read
,public-read-write
,authenticated-read
- 필수 항목
- 없음
응답 엔티티
InitiatedMultipartUploadsResult
- 설명
- 결과에 대한 컨테이너입니다.
- 유형
- 컨테이너
bucket
- 설명
- 오브젝트 콘텐츠를 수신할 버킷입니다.
- 유형
- 문자열
키
- 설명
-
키 요청 매개변수로 지정한
키
(있는 경우)입니다. - 유형
- 문자열
UploadId
- 설명
-
다중 부분 업로드를 식별하는
upload-id
요청 매개변수로 지정된 ID입니다(있는 경우). - 유형
- 문자열
3.5.22. S3 멀티 파트 업로드에 일부를 추가
다중 부분 업로드에 부분을 추가합니다.
여러 부분 업로드에 부분을 추가하려면 uploadId
하위 리소스 및 업로드 ID를 지정합니다.
구문
PUT /BUCKET/OBJECT?partNumber=&uploadId=UPLOAD_ID HTTP/1.1
다음 HTTP 응답이 반환될 수 있습니다.
HTTP 응답
404
- 상태 코드
-
NoSuchUpload
- 설명
- 지정된 upload-id는 이 오브젝트의 초기 업로드와 일치하지 않습니다.
3.5.23. S3 다중 부분 업로드 목록
다중 파트 업로드의 일부를 나열하려면 uploadId
하위 리소스 및 업로드 ID를 지정합니다.
구문
GET /BUCKET/OBJECT?uploadId=UPLOAD_ID HTTP/1.1
응답 엔티티
InitiatedMultipartUploadsResult
- 설명
- 결과에 대한 컨테이너입니다.
- 유형
- 컨테이너
bucket
- 설명
- 오브젝트 콘텐츠를 수신할 버킷입니다.
- 유형
- 문자열
키
- 설명
-
키 요청 매개변수로 지정한
키
(있는 경우)입니다. - 유형
- 문자열
UploadId
- 설명
-
다중 부분 업로드를 식별하는
upload-id
요청 매개변수로 지정된 ID입니다(있는 경우). - 유형
- 문자열
이니시에이터
- 설명
-
업로드를 시작한 사용자의
ID
및DisplayName
을 포함합니다. - 유형
- 컨테이너
ID
- 설명
- 이니시에이터의 ID입니다.
- 유형
- 문자열
DisplayName
- 설명
- 이니시에이터의 표시 이름입니다.
- 유형
- 문자열
소유자
- 설명
-
업로드된 오브젝트를 소유한 사용자의
ID
및DisplayName
에 대한 컨테이너입니다. - 유형
- 컨테이너
StorageClass
- 설명
-
결과 오브젝트를 저장하는 데 사용되는 방법입니다.
STANDARD
또는REDUCED_REDUNDANCY
- 유형
- 문자열
PartNumberMarker
- 설명
-
IsTruncated
가true
인 경우 후속 요청에 사용할 부분 마커입니다. 목록을 전제로 했습니다. - 유형
- 문자열
NextPartNumberMarker
- 설명
-
IsTruncated
가true
인 경우 후속 요청에 사용할 다음 부분 마커입니다. 목록의 끝입니다. - 유형
- 문자열
IsTruncated
- 설명
-
true
인 경우 오브젝트 업로드 콘텐츠의 하위 집합만 반환됩니다. - 유형
- 부울
part
- 설명
-
키
,Part
,InitiatorOwner
,StorageClass
및Initiated
요소의 컨테이너입니다. - 유형
- 컨테이너
PartNumber
- 설명
-
키
,Part
,InitiatorOwner
,StorageClass
및Initiated
요소의 컨테이너입니다. - 유형
- 정수
etag
- 설명
- 파트의 엔터티 태그입니다.
- 유형
- 문자열
크기
- 설명
- 업로드된 부분의 크기입니다.
- 유형
- 정수
3.5.24. S3 업로드된 부분 조립
업로드된 부품을 어셈블하고 새 오브젝트를 생성하여 다중 부분 업로드를 완료합니다.
다중 파트 업로드를 완료하려면 uploadId
하위 리소스 및 업로드 ID를 지정합니다.
구문
POST /BUCKET/OBJECT?uploadId=UPLOAD_ID HTTP/1.1
요청 엔티티
CompleteMultipartUpload
- 설명
- 하나 이상의 부분으로 구성된 컨테이너입니다.
- 유형
- 컨테이너
- 필수 항목
- 있음
part
- 설명
-
PartNumber
및ETag
에 대한 컨테이너입니다. - 유형
- 컨테이너
- 필수 항목
- 있음
PartNumber
- 설명
- 부분의 식별자입니다.
- 유형
- 정수
- 필수 항목
- 있음
etag
- 설명
- 파트의 엔터티 태그입니다.
- 유형
- 문자열
- 필수 항목
- 있음
응답 엔티티
CompleteMultipartUploadResult
- 설명
- 응답을 위한 컨테이너입니다.
- 유형
- 컨테이너
위치
- 설명
- 새 오브젝트의 리소스 식별자(path)입니다.
- 유형
- URI
bucket
- 설명
- 새 오브젝트가 포함된 버킷의 이름입니다.
- 유형
- 문자열
키
- 설명
- 오브젝트의 키입니다.
- 유형
- 문자열
etag
- 설명
- 새 오브젝트의 entity 태그입니다.
- 유형
- 문자열
3.5.25. S3에서 다중 파트 업로드 복사
기존 오브젝트에서 데이터 소스로 데이터를 복사하여 일부를 업로드합니다.
다중 부분 업로드 사본을 수행하려면 uploadId
하위 리소스 및 업로드 ID를 지정합니다.
구문
PUT /BUCKET/OBJECT?partNumber=PartNumber&uploadId=UPLOAD_ID HTTP/1.1 Host: cname.domain.com Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
요청 헤더
x-amz-copy-source
- 설명
- 소스 버킷 이름 및 오브젝트 이름입니다.
- 유효한 값
- BUCKET/OBJECT
- 필수 항목
- 있음
x-amz-copy-source-range
- 설명
- 소스 오브젝트에서 복사할 바이트 범위입니다.
- 유효한 값
-
range:
bytes=first-last
- 첫 번째와 마지막은 복사할 제로 기반 바이트 오프셋입니다. 예를 들어,bytes=0-9
는 소스의 처음 10 바이트를 복사하려는 것을 나타냅니다. - 필수 항목
- 없음
응답 엔티티
CopyPartResult
- 설명
- 모든 응답 요소에 대한 컨테이너입니다.
- 유형
- 컨테이너
etag
- 설명
- 새 부분의 ETag를 반환합니다.
- 유형
- 문자열
LastModified
- 설명
- 파트가 마지막으로 수정된 날짜를 반환합니다.
- 유형
- 문자열
추가 리소스
- 이 기능에 대한 자세한 내용은 Amazon S3 사이트를 참조하십시오.
3.5.26. S3에서 다중 파트 업로드를 중단
다중 파트 업로드를 중지합니다.
다중 파트 업로드를 중단하려면 uploadId
하위 리소스 및 업로드 ID를 지정합니다.
구문
DELETE /BUCKET/OBJECT?uploadId=UPLOAD_ID HTTP/1.1
3.5.27. S3 Hadoop 상호 운용성
HDFS(Haop Distributed File System) 액세스가 필요한 데이터 분석 애플리케이션의 경우 Hadoop용 Apache S3A 커넥터를 사용하여 Ceph Object Gateway에 액세스할 수 있습니다. S3A 커넥터는 데이터를 Ceph Object Gateway에 저장되는 동안 HDFS 파일 시스템과 HDFS 파일 시스템으로 애플리케이션에 의미 있는 의미를 읽고 쓰는 오픈 소스 툴입니다.
Ceph Object Gateway는 Hadoop 2.7.3과 함께 제공되는 S3A 커넥터와 완벽하게 호환됩니다.
3.5.28. 추가 리소스
- 멀티 테넌시에 대한 자세한 내용은 Red Hat Ceph Storage Object Gateway 가이드 를 참조하십시오.