오브젝트 오퍼레이션

IBM Cloud® Object Storage 의 최신 기능은 RESTful API를 통해 편리하게 이용할 수 있습니다. (버킷 내에 저장된) 오브젝트를 읽고, 쓰고, 구성하기 위한 오퍼레이션 및 메소드가 여기에 문서화되어 있습니다.

엔드포인트에 대한 자세한 정보는 엔드포인트 및 스토리지 위치를 참조하십시오.

HMAC (Access/Secret Key) 인증과 관련된 참고사항

HMAC 신임 정보를 사용 하여 IBM Cloud Object Storage 의 인스턴스에 인증하는 경우 HMAC 서명을 구성 할 때 표 1에 표시되는 정보가 필요합니다.

HMAC 시그니처 구성 요소
{access_key} 서비스 자격 증명에 할당된 액세스 키 cf4965cebe074720a4929759f57e1214
{date} 요청의 형식화된 날짜 (yyyymmdd) 20180613
{region} 엔드포인트의 위치 코드 사용자 표준
{signature} 비밀 키, 위치 및 날짜를 사용하여 작성된 해시 ffe2b6e18f9dcc41f593f4dbb39882a6bb4d26a73a04326e62a8d344e07c1a3e
{timestamp} 요청의 형식화된 날짜 및 시간 20180614T001804Z

오브젝트 업로드

오브젝트에 대한 경로가 지정된 PUT은 요청 본문을 오브젝트로 업로드합니다. 단일 스레드에 업로드되는 모든 오브젝트는 네트워크 중단 위험을 최소화하기 위해 500MB미만이어야 합니다. ( 여러 파트에 업로드 되는 오브젝트의 크기는 10TB일 수 있습니다.)

개인 식별 정보(PII): 버킷 또는 객체 명명 시 사용자(자연인)를 이름, 위치 또는 기타 수단으로 식별할 수 있는 정보를 사용하지 마십시오.

단일 PUT 요청을 사용하여 5GB의 오브젝트를 스트리밍할 수 있습니다. 다중 파트 업로드는 보다 신뢰할 수 있으며 다중 스레드를 사용하여 파트를 병렬로 업로드함으로써 보다 효율적으로 업로드할 수 있습니다. 단일 PUT 요청에서 더 큰 오브젝트를 업로드하면 단일 스레드의 성능 제한사항이 발생하고 단일 스레드 업로드가 실패하는 경우 전체적으로 단일 스레드 업로드를 재시도해야 합니다 (MPU에서는 실패한 특정 파트만 재시도해야 함). 단일 스레드가 달성할 수 있는 정확한 처리량은 클라이언트에서 IBM Cloud 엔드포인트까지의 네트워크 대역폭, 해당 연결에서의 패킷 손실률(있는 경우), HTTP 과 HTTPS 의 사용 여부, 연결에 사용된 특정 암호화 방식 및 특정 TCP 연결 매개변수(예: 윈도우 크기) 등 다양한 요인에 따라 달라집니다. 이러한 요인은 단일 스레드 업로드에 대해 최적화될 수 있지만 최적화는 멀티스레드 (멀티파트) 업로드에도 동일하게 적용됩니다.

개인 식별 정보(PII): 버킷 생성 또는 객체 추가 시, 이름, 위치 또는 기타 수단을 통해 사용자를 식별할 수 있는 정보를 사용하지 않도록 주의하십시오.

구문

PUT https://{endpoint}/{bucket-name}/{object-name} # path style
PUT https://{bucket-name}.{endpoint}/{object-name} # virtual host style

선택적 헤더

선택적 헤더
헤더 유형 설명
x-amz-tagging 문자열 조회 매개변수 ("SomeKey=SomeValue") 로 형식화된 오브젝트에 적용할 태그 세트입니다.
x-amz-object-lock-mode 문자열 유효한 값은 또는 COMPLIANCE 입니다. 가 GOVERNANCE 존재할 x-amz-object-lock-retain-until-date 경우 필수입니다.
x-amz-object-lock-retain-until-date ISO8601 날짜 및 시간 x-amz-object-lock-mode 가 있는 경우 필수입니다.
x-amz-object-lock-legal-hold 문자열 유효값은 ON 또는 OFF입니다.
Content-MD5 문자열 페이로드의 128비트 SHA-1( MD5 ) 해시는 SHA-1( Base64 )로 인코딩되며, 전송 중 페이로드가 변경되지 않았는지 확인하기 위한 무결성 검사에 사용됩니다.
x-amz-checksum-crc32 문자열 이 헤더는 개체의 Base64 인코딩된 32비트 CRC32 체크섬입니다.
x-amz-checksum-crc32c 문자열 이 헤더는 개체의 Base64 인코딩된 32비트 CRC32C 체크섬입니다.
x-amz-checksum-crc64nvme 문자열 이 헤더는 개체의 Base64 인코딩된 64비트 CRC64NVME 체크섬입니다. CRC64NVME 체크섬은 항상 전체 객체 체크섬입니다.
x-amz-checksum-sha1 문자열 이 헤더는 개체의 Base64 인코딩된 160비트 SHA1 다이제스트입니다.
x-amz-checksum-sha256 문자열 이 헤더는 개체의 Base64 인코딩된 256비트 SHA256 다이제스트입니다.
x-amz-sdk-checksum-algorithm 문자열 SDK를 사용할 때 오브젝트의 체크섬을 생성하는 데 사용되는 알고리즘을 나타냅니다.
x-amz-trailer 문자열 오브젝트 업로드 무결성을 확인하기 위해 페이로드의 트레일러에서 어떤 체크섬 값 헤더를 찾을지 표시합니다.

요청 예제

PUT /apiary/queen-bee HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain; charset=utf-8
Host: s3.us.cloud-object-storage.appdomain.cloud

Content-Length: 533

 The 'queen' bee is developed from larvae selected by worker bees and fed a
 substance referred to as 'royal jelly' to accelerate sexual maturity. After a
 short while the 'queen' is the mother of nearly every bee in the hive, and
 the colony will fight fiercely to protect her.

요청 예제

PUT /apiary/queen-bee HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
x-amz-content-sha256: {payload_hash}
Content-Type: text/plain; charset=utf-8
Host: s3.us.cloud-object-storage.appdomain.cloud

Content-Length: 533

 The 'queen' bee is developed from larvae selected by worker bees and fed a
 substance referred to as 'royal jelly' to accelerate sexual maturity. After a
 short while the 'queen' is the mother of nearly every bee in the hive, and
 the colony will fight fiercely to protect her.

응답 예

