3.4. S3 오브젝트 작업
개발자는 Ceph Object Gateway를 통해 Amazon S3 API(애플리케이션 프로그래밍 인터페이스)를 사용하여 오브젝트 작업을 수행할 수 있습니다.
다음 표에는 해당 기능의 지원 상태와 함께 오브젝트에 대한 Amazon S3 기능 작업이 나열되어 있습니다.
기능 | 상태 |
---|---|
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
지원됨 | |
Multi-Tenancy | 지원됨 |
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- RESTful 클라이언트입니다.
3.4.1. 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
- 설명
- 타임스탬프 이후 수정된 경우에만 가져옵니다.
- 유효한 값
- 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
- 설명
- 데이터 범위는 요청에 range 헤더 필드가 지정된 경우에만 반환됩니다.
x-amz-version-id
- 설명
- 버전 ID 또는 null을 반환합니다.
3.4.2. 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
- 설명
- 타임스탬프 이후 수정된 경우에만 가져옵니다.
- 유효한 값
- Timestamp
- 필수 항목
- 없음
if-match
- 설명
- 오브젝트 ETag가 ETag와 일치하는 경우에만 가져옵니다.
- 유효한 값
- 엔터티 태그
- 필수 항목
- 없음
if-none-match
- 설명
- 오브젝트 ETag가 ETag와 일치하는 경우에만 가져옵니다.
- 유효한 값
- 엔터티 태그
- 필수 항목
- 없음
응답 헤더
x-amz-version-id
- 설명
- 버전 ID 또는 null을 반환합니다.
3.4.3. S3 put object lock
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.
- 유형
- 컨테이너
- 필수 항목
- 제공됨
일
- 설명
- 기본 보존 기간에 지정된 일 수입니다.
- 유형
- 정수
- 필수 항목
- 없음
년
- 설명
- 기본 보존 기간에 지정된 연도 수입니다.
- 유형
- 정수
- 필수 항목
- 없음
HTTP 응답
400
- 상태 코드
-
Malformed XML
- 설명
- XML이 제대로 구성되어 있지 않습니다.
409
- 상태 코드
-
InvalidBucketState
- 설명
- 버킷 오브젝트 잠금이 활성화되지 않습니다.
추가 리소스
- 이 API 호출에 대한 자세한 내용은 S3 API 를 참조하십시오.
3.4.4. S3 개체 잠금 가져오기
get 오브젝트 잠금 API는 버킷에 대한 잠금 구성을 검색합니다.
구문
GET /BUCKET?object-lock HTTP/1.1
예제
GET /testbucket?object-lock HTTP/1.1
응답 엔터티
ObjectLockConfiguration
- 설명
- 요청에 대한 컨테이너입니다.
- 유형
- 컨테이너
- 필수 항목
- 제공됨
ObjectLockEnabled
- 설명
- 이 버킷에 오브젝트 잠금 구성이 활성화되어 있는지 여부를 나타냅니다.
- 유형
- 문자열
- 필수 항목
- 제공됨
Rule
- 설명
- 지정된 버킷에 대한 오브젝트 잠금 규칙이 있습니다.
- 유형
- 컨테이너
- 필수 항목
- 없음
DefaultRetention
- 설명
- 지정된 버킷에 배치된 새 오브젝트에 적용되는 기본 보존 기간입니다.
- 유형
- 컨테이너
- 필수 항목
- 없음
mode
- 설명
- 기본 오브젝트 잠금 보존 모드입니다. 유효한 값: GOVERNANCE/COMPLIANCE.
- 유형
- 컨테이너
- 필수 항목
- 제공됨
일
- 설명
- 기본 보존 기간에 지정된 일 수입니다.
- 유형
- 정수
- 필수 항목
- 없음
년
- 설명
- 기본 보존 기간에 지정된 연도 수입니다.
- 유형
- 정수
- 필수 항목
- 없음
추가 리소스
- 이 API 호출에 대한 자세한 내용은 S3 API 를 참조하십시오.
3.4.5. S3 put object legal hold
put 오브젝트 legal hold 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.4.6. S3 get object legal hold
get 오브젝트 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.4.7. S3 put 오브젝트 보존
put 오브젝트 보존 API는 오브젝트에 오브젝트 보존 구성을 배치합니다. 보존 기간은 고정된 시간 동안 오브젝트 버전을 보호합니다. 두 가지 모드가 있습니다: GOVERNANCE 및 COMPLIANCE. 이 두 가지 보존 모드는 오브젝트에 서로 다른 수준의 보호를 적용합니다.
이 기간 동안 오브젝트는 WORM으로 보호되는 Write-Once-Read-Many-protected (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.4.8. 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.4.9. 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
- 설명
- 태그 집합의 컬렉션입니다.
- 유형
- 문자열
- 필수 항목
- 제공됨
추가 리소스
- 이 API 호출에 대한 자세한 내용은 S3 API 를 참조하십시오.
3.4.10. 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.4.11. 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.4.12. 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.4.13. S3 오브젝트 삭제
개체를 제거합니다. 포함된 버킷에 WRITE 권한이 설정되어 있어야 합니다.
오브젝트를 삭제합니다. 오브젝트 버전 지정이 있는 경우 마커를 생성합니다.
구문
DELETE /BUCKET/OBJECT HTTP/1.1
버전 관리가 있을 때 오브젝트를 삭제하려면 versionId
하위 리소스와 삭제할 오브젝트 버전을 지정해야 합니다.
DELETE /BUCKET/OBJECT?versionId=VERSION_ID HTTP/1.1
3.4.14. S3 여러 오브젝트 삭제
이 API 호출은 버킷에서 여러 오브젝트를 삭제합니다.
구문
POST /BUCKET/OBJECT?delete HTTP/1.1
3.4.15. 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
- 설명
- 버킷 소유자의 표시 이름입니다.
- 유형
- 문자열
부여
- 설명
-
Grantee
및Permission
에 대한 컨테이너입니다. - 유형
- 컨테이너
부여자
- 설명
-
권한 부여를 수신하는 사용자의
DisplayName
및ID
에 대한 컨테이너입니다. - 유형
- 컨테이너
권한
- 설명
-
Grantee
버킷에 부여된 권한입니다. - 유형
- 문자열
3.4.16. S3 오브젝트의 ACL(액세스 제어 목록) 설정
현재 오브젝트 버전에 대한 오브젝트 ACL을 설정합니다.
구문
PUT /BUCKET/OBJECT?acl
요청 엔터티
AccessControlPolicy
- 설명
- 응답을 위한 컨테이너입니다.
- 유형
- 컨테이너
AccessControlList
- 설명
- ACL 정보에 대한 컨테이너입니다.
- 유형
- 컨테이너
소유자
- 설명
-
버킷 소유자
ID
및DisplayName
의 컨테이너입니다. - 유형
- 컨테이너
ID
- 설명
- 버킷 소유자의 ID입니다.
- 유형
- 문자열
DisplayName
- 설명
- 버킷 소유자의 표시 이름입니다.
- 유형
- 문자열
부여
- 설명
-
Grantee
및Permission
에 대한 컨테이너입니다. - 유형
- 컨테이너
부여자
- 설명
-
권한 부여를 수신하는 사용자의
DisplayName
및ID
에 대한 컨테이너입니다. - 유형
- 컨테이너
권한
- 설명
-
Grantee
버킷에 부여된 권한입니다. - 유형
- 문자열
3.4.17. S3 오브젝트 복사
오브젝트를 복사하려면 PUT
을 사용하고 대상 버킷과 오브젝트 이름을 지정합니다.
구문
PUT /DEST_BUCKET/DEST_OBJECT HTTP/1.1 x-amz-copy-source: SOURCE_BUCKET/SOURCE_OBJECT
요청 헤더
x-amz-copy-source
- 설명
- 소스 버킷 이름 + 오브젝트 이름입니다.
- 유효한 값
-
버킷 /오브젝트
- 필수 항목
- 제공됨
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
- 설명
- 응답 요소에 대한 컨테이너입니다.
- 유형
- 컨테이너
Last Cryostat
- 설명
- 소스 오브젝트의 마지막 수정된 날짜입니다.
- 유형
- 날짜
etag
- 설명
- 새 오브젝트의 ETag입니다.
- 유형
- 문자열
3.4.18. S3 HTML 양식을 사용하여 버킷에 오브젝트 추가
HTML 양식을 사용하여 버킷에 오브젝트를 추가합니다. 이 작업을 수행하려면 버킷에 대한 쓰기 권한이 있어야 합니다.
구문
POST /BUCKET/OBJECT HTTP/1.1
3.4.19. S3 요청 옵션 결정
실제 요청이 특정 origin, HTTP 메서드 및 헤더로 보낼 수 있는지 여부를 결정하는 preflight 요청입니다.
구문
OPTIONS /OBJECT HTTP/1.1
3.4.20. 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
- 설명
-
있는 경우 multipart 업로드를 식별하는
upload-id
요청 매개변수로 지정된 ID입니다. - 유형
- 문자열
3.4.21. S3 다중 업로드에 부분 추가
다중 파트 업로드에 부분을 추가합니다.
uploadId
하위 리소스와 업로드 ID를 지정하여 다중 파트 업로드에 부분을 추가합니다.
구문
PUT /BUCKET/OBJECT?partNumber=&uploadId=UPLOAD_ID HTTP/1.1
다음 HTTP 응답이 반환될 수 있습니다.
HTTP 응답
404
- 상태 코드
-
NoSuchUpload
- 설명
- 지정된 upload-id가 이 오브젝트에 시작된 업로드와 일치하지 않습니다.
3.4.22. S3 다중 파트 업로드 부분 나열
uploadId
하위 리소스 및 업로드 ID를 지정하여 다중 파트 업로드 부분을 나열합니다.
구문
GET /BUCKET/OBJECT?uploadId=UPLOAD_ID HTTP/1.1
응답 엔터티
InitiatedMultipartUploadsResult
- 설명
- 결과를 위한 컨테이너입니다.
- 유형
- 컨테이너
bucket
- 설명
- 오브젝트 콘텐츠를 수신할 버킷입니다.
- 유형
- 문자열
키
- 설명
-
키 요청 매개변수(있는 경우)에서 지정하는
키
입니다. - 유형
- 문자열
UploadId
- 설명
-
있는 경우 multipart 업로드를 식별하는
upload-id
요청 매개변수로 지정된 ID입니다. - 유형
- 문자열
이니시에이터
- 설명
-
업로드를 시작한 사용자의
ID
및DisplayName
을 포함합니다. - 유형
- 컨테이너
ID
- 설명
- 이니시에이터의 ID입니다.
- 유형
- 문자열
DisplayName
- 설명
- 이니시에이터의 표시 이름입니다.
- 유형
- 문자열
소유자
- 설명
-
업로드된 오브젝트를 소유한 사용자의
ID
및DisplayName
에 대한 컨테이너입니다. - 유형
- 컨테이너
StorageClass
- 설명
-
결과 오브젝트를 저장하는 데 사용되는 메서드입니다.
STANDARD
또는REDUCED_REDUNDANCY
- 유형
- 문자열
PartNumberMarker
- 설명
-
IsTruncated
가true
인 경우 후속 요청에 사용할 부분 마커입니다. 목록 앞에 추가합니다. - 유형
- 문자열
NextPartNumberMarker
- 설명
-
IsTruncated
가true
인 경우 후속 요청에 사용할 다음 부분 마커입니다. 목록의 끝입니다. - 유형
- 문자열
IsTruncated
- 설명
-
true
인 경우 오브젝트 업로드 콘텐츠의 하위 집합만 반환되었습니다. - 유형
- 부울
부분
- 설명
-
키
,Part
,InitiatorOwner
,StorageClass
및Initiated
요소에 대한 컨테이너입니다. - 유형
- 컨테이너
Partnumber
- 설명
-
키
,Part
,InitiatorOwner
,StorageClass
및Initiated
요소에 대한 컨테이너입니다. - 유형
- 정수
etag
- 설명
- 해당 부분의 엔터티 태그입니다.
- 유형
- 문자열
크기
- 설명
- 업로드된 부분의 크기입니다.
- 유형
- 정수
3.4.23. S3 업로드된 부분 수집
어셈블은 업로드된 부분을 업로드하고 새 오브젝트를 생성하여 다중 파트 업로드를 완료합니다.
uploadId
하위 리소스 및 업로드 ID를 지정하여 다중 파트 업로드를 완료합니다.
구문
POST /BUCKET/OBJECT?uploadId=UPLOAD_ID HTTP/1.1
요청 엔터티
CompleteMultipartUpload
- 설명
- 하나 이상의 부분으로 구성된 컨테이너입니다.
- 유형
- 컨테이너
- 필수 항목
- 제공됨
부분
- 설명
-
PartNumber
및ETag
용 컨테이너입니다. - 유형
- 컨테이너
- 필수 항목
- 제공됨
Partnumber
- 설명
- 부분의 식별자입니다.
- 유형
- 정수
- 필수 항목
- 제공됨
etag
- 설명
- 해당 부분의 엔터티 태그입니다.
- 유형
- 문자열
- 필수 항목
- 제공됨
응답 엔터티
CompleteMultipartUploadResult
- 설명
- 응답을 위한 컨테이너입니다.
- 유형
- 컨테이너
위치
- 설명
- 새 오브젝트의 리소스 식별자(path)입니다.
- 유형
- URI
bucket
- 설명
- 새 오브젝트가 포함된 버킷의 이름입니다.
- 유형
- 문자열
키
- 설명
- 오브젝트의 키입니다.
- 유형
- 문자열
etag
- 설명
- 새 오브젝트의 entity 태그입니다.
- 유형
- 문자열
3.4.24. 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
- 설명
- 소스 버킷 이름 및 오브젝트 이름입니다.
- 유효한 값
- 버킷 /오브젝트
- 필수 항목
- 제공됨
x-amz-copy-source-range
- 설명
- 소스 오브젝트에서 복사할 바이트 범위입니다.
- 유효한 값
-
range:
bytes=first-last
, 여기서 첫 번째와 마지막은 복사할 0 기반 바이트 오프셋입니다. 예를 들어bytes=0-9
는 소스의 처음 10바이트를 복사하려는 것을 나타냅니다. - 필수 항목
- 없음
응답 엔터티
CopyPartResult
- 설명
- 모든 응답 요소에 대한 컨테이너입니다.
- 유형
- 컨테이너
etag
- 설명
- 새 부분의 ETag를 반환합니다.
- 유형
- 문자열
Last Cryostat
- 설명
- 부분이 마지막으로 수정된 날짜를 반환합니다.
- 유형
- 문자열
추가 리소스
- 이 기능에 대한 자세한 내용은 Amazon S3 사이트를 참조하십시오.
3.4.25. S3 다중 파트 업로드 중단
다중 파트 업로드를 중지합니다.
uploadId
하위 리소스 및 업로드 ID를 지정하여 다중 파트 업로드를 중단합니다.
구문
DELETE /BUCKET/OBJECT?uploadId=UPLOAD_ID HTTP/1.1
3.4.26. S3 0.0.0.0 상호 운용성
HDFS(HDFS) 액세스가 필요한 데이터 분석 애플리케이션의 경우 HDFS용 Apache S3A 커넥터를 사용하여 Ceph Object Gateway에 액세스할 수 있습니다. S3A 커넥터는 Ceph Object Gateway에 데이터가 저장되는 동안 HDFS 파일 시스템 읽기 및 쓰기 의미 체계와 함께 S3 호환 개체 스토리지를 HDFS 파일 시스템으로 제공하는 오픈 소스 툴입니다.
Ceph Object Gateway는 HDFS 2.7.3과 함께 제공되는 S3A 커넥터와 완벽하게 호환됩니다.
추가 리소스
- 멀티 테넌시에 대한 자세한 내용은 Red Hat Ceph Storage Object Gateway 가이드를 참조하십시오.