HTTP/1.1 200 OK
Date: Thu, 25 Aug 2016 18:30:02 GMT
X-Clv-Request-Id: 9f0ca49a-ae13-4d2d-925b-117b157cf5c3
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.121
X-Clv-S3-Version: 2.5
x-amz-request-id: 9f0ca49a-ae13-4d2d-925b-117b157cf5c3
ETag: "3ca744fa96cb95e92081708887f63de5"
x-amz-checksum-crc64nvme: T1r5SUWc07k=
x-amz-checksum-type: FULL_OBJECT
Content-Length: 0

오브젝트의 헤더 가져오기

오브젝트에 대한 경로가 지정된 HEAD는 이 오브젝트의 헤더를 검색합니다.

SSE-KP를 사용하여 암호화된 객체에 대해 반환되는 값은 Etag 원래 복호화된 객체의 MD5 해시입니다.

구문

HEAD https://{endpoint}/{bucket-name}/{object-name} # path style
HEAD https://{bucket-name}.{endpoint}/{object-name} # virtual host style

선택적 헤더

선택적 헤더
헤더 유형 설명
x-amz-checksum-mode 문자열 응답에 체크섬 메타데이터를 포함할지 여부를 나타냅니다.

요청 예제

HEAD /apiary/soldier-bee HTTP/1.1
Authorization: Bearer {token}
Host: s3-api.sjc-us-geo.objectstorage.s3.us-south.cloud-object-storage.appdomain.cloud.net

요청 예제

HEAD /apiary/soldier-bee HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Host: s3.us.cloud-object-storage.appdomain.cloud

응답 예

HTTP/1.1 200 OK
Date: Thu, 25 Aug 2016 18:32:44 GMT
X-Clv-Request-Id: da214d69-1999-4461-a130-81ba33c484a6
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.121
X-Clv-S3-Version: 2.5
x-amz-request-id: da214d69-1999-4461-a130-81ba33c484a6
ETag: "37d4c94839ee181a2224d6242176c4b5"
x-amz-checksum-crc64nvme: T1r5SUWc07k=
x-amz-checksum-type: FULL_OBJECT
Content-Type: text/plain; charset=UTF-8
Last-Modified: Thu, 25 Aug 2016 17:49:06 GMT
Content-Length: 11

오브젝트 다운로드

오브젝트에 대한 경로가 지정된 GET은 오브젝트를 다운로드합니다.

SSE-C/SSE-KP를 사용하여 암호화된 오브젝트에 대해 리턴된 Etag 값은 원래 복호화된 오브젝트의 MD5 해시가 아닙니다.

구문

GET https://{endpoint}/{bucket-name}/{object-name} # path style
GET https://{bucket-name}.{endpoint}/{object-name} # virtual host style

선택적 헤더

헤더 유형 설명
range 문자열 지정된 범위 내의 오브젝트 바이트 수를 리턴합니다.
x-amz-checksum-mode 문자열 응답에 체크섬 메타데이터를 포함할지 여부를 나타냅니다.

요청 예제

GET /apiary/worker-bee HTTP/1.1
Authorization: Bearer {token}
Host: s3.us.cloud-object-storage.appdomain.cloud

요청 예제

GET /apiary/worker-bee HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Host: s3.us.cloud-object-storage.appdomain.cloud

응답 예

HTTP/1.1 200 OK
Date: Thu, 25 Aug 2016 18:34:25 GMT
X-Clv-Request-Id: 116dcd6b-215d-4a81-bd30-30291fa38f93
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.121
X-Clv-S3-Version: 2.5
x-amz-request-id: 116dcd6b-215d-4a81-bd30-30291fa38f93
ETag: "d34d8aada2996fc42e6948b926513907"
Content-Type: text/plain; charset=UTF-8
Last-Modified: Thu, 25 Aug 2016 17:46:53 GMT
Content-Length: 467

 Female bees that are not fortunate enough to be selected to be the 'queen'
 while they were still larvae become known as 'worker' bees. These bees lack
 the ability to reproduce and instead ensure that the hive functions smoothly,
 acting almost as a single organism in fulfilling their purpose.

오브젝트 삭제

오브젝트에 대한 경로가 지정된 DELETE는 오브젝트를 삭제합니다.

구문

DELETE https://{endpoint}/{bucket-name}/{object-name} # path style
DELETE https://{bucket-name}.{endpoint}/{object-name} # virtual host style

요청 예제

DELETE /apiary/soldier-bee HTTP/1.1
Authorization: Bearer {token}
Host: s3-api.sjc-us-geo.objectstorage.s3.us-south.cloud-object-storage.appdomain.cloud.net

요청 예제

DELETE /apiary/soldier-bee HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Host: s3.us.cloud-object-storage.appdomain.cloud

응답 예

HTTP/1.1 204 No Content
Date: Thu, 25 Aug 2016 17:44:57 GMT
X-Clv-Request-Id: 8ff4dc32-a6f0-447f-86cf-427b564d5855
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.121
X-Clv-S3-Version: 2.5
x-amz-request-id: 8ff4dc32-a6f0-447f-86cf-427b564d5855

다중 오브젝트 삭제

버킷에 대한 경로 및 적절한 매개변수가 지정된 POST는 지정된 오브젝트 세트를 삭제합니다. 페이로드에 대한 무결성 검사로 Content-MD5 헤더 또는 checksum 헤더( x-amz-checksum-crc32, x-amz-checksum-crc32c, x-amz-checksum-crc64nvme, x-amz-checksum-sha1, x-amz-checksum-sha256 포함)가 필요합니다.

선택적 헤더

선택적 헤더
헤더 유형 설명
Content-MD5 문자열 페이로드의 128비트 SHA-1( MD5 ) 해시는 SHA-1( base64 )로 인코딩되며, 전송 중 페이로드가 변경되지 않았음을 확인하는 무결성 검사에 사용됩니다.
x-amz-checksum-crc32 문자열 이 헤더는 개체의 Base64 인코딩된 32비트 CRC32 체크섬입니다.
x-amz-checksum-crc32c 문자열 이 헤더는 개체의 Base64 인코딩된 32비트 CRC32C 체크섬입니다.
x-amz-checksum-crc64nvme 문자열 이 헤더는 개체의 Base64 인코딩된 64비트 CRC64NVME 체크섬입니다. CRC64NVME 체크섬은 항상 전체 객체 체크섬입니다.
x-amz-checksum-sha1 문자열 이 헤더는 개체의 Base64 인코딩된 160비트 SHA1 다이제스트입니다.
x-amz-checksum-sha256 문자열 이 헤더는 개체의 Base64 인코딩된 256비트 SHA256 다이제스트입니다.

요청에 명시된 객체가 발견되지 않을 경우 결과는 삭제된 것으로 반환됩니다.

다중 오브젝트 삭제에는 클래스 A로 청구되는 POST operation 가 포함됩니다. 다중 삭제에 대한 POST 요청의 비용은 오브젝트의 스토리지 클래스 및 삭제되는 데이터의 양에 따라 다릅니다. 가격에 대한 자세한 내용은 IBM Cloud Object Storage 가격 페이지 에서 확인하세요.

선택적 요소

헤더
헤더 유형 설명
Quiet 부울 요청에 정음 모드(quiet mode)를 사용합니다.

요청에는 삭제할 최대 1000개의 키가 포함될 수 있습니다. 이는 요청 수를 줄이는 데 유용하지만, 많은 키를 삭제하는 경우에는 주의하십시오. 또한, 적절한 성능을 보장하기 위해 오브젝트의 크기도 고려하십시오.

다음 코드는 헤더 컨텐츠의 필수 표시를 작성하는 방법의 한 예를 보여줍니다.

echo -n (XML block) | openssl dgst -md5 -binary | openssl enc -base64

구문

POST https://{endpoint}/{bucket-name}?delete= # path style
POST https://{bucket-name}.{endpoint}?delete= # virtual host style

요청 본문에 다음 스키마가 포함된 XML 블록이 있어야 합니다.

요청 스키마 본문
요소 유형 하위 상위 제한조건
삭제 컨테이너 오브젝트
오브젝트 컨테이너 삭제
문자열
오브젝트 올바른 키 문자열

요청 예제

POST /apiary?delete= HTTP/1.1
Authorization: Bearer {token}
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Type: text/plain; charset=utf-8
Content-MD5: xj/vf7lD7vbIe/bqHTaLvg==

요청 예제

POST /apiary?delete= HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Content-Type: text/plain; charset=utf-8
Content-MD5: xj/vf7lD7vbIe/bqHTaLvg==
Host: s3.us.cloud-object-storage.appdomain.cloud

응답 예

HTTP/1.1 200 OK
Date: Wed, 30 Nov 2016 18:54:53 GMT
X-Clv-Request-Id: a6232735-c3b7-4c13-a7b2-cd40c4728d51
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.137
X-Clv-S3-Version: 2.5
x-amz-request-id: a6232735-c3b7-4c13-a7b2-cd40c4728d51
Content-Type: application/xml
Content-Length: 207
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<DeleteResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <Deleted>
         <Key>surplus-bee</Key>
    </Deleted>
    <Deleted>
         <Key>unnecessary-bee</Key>
    </Deleted>
</DeleteResult>

객체에 보존 기간 추가 또는 업데이트

적절한 매개변수와 함께 객체에 발행된 PUT A는 보존 기간을 추가하거나 연장합니다. 보존 COMPLIANCE 모드에서는 보존 기간을 연장할 수만 있으며, 단축하거나 제거할 수 없습니다. 모드에서 GOVERNANCE, 권한이 부여된 사용자는 x-amz-bypass-governance-retention 헤더를 포함함으로써 보존 기간을 연장, 단축 또는 제거할 수 있습니다.

구문

PUT https://{endpoint}/{bucket-name}/{object-name}?retention # path style
PUT https://{bucket-name}.{endpoint}/{object-name}?retention # virtual host style

페이로드 요소

요청 본문에 다음 스키마가 포함된 XML 블록이 있어야 합니다.

요청 스키마 본문
요소 유형 하위 상위 참고
보존 컨테이너 모드, RetainUntilDate
필수
모드 문자열
보존 필수 - 유효한 값은 COMPLIANCE 또는 GOVERNANCE
RetainUntilDate 시간소인
보존 필수

선택적 헤더

헤더 유형 설명
x-amz-bypass-governance-retention 문자열 이 헤더를 통해 권한이 부여된 사용자는 GOVERNANCE 모드 보존 설정을 무시하고, 보존 기간 만료일 이전에 개체를 삭제하거나 수정할 수 있습니다.

다음 코드는 헤더 컨텐츠의 필수 표시를 작성하는 방법의 한 예를 보여줍니다.

echo -n (XML block) | openssl dgst -md5 -binary | openssl enc -base64

요청 예제

다음은 오브젝트에 대한 보존을 추가하거나 확장하는 예입니다.

PUT /apiary/myObject?retention HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain
Content-MD5: cDeRJIdLuEXWmLpA79K2kg==
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Length: 119
<Retention>
    <Mode>COMPLIANCE</Mode>
    <RetainUntilDate>2023-04-12T23:01:00.000Z</RetainUntilDate>
</Retention>

응답 예

HTTP/1.1 200 OK
Date: Wed, 5 Oct 2020 15:39:38 GMT
X-Clv-Request-Id: 7afca6d8-e209-4519-8f2c-1af3f1540b42
Accept-Ranges: bytes
Content-Length: 0


오브젝트에 태그 추가

적절한 매개변수를 사용하여 오브젝트에 발행된 PUT 는 오브젝트와 연관된 키-값 태그 세트를 작성하거나 대체합니다.

구문

PUT https://{endpoint}/{bucket-name}/{object-name}?tagging # path style
PUT https://{bucket-name}.{endpoint}/{object-name}?tagging # virtual host style

페이로드 요소

요청 본문에 다음 스키마가 포함된 XML 블록이 있어야 합니다.

요청 스키마 본문
요소 유형 하위 상위 참고
태그 지정 컨테이너 TagSet
필수
TagSet 컨테이너 태그 태그 지정 필수
태그 문자열 키, 값 TagSet 필수
컨테이너
태그 필수
문자열
태그 필수

태그는 다음 제한사항을 준수해야 합니다.

  • 오브젝트에는 최대 10개의 태그가 있을 수 있습니다.
  • 각 오브젝트에 대해 각 태그 키는 고유해야 하며 각 태그 키는 하나의 값만 가질 수 있습니다.
  • 최소 키 길이-1유니코드 문자 ( UTF-8 )
  • 최대 키 길이- UTF-8 의 128자유니코드 문자
  • 최대 키 바이트 크기-256바이트
  • UTF-8 의 최소값 길이-0유니코드 문자 (태그 값은 비어 있을 수 있음)
  • 최대값 길이-256자의 유니코드 문자 ( UTF-8 )
  • 최대값 바이트 크기-512바이트
  • 태그 키와 값은 미국 영숫자(a-z,A-Z,0-9)와 공백으로 표현 가능한 UTF-8, 그리고 다음 기호로 구성될 수 있습니다: +, -, =, ., _, :, /, @
  • 태그 키 및 값은 대소문자를 구분합니다.
  • ibm: 를 태그의 키 접두부로 사용할 수 없습니다.
선택적 헤더
헤더 유형 설명
Content-MD5 문자열 페이로드의 128비트 SHA-1( MD5 ) 해시는 SHA-1( Base64 )로 인코딩되며, 전송 중 페이로드가 변경되지 않았는지 확인하기 위한 무결성 검사에 사용됩니다.
x-amz-checksum-crc32 문자열 이 헤더는 개체의 Base64 인코딩된 32비트 CRC32 체크섬입니다.
x-amz-checksum-crc32c 문자열 이 헤더는 개체의 Base64 인코딩된 32비트 CRC32C 체크섬입니다.
x-amz-checksum-crc64nvme 문자열 이 헤더는 개체의 Base64 인코딩된 64비트 CRC64NVME 체크섬입니다. CRC64NVME 체크섬은 항상 전체 객체 체크섬입니다.
x-amz-checksum-sha1 문자열 이 헤더는 개체의 Base64 인코딩된 160비트 SHA1 다이제스트입니다.
x-amz-checksum-sha256 문자열 이 헤더는 개체의 Base64 인코딩된 256비트 SHA256 다이제스트입니다.
x-amz-sdk-checksum-algorithm 문자열 SDK를 사용할 때 오브젝트의 체크섬을 생성하는 데 사용되는 알고리즘을 나타냅니다.

요청 예제

다음은 오브젝트에 태그 세트를 추가하는 예입니다.

PUT /apiary/myObject?tagging HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Length: 119
PUT /apiary/myObject?tagging HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Length: 128
<Tagging>
   <TagSet>
      <Tag>
         <Key>string</Key>
         <Value>string</Value>
      </Tag>
   </TagSet>
</Tagging>

응답 예

HTTP/1.1 200 OK
Date: Wed, 5 Oct 2020 15:39:38 GMT
X-Clv-Request-Id: 7afca6d8-e209-4519-8f2c-1af3f1540b42
Accept-Ranges: bytes
Content-Length: 0

오브젝트의 태그 읽기

적절한 매개변수를 사용하여 오브젝트에 발행된 GET 는 오브젝트와 연관된 키-값 태그 세트를 리턴합니다.

구문

GET https://{endpoint}/{bucket-name}/{object-name}?tagging # path style
GET https://{bucket-name}.{endpoint}/{object-name}?tagging # virtual host style

요청 예제

다음은 오브젝트 태그 세트를 읽는 예입니다.

GET /apiary/myObject?tagging HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Length: 0
GET /apiarymyObject?tagging HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Length: 0

응답 예

HTTP/1.1 200 OK
Date: Wed, 5 Oct 2020 15:39:38 GMT
X-Clv-Request-Id: 7afca6d8-e209-4519-8f2c-1af3f1540b42
Accept-Ranges: bytes
Content-Length: 128
<Tagging>
   <TagSet>
      <Tag>
         <Key>string</Key>
         <Value>string</Value>
      </Tag>
   </TagSet>
</Tagging>

오브젝트의 태그 삭제

적절한 매개변수를 사용하여 버킷에 발행된 DELETE 는 오브젝트의 태그를 제거합니다.

구문

DELETE https://{endpoint}/{bucket-name}{object-name}?tagging # path style
DELETE https://{bucket-name}.{endpoint}{object-name}?tagging # virtual host style

요청 예제

다음은 오브젝트의 태그를 삭제하는 예입니다.

DELETE /apiary/myObject?tagging HTTP/1.1
Authorization: Bearer {token}
Host: s3.us.cloud-object-storage.appdomain.cloud

요청 예제

DELETE /apiary/myObject?tagging HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud

서버는 204 No Content로 응답합니다.


오브젝트 복사

새 오브젝트에 대한 경로가 지정된 PUTx-amz-copy-source 헤더로 지정된 다른 오브젝트의 사본을 새로 작성합니다. 다르게 변경되지 않는 한, 메타데이터는 동일하게 유지됩니다.

개인 식별 정보(PII): 버킷 또는 객체 명명 시 사용자(자연인)를 이름, 위치 또는 기타 수단으로 식별할 수 있는 정보를 사용하지 마십시오.

오브젝트를 복사하면 (위치 간에도) 공용 아웃바운드 대역폭 비용이 발생하지 않습니다. 모든 데이터는 COS 내부 네트워크 내에 남아 있습니다.

구문

PUT https://{endpoint}/{bucket-name}/{object-name} # path style
PUT https://{bucket-name}.{endpoint}/{object-name} # virtual host style

선택적 헤더

헤더 유형 설명
x-amz-metadata-directive 문자열(COPY 또는 REPLACE) REPLACE는 원래 메타데이터를 제공된 새 메타데이터로 겹쳐씁니다.
x-amz-tagging 문자열 조회 매개변수 ("SomeKey=SomeValue") 로 형식화된 오브젝트에 적용할 태그 세트입니다.
x-amz-tagging-directive 문자열(COPY 또는 REPLACE) A는 제공된 새 태그로 REPLACE 기존 태그를 덮어씁니다.
x-amz-copy-source-if-match 문자열(ETag) 지정된 ETag가 소스 오브젝트와 일치하는 경우 사본을 작성합니다.
x-amz-copy-source-if-none-match 문자열(ETag) 지정된 ETag가 소스 오브젝트와 다른 경우 사본을 작성합니다.
x-amz-copy-source-if-unmodified-since 문자열(시간소인) 지정된 날짜 이후 소스 오브젝트가 수정되지 않은 경우 사본을 작성합니다. 날짜는 올바른 HTTP 날짜여야 합니다(예: Wed, 30 Nov 2016 20:21:38 GMT).
x-amz-copy-source-if-modified-since 문자열(시간소인) 지정된 날짜 이후 소스 오브젝트가 수정된 경우 사본을 작성합니다. 날짜는 올바른 HTTP 날짜여야 합니다(예: Wed, 30 Nov 2016 20:21:38 GMT).
x-amz-checksum-algorithm 문자열 대상 개체에 대한 체크섬을 생성하는 데 사용할 체크섬 알고리즘을 나타냅니다.

요청 예제

이 기본 예에서는 bee 버킷에서 garden 오브젝트를 가져와 새 키 apiarywild-bee 버킷에 사본을 작성합니다.

PUT /apiary/wild-bee HTTP/1.1
Authorization: Bearer {token}
x-amz-copy-source: /garden/bee
Host: s3.us.cloud-object-storage.appdomain.cloud

요청 예제

PUT /apiary/wild-bee HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
x-amz-copy-source: /garden/bee
Host: s3.us.cloud-object-storage.appdomain.cloud

응답 예

HTTP/1.1 200 OK
Date: Wed, 30 Nov 2016 19:52:52 GMT
X-Clv-Request-Id: 72992a90-8f86-433f-b1a4-7b1b33714bed
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.137
X-Clv-S3-Version: 2.5
x-amz-request-id: 72992a90-8f86-433f-b1a4-7b1b33714bed
ETag: "853aab195ce770b0dfb294a4e9467e62"
Content-Type: application/xml
Content-Length: 240
<CopyObjectResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <LastModified>2016-11-30T19:52:53.125Z</LastModified>
  <ETag>"853aab195ce770b0dfb294a4e9467e62"</ETag>
</CopyObjectResult>

오브젝트의 CORS 구성 확인

오리진 및 요청 유형과 함께 오브젝트에 대한 경로가 지정된 OPTIONS는 요청 유형을 사용하여 이 오리진에서 해당 오브젝트에 액세스 가능한지 확인합니다. 다른 모든 요청과 달리 OPTIONS 요청에는 authorization 또는 x-amx-date 헤더가 필요하지 않습니다.

구문

OPTIONS https://{endpoint}/{bucket-name}/{object-name} # path style
OPTIONS https://{bucket-name}.{endpoint}/{object-name} # virtual host style

요청 예제

OPTIONS /apiary/queen-bee HTTP/1.1
Access-Control-Request-Method: PUT
Origin: http://ibm.com
Host: s3.us.cloud-object-storage.appdomain.cloud

요청 예제

OPTIONS /apiary/queen-bee HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Access-Control-Request-Method: PUT
Origin: http://ibm.com
Host: s3.us.cloud-object-storage.appdomain.cloud

응답 예

HTTP/1.1 200 OK
Date: Wed, 07 Dec 2016 16:23:14 GMT
X-Clv-Request-Id: 9a2ae3e1-76dd-4eec-a8f2-1a7f60f63483
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.137
X-Clv-S3-Version: 2.5
x-amz-request-id: 9a2ae3e1-76dd-4eec-a8f2-1a7f60f63483
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: PUT
Access-Control-Allow-Credentials: true
Vary: Origin, Access-Control-Request-Headers, Access-Control-Allow-Methods
Content-Length: 0


다중 파트의 오브젝트 업로드

대형 오브젝트에 대해 작업하는 경우에는 IBM Cloud® Object Storage에 오브젝트를 기록할 때 다중 파트 업로드 오퍼레이션을 사용하는 것이 좋습니다. 단일 오브젝트의 업로드는 파트의 세트로 수행할 수 있으며 이러한 파트는 순서에 상관없이 독립적으로 병렬로 업로드할 수 있습니다. 업로드가 완료되면 Object Storage가 모든 파트를 모아 하나의 오브젝트로 제시합니다. 이는 네트워크 장애가 발생해도 대용량 업로드가 실패하지 않는다는 점, 업로드를 일시정지하고 나중에 다시 시작할 수 있다는 점, 오브젝트가 작성되는 즉시 업로드 가능한 점 등 많은 이점을 제공합니다.

다중 파트 업로드는 5MB가 넘는 오브젝트에서만 사용 가능합니다. 50GB보다 작은 오브젝트의 경우 최적의 성능을 위해 20MB에서 100MB의 파트 크기가 권장됩니다. 더 큰 오브젝트의 경우에는 성능에 큰 영향을 주지 않고 파트 크기를 늘릴 수 있습니다.

관련된 추가 복잡도로 인해 개발자는 다중 파트 업로드 지원을 제공하는 라이브러리를 사용하는 것이 좋습니다.

오브젝트가 삭제되거나 다중 파트 업로드가 중단되며 AbortIncompleteMultipartUpload가 나타날 때까지 불완전한 다중 파트 업로드가 지속됩니다. 불완전한 다중 파트 업로드가 중단되지 않으면 파트 업로드가 계속 리소스를 사용합니다. 이 점을 염두에 두고 인터페이스를 설계하고 불완전한 다중 파트 업로드를 정리해야 합니다.

다중 파트로 오브젝트를 업로드하는 데는 세 가지 단계가 있습니다.

  1. 업로드가 시작되고 UploadId가 작성됩니다.
  2. 개별 파트는 순차 파트 번호와 오브젝트의 UploadId를 지정하여 업로드됩니다.
  3. 모든 파트의 업로드가 완료되면 UploadId가 지정된 요청 및 각 파트 번호와 해당 Etag 값을 나열하는 XML 블록을 보내 업로드가 완료됩니다.

다중 파트 업로드 시작

조회 매개변수 POST를 사용하여 오브젝트에 발행된 upload는 새 UploadId 값을 작성하며, 이 값은 업로드되는 오브젝트의 각 파트에서 참조됩니다.

개인 식별 정보(PII): 버킷 또는 객체 명명 시 사용자(자연인)를 이름, 위치 또는 기타 수단으로 식별할 수 있는 정보를 사용하지 마십시오.

구문

POST https://{endpoint}/{bucket-name}/{object-name}?uploads= # path style
POST https://{bucket-name}.{endpoint}/{object-name}?uploads= # virtual host style

선택적 헤더

선택적 헤더
헤더 유형 설명
x-amz-checksum-algorithm 문자열 전체 멀티파트 객체에 대한 체크섬을 생성하는 데 사용할 체크섬 알고리즘을 나타냅니다.
x-amz-checksum-type 문자열 전체 멀티파트 객체에 대한 체크섬을 생성하는 데 사용할 체크섬 유형을 나타냅니다.

요청 예제

POST /some-bucket/multipart-object-123?uploads= HTTP/1.1
Authorization: Bearer {token}
Host: s3.us.cloud-object-storage.appdomain.cloud

요청 예제

POST /some-bucket/multipart-object-123?uploads= HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Host: s3.us.cloud-object-storage.appdomain.cloud

응답 예

HTTP/1.1 200 OK
Date: Fri, 03 Mar 2017 20:34:12 GMT
X-Clv-Request-Id: 258fdd5a-f9be-40f0-990f-5f4225e0c8e5
Accept-Ranges: bytes
Server: Cleversafe/3.9.1.114
X-Clv-S3-Version: 2.5
Content-Type: application/xml
Content-Length: 276
<InitiateMultipartUploadResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Bucket>some-bucket</Bucket>
  <Key>multipart-object-123</Key>
  <UploadId>0000015a-95e1-4326-654e-a1b57887784f</UploadId>
</InitiateMultipartUploadResult>

파트 업로드

조회 매개변수가 PUTpartNumber인 오브젝트에 발행된 uploadId 요청이 오브젝트의 한 파트를 업로드합니다. 파트는 연속으로 또는 동시에 업로드될 수 있지만 순서대로 번호를 매겨야 합니다.

개인 식별 정보(PII): 버킷 또는 객체 명명 시 사용자(자연인)를 이름, 위치 또는 기타 수단으로 식별할 수 있는 정보를 사용하지 마십시오.

구문

PUT https://{endpoint}/{bucket-name}/{object-name}?partNumber={sequential-integer}&uploadId={uploadId}= # path style
PUT https://{bucket-name}.{endpoint}/{object-name}?partNumber={sequential-integer}&uploadId={uploadId}= # virtual host style

선택적 헤더

선택적 헤더
헤더 유형 설명
Content-MD5 문자열 페이로드의 128비트 SHA-1( MD5 ) 해시는 SHA-1( Base64 )로 인코딩되며, 전송 중 페이로드가 변경되지 않았는지 확인하기 위한 무결성 검사에 사용됩니다.
x-amz-checksum-crc32 문자열 이 헤더는 개체의 Base64 인코딩된 32비트 CRC32 체크섬입니다.
x-amz-checksum-crc32c 문자열 이 헤더는 개체의 Base64 인코딩된 32비트 CRC32C 체크섬입니다.
x-amz-checksum-crc64nvme 문자열 이 헤더는 개체의 Base64 인코딩된 64비트 CRC64NVME 체크섬입니다. CRC64NVME 체크섬은 항상 전체 객체 체크섬입니다.
x-amz-checksum-sha1 문자열 이 헤더는 개체의 Base64 인코딩된 160비트 SHA1 다이제스트입니다.
x-amz-checksum-sha256 문자열 이 헤더는 개체의 Base64 인코딩된 256비트 SHA256 다이제스트입니다.
x-amz-sdk-checksum-algorithm 문자열 SDK를 사용할 때 오브젝트의 체크섬을 생성하는 데 사용되는 알고리즘을 나타냅니다.
x-amz-trailer 문자열 오브젝트 업로드 무결성을 확인하기 위해 페이로드의 트레일러에서 어떤 체크섬 값 헤더를 찾을지 표시합니다.

요청 예제

PUT /some-bucket/multipart-object-123?partNumber=1&uploadId=0000015a-df89-51d0-2790-dee1ac994053 HTTP/1.1
Authorization: Bearer {token}
Content-Type: application/pdf
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Length: 13374550

요청 예제

PUT /some-bucket/multipart-object-123?partNumber=1&uploadId=0000015a-df89-51d0-2790-dee1ac994053 HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
x-amz-content-sha256: STREAMING-AWS4-HMAC-SHA256-PAYLOAD
Content-Encoding: aws-chunked
x-amz-decoded-content-length: 13374550
Content-Type: application/pdf
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Length: 13374550

응답 예

HTTP/1.1 200 OK
Date: Sat, 18 Mar 2017 03:56:41 GMT
X-Clv-Request-Id: 17ba921d-1c27-4f31-8396-2e6588be5c6d
Accept-Ranges: bytes
Server: Cleversafe/3.9.1.114
X-Clv-S3-Version: 2.5
ETag: "7417ca8d45a71b692168f0419c17fe2f"
Content-Length: 0

파트 나열

활성 GET가 조회 매개변수로 지정된 다중 파트 오브젝트에 대한 경로가 지정된 UploadID은 오브젝트의 모든 파트 목록을 리턴합니다.

구문

GET https://{endpoint}/{bucket-name}/{object-name}?uploadId={uploadId} # path style
GET https://{bucket-name}.{endpoint}/{object-name}?uploadId={uploadId} # virtual host style

조회 매개변수

매개변수
매개변수 필수? 유형 설명
uploadId 필수 문자열 다중 파트 업로드를 초기화할 때 리턴되는 업로드 ID입니다.
max-parts 선택사항 문자열 기본값은 1,000입니다.
part-number​-marker 선택사항 문자열 파트 목록이 시작되는 위치를 정의합니다.

요청 예제

GET /farm/spaceship?uploadId=01000162-3f46-6ab8-4b5f-f7060b310f37 HTTP/1.1
Authorization: bearer {token}
Host: s3.us.cloud-object-storage.appdomain.cloud

요청 예제

GET /farm/spaceship?uploadId=01000162-3f46-6ab8-4b5f-f7060b310f37 HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Host: s3.us.cloud-object-storage.appdomain.cloud

응답 예

HTTP/1.1 200 OK
Date: Mon, 19 Mar 2018 17:21:08 GMT
X-Clv-Request-Id: 6544044d-4f88-4bb6-9ee5-bfadf5023249
Server: Cleversafe/3.12.4.20
X-Clv-S3-Version: 2.5
Accept-Ranges: bytes
Content-Type: application/xml
Content-Length: 743
<ListPartsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Bucket>farm</Bucket>
  <Key>spaceship</Key>
  <UploadId>01000162-3f46-6ab8-4b5f-f7060b310f37</UploadId>
  <Initiator>
    <ID>d6f04d83-6c4f-4a62-a165-696756d63903</ID>
    <DisplayName>d6f04d83-6c4f-4a62-a165-696756d63903</DisplayName>
  </Initiator>
  <Owner>
    <ID>d6f04d83-6c4f-4a62-a165-696756d63903</ID>
    <DisplayName>d6f04d83-6c4f-4a62-a165-696756d63903</DisplayName>
  </Owner>
  <StorageClass>STANDARD</StorageClass>
  <MaxParts>1000</MaxParts>
  <IsTruncated>false</IsTruncated>
  <Part>
    <PartNumber>1</PartNumber>
    <LastModified>2018-03-19T17:20:35.482Z</LastModified>
    <ETag>"bb03cf4fa8603fe407a65ee1dba55265"</ETag>
    <Size>7128094</Size>
  </Part>
</ListPartsResult>

다중 파트 업로드 완료

조회 매개변수가 POST인 오브젝트에 발행된 uploadId 요청 및 본문의 해당 XML 블록이 다중 파트 업로드를 완료합니다.

구문

POST https://{endpoint}/{bucket-name}/{object-name}?uploadId={uploadId}= # path style
POST https://{bucket-name}.{endpoint}/{object-name}?uploadId={uploadId}= # virtual host style

선택적 헤더

선택적 헤더
헤더 유형 설명
x-amz-checksum-crc32 문자열 이 헤더는 개체의 Base64 인코딩된 32비트 CRC32 체크섬입니다.
x-amz-checksum-crc32c 문자열 이 헤더는 개체의 Base64 인코딩된 32비트 CRC32C 체크섬입니다.
x-amz-checksum-crc64nvme 문자열 이 헤더는 개체의 Base64 인코딩된 64비트 CRC64NVME 체크섬입니다. CRC64NVME 체크섬은 항상 전체 객체 체크섬입니다.
x-amz-checksum-sha1 문자열 이 헤더는 개체의 Base64 인코딩된 160비트 SHA1 다이제스트입니다.
x-amz-checksum-sha256 문자열 이 헤더는 개체의 Base64 인코딩된 256비트 SHA256 다이제스트입니다.
x-amz-checksum-type 문자열 전체 멀티파트 객체에 대한 체크섬을 생성하는 데 사용할 체크섬 유형을 나타냅니다.

요청 본문에 다음 스키마가 포함된 XML 블록이 있어야 합니다.

요청 스키마 본문
요소 유형 하위 상위 제한조건
CompleteMultipartUpload 컨테이너 부품
부품 컨테이너 PartNumber, ETag 삭제
PartNumber 문자열
오브젝트 올바른 부품 번호
ETag 문자열
오브젝트 올바른 ETag 값 문자열
<CompleteMultipartUpload>
  <Part>
    <PartNumber>{sequential part number}</PartNumber>
    <ETag>{ETag value from part upload response header}</ETag>
  </Part>
</CompleteMultipartUpload>

요청 예제

POST /some-bucket/multipart-object-123?uploadId=0000015a-df89-51d0-2790-dee1ac994053 HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain; charset=utf-8
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Length: 257

요청 예제

POST /some-bucket/multipart-object-123?uploadId=0000015a-df89-51d0-2790-dee1ac994053 HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Content-Type: text/plain; charset=utf-8
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Length: 257
<CompleteMultipartUpload>
  <Part>
    <PartNumber>1</PartNumber>
    <ETag>"7417ca8d45a71b692168f0419c17fe2f"</ETag>
  </Part>
  <Part>
    <PartNumber>2</PartNumber>
    <ETag>"7417ca8d45a71b692168f0419c17fe2f"</ETag>
  </Part>
</CompleteMultipartUpload>

응답 예

HTTP/1.1 200 OK
Date: Fri, 03 Mar 2017 19:18:44 GMT
X-Clv-Request-Id: c8be10e7-94c4-4c03-9960-6f242b42424d
Accept-Ranges: bytes
Server: Cleversafe/3.9.1.114
X-Clv-S3-Version: 2.5
ETag: "765ba3df36cf24e49f67fc6f689dfc6e-2"
Content-Type: application/xml
Content-Length: 364
<CompleteMultipartUploadResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Location>http://s3.us.cloud-object-storage.appdomain.cloud/zopse/multipart-object-123</Location>
  <Bucket>some-bucket</Bucket>
  <Key>multipart-object-123</Key>
  <ETag>"765ba3df36cf24e49f67fc6f689dfc6e-2"</ETag>
</CompleteMultipartUploadResult>

불완전한 다중 파트 업로드 중단

조회 매개변수가 DELETE인 오브젝트에 발행된 uploadId 요청이 다중 파트 업로드의 완료되지 않은 모든 파트를 삭제합니다.

구문

DELETE https://{endpoint}/{bucket-name}/{object-name}?uploadId={uploadId}= # path style
DELETE https://{bucket-name}.{endpoint}/{object-name}?uploadId={uploadId}= # virtual host style

요청 예제

DELETE /some-bucket/multipart-object-123?uploadId=0000015a-df89-51d0-2790-dee1ac994053 HTTP/1.1
Authorization: Bearer {token}
Host: s3.us.cloud-object-storage.appdomain.cloud

요청 예제

DELETE /some-bucket/multipart-object-123?uploadId=0000015a-df89-51d0-2790-dee1ac994053 HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Host: s3.us.cloud-object-storage.appdomain.cloud

응답 예

HTTP/1.1 204 No Content
Date: Thu, 16 Mar 2017 22:07:48 GMT
X-Clv-Request-Id: 06d67542-6a3f-4616-be25-fc4dbdf242ad
Accept-Ranges: bytes
Server: Cleversafe/3.9.1.114
X-Clv-S3-Version: 2.5

아카이브된 오브젝트 임시 복원

아카이브된 오브젝트의 임시 복원을 요청하기 위해 POST 요청이 조회 매개변수 restore를 사용하여 오브젝트에 발행됩니다. 페이로드의 무결성 검사로 Content-MD5 헤더 또는 checksum 헤더( x-amz-checksum-crc32, x-amz-checksum-crc32c, x-amz-checksum-crc64nvme, x-amz-checksum-sha1 또는 x-amz-checksum-sha256 포함)가 필요합니다.

오브젝트를 다운로드하거나 수정하기 전에 아카이브된 오브젝트를 복원해야 합니다. 오브젝트의 수명을 지정해야 하며, 이후에는 오브젝트의 임시 사본이 삭제됩니다.

라이프사이클 정책 상태 전이 스토리지 클래스가 GLACIER 인 버킷의 경우, 복원된 사본을 액세스할 수 있기 전에 최대 12시간까지 지연될 수 있습니다. 변환 스토리지 클래스가 ACCELERATED 로 설정된 경우, 복원된 오브젝트를 사용할 수 있기 전에 최대 2시간의 지연이 있을 수 있습니다. HAED 요청은 복원된 사본이 사용 가능한지 확인할 수 있습니다.

오브젝트를 영구적으로 복원하려면 활성 라이프사이클 구성이 없는 버킷에 이 오브젝트를 복사해야 합니다.

구문

POST https://{endpoint}/{bucket-name}/{object-name}?restore # path style
POST https://{bucket-name}.{endpoint}/{object-name}?restore # virtual host style

페이로드 요소

요청 본문에 다음 스키마가 포함된 XML 블록이 있어야 합니다.

요소 유형 하위 상위 제한조건
RestoreRequest 컨테이너 Days, GlacierJobParameters 없음 없음
정수 없음 RestoreRequest 임시로 복원된 오브젝트의 수명을 지정했습니다. 오브젝트의 복원된 사본이 존재할 수 있는 최소 일 수는 1입니다. 복원 기간이 경과하면 오브젝트의 임시 사본이 제거됩니다.
GlacierJobParameters 문자열 티어 RestoreRequest 없음
티어 문자열 없음 GlacierJobParameters 선택사항이며 공백으로 두면 오브젝트가 작성될 때 적용된 정책의 스토리지 티어와 연관된 값으로 기본 설정됩니다. 이 값을 공백으로 두지 않으면 버킷의 라이프사이클 정책에 대한 상태 전이 스토리지 클래스가 GLACIER 로 설정된 경우 반드시 Bulk 로 설정되어야 하고, 상태 전이 스토리지 클래스가 ACCELERATED 로 설정된 경우 반드시 Accelerated 로 설정되어야 합니다.
선택적 헤더
헤더 유형 설명
Content-MD5 문자열 페이로드의 128비트 SHA-1( MD5 ) 해시는 SHA-1( base64 )로 인코딩되며, 전송 중 페이로드가 변경되지 않았음을 확인하는 무결성 검사에 사용됩니다.
x-amz-checksum-crc32 문자열 이 헤더는 개체의 Base64 인코딩된 32비트 CRC32 체크섬입니다.
x-amz-checksum-crc32c 문자열 이 헤더는 개체의 Base64 인코딩된 32비트 CRC32C 체크섬입니다.
x-amz-checksum-crc64nvme 문자열 이 헤더는 개체의 Base64 인코딩된 64비트 CRC64NVME 체크섬입니다. CRC64NVME 체크섬은 항상 전체 객체 체크섬입니다.
x-amz-checksum-sha1 문자열 이 헤더는 개체의 Base64 인코딩된 160비트 SHA1 다이제스트입니다.
x-amz-checksum-sha256 문자열 이 헤더는 개체의 Base64 인코딩된 256비트 SHA256 다이제스트입니다.
<RestoreRequest>
    <Days>{integer}</Days>
    <GlacierJobParameters>
        <Tier>Bulk</Tier>
    </GlacierJobParameters>
</RestoreRequest>

요청 예제

POST /apiary/queenbee?restore HTTP/1.1
Authorization: {authorization-string}
Content-Type: text/plain
Content-MD5: rgRRGfd/OytcM7O5gIaQ==
Content-Length: 305
Host: s3.us.cloud-object-storage.appdomain.cloud

요청 예제

POST /apiary/queenbee?restore HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Content-MD5: rgRRGfd/OytcM7O5gIaQ==
Content-Length: 305
Host: s3.us.cloud-object-storage.appdomain.cloud
<RestoreRequest>
    <Days>3</Days>
    <GlacierJobParameters>
        <Tier>Bulk</Tier>
    </GlacierJobParameters>
</RestoreRequest>

응답 예

HTTP/1.1 202 Accepted
Date: Thu, 16 Mar 2017 22:07:48 GMT
X-Clv-Request-Id: 06d67542-6a3f-4616-be25-fc4dbdf242ad
Accept-Ranges: bytes
Server: Cleversafe/3.9.1.114
X-Clv-S3-Version: 2.5

메타데이터 업데이트

기존 오브젝트의 메타데이터를 업데이트하는 데는 두 가지 방법이 있습니다.

  • 새 메타데이터와 원본 오브젝트 컨텐츠를 사용한 PUT 요청
  • 원본 오브젝트를 복사 소스로 지정하여 새 메타데이터로 COPY 요청 실행

모든 메타데이터 키에 접두부 x-amz-meta-를 추가해야 합니다.

PUT을 사용한 메타데이터 업데이트

해당 PUT 요청은 기존 객체의 복사본을 필요로 합니다. 내용이 덮어쓰기되기 때문입니다.

구문

PUT https://{endpoint}/{bucket-name}/{object-name} # path style
PUT https://{bucket-name}.{endpoint}/{object-name} # virtual host style

요청 예제

PUT /apiary/queen-bee HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain; charset=utf-8
Host: s3.us.cloud-object-storage.appdomain.cloud
x-amz-meta-key1: value1
x-amz-meta-key2: value2

Content-Length: 533

 The 'queen' bee is developed from larvae selected by worker bees and fed a
 substance referred to as 'royal jelly' to accelerate sexual maturity. After a
 short while the 'queen' is the mother of nearly every bee in the hive, and
 the colony will fight fiercely to protect her.

요청 예제

PUT /apiary/queen-bee HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain; charset=utf-8
Content-MD5: M625BaNwd/OytcM7O5gIaQ==
Host: s3.us.cloud-object-storage.appdomain.cloud
x-amz-meta-key1: value1
x-amz-meta-key2: value2

Content-Length: 533

 The 'queen' bee is developed from larvae selected by worker bees and fed a
 substance referred to as 'royal jelly' to accelerate sexual maturity. After a
 short while the 'queen' is the mother of nearly every bee in the hive, and
 the colony will fight fiercely to protect her.

응답 예

HTTP/1.1 200 OK
Date: Thu, 25 Aug 2016 18:30:02 GMT
X-Clv-Request-Id: 9f0ca49a-ae13-4d2d-925b-117b157cf5c3
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.121
X-Clv-S3-Version: 2.5
x-amz-request-id: 9f0ca49a-ae13-4d2d-925b-117b157cf5c3
ETag: "3ca744fa96cb95e92081708887f63de5"
Content-Length: 0

COPY를 사용한 메타데이터 업데이트

COPY 요청에 대한 전체 세부사항은 여기 에 있습니다.

구문

PUT https://{endpoint}/{bucket-name}/{object-name} # path style
PUT https://{bucket-name}.{endpoint}/{object-name} # virtual host style

요청 예제

PUT /apiary/queen-bee HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain; charset=utf-8
Host: s3.us.cloud-object-storage.appdomain.cloud
x-amz-copy-source: /apiary/queen-bee
x-amz-metadata-directive: REPLACE
x-amz-meta-key1: value1
x-amz-meta-key2: value2

요청 예제

PUT /apiary/queen-bee HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
x-amz-copy-source: /apiary/queen-bee
x-amz-metadata-directive: REPLACE
x-amz-meta-key1: value1
x-amz-meta-key2: value2

응답 예

HTTP/1.1 200 OK
Date: Thu, 25 Aug 2016 18:30:02 GMT
X-Clv-Request-Id: 9f0ca49a-ae13-4d2d-925b-117b157cf5c3
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.121
X-Clv-S3-Version: 2.5
x-amz-request-id: 9f0ca49a-ae13-4d2d-925b-117b157cf5c3
ETag: "3ca744fa96cb95e92081708887f63de5"
Content-Length: 0

다음 단계

문서 에서 버킷 조작에 대해 자세히 알아보십시오.