버킷 오퍼레이션

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} 엔드포인트의 위치 코드 us-standard
{signature} 비밀 키, 위치 및 날짜를 사용하여 작성되는 해시입니다. ffe2b6e18f9dcc41f593f4dbb39882a6bb4d26a73a04326e62a8d344e07c1a3e
{timestamp} 요청의 형식화된 날짜 및 시간 20180614T001804Z

버킷 나열

엔드포인트 루트로 전송된 GET 요청은 지정된 서비스 인스턴스와 연결된 버킷 목록을 반환합니다. 엔드포인트에 대한 자세한 정보는 엔드포인트 및 스토리지 위치를 참조하십시오.

헤더
헤더 유형 필수? 설명
ibm-service-instance-id 문자열 이 서비스 인스턴스에서 작성된 버킷을 나열합니다.
조회 매개변수
조회 매개변수 필수? 설명
extended 없음 아니오 목록에 LocationConstraintCreationTemplateId 메타데이터를 제공합니다.

구문

GET https://{endpoint}/

요청 예시

GET / HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
ibm-service-instance-id: {ibm-service-instance-id}

요청 예시

GET / 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

응답 예

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <Owner>
        <ID>{account-id}</ID>
        <DisplayName>{account-id}</DisplayName>
    </Owner>
    <Buckets>
        <Bucket>
            <Name>bucket-27200-lwx4cfvcue</Name>
            <CreationDate>2016-08-18T14:21:36.593Z</CreationDate>
        </Bucket>
        <Bucket>
            <Name>bucket-27590-drqmydpfdv</Name>
            <CreationDate>2016-08-18T14:22:32.366Z</CreationDate>
        </Bucket>
        <Bucket>
            <Name>bucket-27852-290jtb0n2y</Name>
            <CreationDate>2016-08-18T14:23:03.141Z</CreationDate>
        </Bucket>
        <Bucket>
            <Name>bucket-28731-k0o1gde2rm</Name>
            <CreationDate>2016-08-18T14:25:09.599Z</CreationDate>
        </Bucket>
    </Buckets>
</ListAllMyBucketsResult>

확장된 목록 가져오기

구문

GET https://{endpoint}/?extended

요청 예시

GET /?extended HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
ibm-service-instance-id: {ibm-service-instance-id}

요청 예시

GET /?extended 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

응답 예

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <Owner>
        <ID>{account-id}</ID>
        <DisplayName>{account-id}</DisplayName>
    </Owner>
    <IsTruncated>false</IsTruncated>
    <MaxKeys>1000</MaxKeys>
    <Prefix/>
    <Marker/>
    <Buckets>
        <Bucket>
            <Name>bucket-27200-lwx4cfvcue</Name>
            <CreationDate>2016-08-18T14:21:36.593Z</CreationDate>
            <LocationConstraint>us-south-standard</LocationConstraint>
        </Bucket>
        <Bucket>
            <Name>bucket-27590-drqmydpfdv</Name>
            <CreationDate>2016-08-18T14:22:32.366Z</CreationDate>
            <LocationConstraint>us-standard</LocationConstraint>
        </Bucket>
        <Bucket>
            <Name>bucket-27852-290jtb0n2y</Name>
            <CreationDate>2016-08-18T14:23:03.141Z</CreationDate>
            <LocationConstraint>eu-standard</LocationConstraint>
        </Bucket>
        <Bucket>
            <Name>bucket-28731-k0o1gde2rm</Name>
            <CreationDate>2016-08-18T14:25:09.599Z</CreationDate>
            <LocationConstraint>us-cold</LocationConstraint>
        </Bucket>
    </Buckets>
</ListAllMyBucketsResult>

버킷 작성

엔드포인트 루트로 전송되고 뒤에 문자열이 오는 PUT 요청은 버킷을 작성합니다. 엔드포인트에 대한 자세한 정보는 엔드포인트 및 스토리지 위치를 참조하십시오. 버킷 이름은 전역적으로 고유해야 하며 DNS 규정을 준수해야 합니다. 3-63자길이의 이름은 소문자, 숫자, 점 (마침표) 및 대시 (하이픈) 로 구성되어야 합니다. 버킷 이름은 소문자 또는 숫자로 시작하고 끝나야 합니다. 버킷 이름은 연속적인 점이나 대시를 포함할 수 없습니다. IP 주소와 유사한 버킷 이름은 사용할 수 없습니다. 이 조작은 조작 특정 조회 매개변수를 사용하지 않습니다.

퍼블릭 클라우드의 모든 버킷이 글로벌 네임스페이스를 공유하므로 버킷 이름이 고유해야 합니다. 이 요구 사항을 통해 서비스 인스턴스나 계정 정보를 제공할 필요 없이 버킷에 액세스할 수 있습니다. 또한 cosv1- 또는 account- 접두부가 시스템에 예약되어 있으므로 이러한 접두부로 시작되는 이름의 버킷은 작성할 수 없습니다.

헤더
헤더 유형 필수? 설명
ibm-service-instance-id 문자열 이 헤더는 버킷이 생성될 서비스 인스턴스를 참조하며, 해당 인스턴스를 통해 데이터 사용량에 대한 요금이 청구될 수 있습니다.
x-amz-bucket-object-lock-enabled 부울 아니오 새 버킷에서 오브젝트 잠금을 사용할지 여부를 지정합니다. 이 헤더는 자동으로 버전화를 사용으로 설정합니다.

새 버킷에 오브젝트 잠금을 설정할 때 x-amz-bucket-object-lock-enabled 헤더에 인쇄 오류가 없는지 확인하십시오. 헤더 또는 값의 철자가 잘못된 경우 버킷이 작성되지만 오브젝트 잠금 및 버전화는 사용으로 설정되지 않습니다.

개인 식별 정보(PII): 버킷을 생성하거나 오브젝트를 추가할 때, 버킷이나 오브젝트의 이름에 이름, 위치 또는 기타 수단을 통해 사용자(자연인)를 식별할 수 있는 정보를 사용해서는 안 됩니다.

구문

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

요청 예시

다음 예제는 'images' 라는 버킷을 작성합니다.

PUT /images HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
ibm-service-instance-id: {ibm-service-instance-id}

요청 예시

PUT /images 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

응답 예

HTTP/1.1 200 OK
Date: Wed, 24 Aug 2016 17:45:25 GMT
X-Clv-Request-Id: dca204eb-72b5-4e2a-a142-808d2a5c2a87
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.115
X-Clv-S3-Version: 2.5
x-amz-request-id: dca204eb-72b5-4e2a-a142-808d2a5c2a87
Content-Length: 0

다른 스토리지 클래스로 버킷 작성

다른 스토리지 클래스를 가진 버킷을 생성하려면, 버킷 엔드포인트로 PUT 요청의 본문에 LocationConstraint 값이 {provisioning code} 인 버킷 구성을 지정하는 XML 블록을 전송하십시오. 엔드포인트에 대한 자세한 정보는 엔드포인트 및 스토리지 위치를 참조하십시오. 표준 버킷 이름 지정 규칙 이 적용됩니다. 이 조작은 조작 특정 조회 매개변수를 사용하지 않습니다.

| | 헤더 | 유형 | 설명 | |--------------------------|--------|--------------------------------------------------------------------------------------------------------------------- | ibm-service-instance-id | 문자열 | 이 헤더는 버킷이 생성될 서비스 인스턴스를 참조하며, 해당 인스턴스를 통해 데이터 사용량에 대한 요금이 청구될 수 있습니다. |

구문

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

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

요청 스키마 본문
요소 유형 하위 상위 제한조건
CreateBucketConfiguration 컨테이너 LocationConstraint
LocationConstraint 문자열
CreateBucketConfiguration 올바른 위치 코드
<CreateBucketConfiguration>
  <LocationConstraint>us-vault</LocationConstraint>
</CreateBucketConfiguration>

LocationConstraint에 대한 올바른 프로비저닝 코드 목록은 스토리지 클래스 안내서에서 참조할 수 있습니다.

요청 예시

다음 예제는 'vault-images' 라는 버킷을 작성합니다.

PUT /vault-images HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
ibm-service-instance-id: {ibm-service-instance-id}
Content-Length: 110

요청 예시

PUT /vault-images 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
<CreateBucketConfiguration>
  <LocationConstraint>us-vault</LocationConstraint>
</CreateBucketConfiguration>

응답 예

HTTP/1.1 200 OK
Date: Fri, 17 Mar 2017 17:52:17 GMT
X-Clv-Request-Id: b6483b2c-24ae-488a-884c-db1a93b9a9a6
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.115
X-Clv-S3-Version: 2.5
Content-Length: 0

Key Protect 또는 Hyper Protect Crypto Services 관리형 암호화 키(SSE-KP)를 사용하여 버킷 생성

Key Protect 또는 Hyper Protect Crypto Services에서 암호화 키를 관리하는 버킷을 작성하려면 활성 Key Protect 또는 Hyper Protect Crypto Services 서비스 인스턴스에 대한 액세스 권한이 있어야 합니다. 이 조작은 조작 특정 조회 매개변수를 사용하지 않습니다.

Key Protect 를 사용하여 암호화 키를 관리하는 방법에 대한 자세한 내용은 Key Protect 의 문서를 참조하십시오.

Hyper Protect Crypto Services에 대한 자세한 정보는 문서를 참조하십시오.

크로스 리전 버킷에 대한 관리형 암호화는 가장 가까운 고가용성 위치 (us-south 또는 jp-tok)에 있는 Key Protect 인스턴스의 루트 키를 사용 해야 합니다.

헤더
헤더 유형 설명
ibm-service-instance-id 문자열 이 헤더는 버킷이 생성될 서비스 인스턴스를 참조하며, 해당 인스턴스를 통해 데이터 사용량에 대한 요금이 청구될 수 있습니다.
ibm-sse-kp-encryption-algorithm 문자열 이 헤더는 Key Protect 를 사용하여 저장된 암호화 키와 함께 사용할 알고리즘 및 키 크기를 지정하는 데 사용됩니다. 이 값은 문자열 AES256으로 설정해야 합니다.
ibm-sse-kp-customer-root-key-crn 문자열 이 헤더는 Key Protect 또는 Hyper Protect Crypto Services 에서 이 버킷을 암호화하는 데 사용되는 특정 루트 키를 참조하는 데 사용됩니다. 이 값은 루트 키의 전체 CRN이어야 합니다.

구문

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

요청 예시

다음 예제는 'secure-files' 라고 하는 버킷을 작성합니다.

PUT /secure-files HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain
Host: s3.us-south.objectstorage.s3.us-south.cloud-object-storage.appdomain.cloud.net
ibm-service-instance-id: {ibm-service-instance-id}
ibm-sse-kp-encryption-algorithm: "AES256"
ibm-sse-kp-customer-root-key-crn: {customer-root-key-id}

요청 예시

PUT /secure-files 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
ibm-sse-kp-encryption-algorithm: "AES256"
ibm-sse-kp-customer-root-key-crn: {customer-root-key-id}

응답 예

HTTP/1.1 200 OK
Date: Wed, 24 Aug 2016 17:45:25 GMT
X-Clv-Request-Id: dca204eb-72b5-4e2a-a142-808d2a5c2a87
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.115
X-Clv-S3-Version: 2.5
x-amz-request-id: dca204eb-72b5-4e2a-a142-808d2a5c2a87
Content-Length: 0

버킷의 헤더 검색

버킷에 대해 발행된 ‘ HEAD ’는 해당 버킷의 헤더 정보를 반환합니다.

HEAD 요청은 본문을 리턴하지 않으므로 NoSuchBucket과 같은 특정 오류 메시지를 리턴할 수 없으며 NotFound만 리턴할 수 있습니다.

구문

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

요청 예시

다음 예제는 'images' 버킷의 헤더를 페치합니다.

HEAD /images HTTP/1.1
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
Authorization:Bearer {token}

요청 예시

HEAD /images 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

응답 예

HTTP/1.1 200 OK
Date: Wed, 24 Aug 2016 17:46:35 GMT
X-Clv-Request-Id: 0c2832e3-3c51-4ea6-96a3-cd8482aca08a
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.115
X-Clv-S3-Version: 2.5
x-amz-request-id: 0c2832e3-3c51-4ea6-96a3-cd8482aca08a
Content-Length: 0

요청 예시

HEAD Key Protect (S3) 암호화가 적용된 버킷에 대한 요청은 추가 헤더를 반환합니다.

HEAD /secure-files HTTP/1.1
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
Authorization:Bearer {token}

요청 예시

HEAD /secure-files 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

응답 예

HTTP/1.1 200 OK
Date: Wed, 24 Aug 2016 17:46:35 GMT
X-Clv-Request-Id: 0c2832e3-3c51-4ea6-96a3-cd8482aca08a
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.115
X-Clv-S3-Version: 2.5
x-amz-request-id: 0c2832e3-3c51-4ea6-96a3-cd8482aca08a
Content-Length: 0
ibm-sse-kp-enabled: True
ibm-sse-kp-crk-id: {customer-root-key-id}

특정 버킷에 있는 객체 나열하기 (버전 2)

버킷을 대상으로 한 GET 요청은 객체 목록을 반환하며, 한 번에 최대 1,000개까지 반환되고, 사전순이 아닌 순서로 반환됩니다. Object Storage 에서는 스토리지 클래스 연산이 구현되어 있지 않으므로, 응답에서 반환되는 StorageClass 값은 기본값입니다. 이 오퍼레이션은 오퍼레이션 특정 헤더 또는 페이로드 요소를 사용하지 않습니다.

구문

GET https://{endpoint}/{bucket-name}?list-type=2 # path style
GET https://{bucket-name}.{endpoint}?list-type=2 # virtual host style

선택적 조회 매개변수

선택적 조회 매개변수
이름 유형 설명
list-type 문자열 API의 버전 2를 표시하며 값은 2여야 합니다.
prefix 문자열 응답을 prefix 로 시작하는 객체 이름으로 제한합니다.
delimiter 문자열 prefixdelimiter 간의 오브젝트를 그룹화합니다.
encoding-type 문자열 XML에서 지원되지 않는 유니코드 문자가 오브젝트 이름에 사용되는 경우, 응답을 올바르게 인코딩하기 위해 이 매개변수를 url로 설정할 수 있습니다.
max-keys 문자열 응답에 표시할 오브젝트 수를 제한합니다. 기본값 및 최대값은 1,000입니다.
fetch-owner 문자열 API의 버전 2는 기본적으로 Owner 정보를 포함하지 않습니다. 응답에 ‘ Owner ’ 정보를 포함하려면 이 매개변수를 ‘ true ’로 설정하십시오.
continuation-token 문자열 응답이 잘릴 때 리턴할 다음 오브젝트 세트를 지정합니다(IsTruncated 요소가 true를 리턴).
귀하의 초기 응답에는 ‘ NextContinuationToken ’ 요소가 포함되어 있습니다. 다음 요청에서 이 토큰을 continuation-token의 값으로 사용하십시오.
start-after 문자열 특정 키 오브젝트 다음에 키 이름을 리턴합니다.
이 매개변수는 초기 요청에서만 유효합니다. continuation-token 매개변수가 요청에 포함되어 있는 경우 이 매개변수는 무시됩니다.

요청 예 (단순)

이 요청은 "apiary" 버킷 내 오브젝트를 나열합니다.

GET /apiary?list-type=2 HTTP/1.1
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
Authorization: Bearer {token}

샘플 요청 (단순)

GET /apiary?list-type=2 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

응답 예(단순)

HTTP/1.1 200 OK
Date: Wed, 24 Aug 2016 17:36:24 GMT
X-Clv-Request-Id: 9f39ff2e-55d1-461b-a6f1-2d0b75138861
Accept-Ranges: bytes
Server: Cleversafe/3.13.3.57
X-Clv-S3-Version: 2.5
x-amz-request-id: 9f39ff2e-55d1-461b-a6f1-2d0b75138861
Content-Type: application/xml
Content-Length: 814
<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Name>apiary</Name>
  <Prefix/>
  <KeyCount>3</KeyCount>
  <MaxKeys>1000</MaxKeys>
  <Delimiter/>
  <IsTruncated>false</IsTruncated>
  <Contents>
    <Key>drone-bee</Key>
    <LastModified>2016-08-25T17:38:38.549Z</LastModified>
    <ETag>"0cbc6611f5540bd0809a388dc95a615b"</ETag>
    <ChecksumAlgorithm>CRC64NVME</ChecksumAlgorithm>
    <ChecksumType>FULL_OBJECT</ChecksumType>
    <Size>4</Size>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
  <Contents>
    <Key>soldier-bee</Key>
    <LastModified>2016-08-25T17:49:06.006Z</LastModified>
    <ETag>"37d4c94839ee181a2224d6242176c4b5"</ETag>
    <ChecksumAlgorithm>CRC64NVME</ChecksumAlgorithm>
    <ChecksumType>FULL_OBJECT</ChecksumType>
    <Size>11</Size>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
  <Contents>
    <Key>worker-bee</Key>
    <LastModified>2016-08-25T17:46:53.288Z</LastModified>
    <ETag>"d34d8aada2996fc42e6948b926513907"</ETag>
    <ChecksumAlgorithm>CRC64NVME</ChecksumAlgorithm>
    <ChecksumType>FULL_OBJECT</ChecksumType>
    <Size>467</Size>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
</ListBucketResult>

요청 예(max-keys 매개변수)

이 요청은 리턴되는 최대 키가 1로 설정된 "apiary" 버킷 내 오브젝트를 나열합니다.

GET /apiary?list-type=2&max-keys=1 HTTP/1.1
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
Authorization: Bearer {token}

요청 예시 (max-keys 매개변수)

GET /apiary?list-type=2&max-keys=1 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

응답 예(잘린 응답)

HTTP/1.1 200 OK
Date: Wed, 24 Aug 2016 17:36:24 GMT
X-Clv-Request-Id: 9f39ff2e-55d1-461b-a6f1-2d0b75138861
Accept-Ranges: bytes
Server: Cleversafe/3.13.3.57
X-Clv-S3-Version: 2.5
x-amz-request-id: 9f39ff2e-55d1-461b-a6f1-2d0b75138861
Content-Type: application/xml
Content-Length: 598
<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Name>apiary</Name>
  <Prefix/>
  <NextContinuationToken>1dPe45g5uuxjyASPegLq80sQsZKL5OB2by4Iz_7YGR5NjiOENBPZXqvKJN6_PgKGVzZYTlws7qqdWaMklzb8HX2iDxxl72ane3rUFQrvNMeIih49MZ4APUjrAuYI83KxSMmfKHGZyKallFkD5N6PwKg</NextContinuationToken>
  <KeyCount>1</KeyCount>
  <MaxKeys>1</MaxKeys>
  <Delimiter/>
  <IsTruncated>true</IsTruncated>
  <Contents>
    <Key>drone-bee</Key>
    <LastModified>2016-08-25T17:38:38.549Z</LastModified>
    <ETag>"0cbc6611f5540bd0809a388dc95a615b"</ETag>
    <ChecksumAlgorithm>CRC64NVME</ChecksumAlgorithm>
    <ChecksumType>FULL_OBJECT</ChecksumType>
    <Size>4</Size>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
</ListBucketResult>

요청 예(continuation-token 매개변수)

이 요청은 연속 토큰이 지정된 "apiary" 버킷 내 오브젝트를 나열합니다.

GET /apiary?list-type=2&max-keys=1&continuation-token=1dPe45g5uuxjyASPegLq80sQsZKL5OB2by4Iz_7YGR5NjiOENBPZXqvKJN6_PgKGVzZYTlws7qqdWaMklzb8HX2iDxxl72ane3rUFQrvNMeIih49MZ4APUjrAuYI83KxSMmfKHGZyKallFkD5N6PwKg HTTP/1.1
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
Authorization: Bearer {token}

요청 예시 (continuation-token 매개변수)

GET /apiary?list-type=2&max-keys=1&continuation-token=1dPe45g5uuxjyASPegLq80sQsZKL5OB2by4Iz_7YGR5NjiOENBPZXqvKJN6_PgKGVzZYTlws7qqdWaMklzb8HX2iDxxl72ane3rUFQrvNMeIih49MZ4APUjrAuYI83KxSMmfKHGZyKallFkD5N6PwKg  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

응답 예(잘린 응답, continuation-token 매개변수)

HTTP/1.1 200 OK
Date: Wed, 24 Aug 2016 17:36:24 GMT
X-Clv-Request-Id: 9f39ff2e-55d1-461b-a6f1-2d0b75138861
Accept-Ranges: bytes
Server: Cleversafe/3.13.3.57
X-Clv-S3-Version: 2.5
x-amz-request-id: 9f39ff2e-55d1-461b-a6f1-2d0b75138861
Content-Type: application/xml
Content-Length: 604
<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Name>apiary</Name>
  <Prefix/>
  <ContinuationToken>1dPe45g5uuxjyASPegLq80sQsZKL5OB2by4Iz_7YGR5NjiOENBPZXqvKJN6_PgKGVzZYTlws7qqdWaMklzb8HX2iDxxl72ane3rUFQrvNMeIih49MZ4APUjrAuYI83KxSMmfKHGZyKallFkD5N6PwKg</ContinuationToken>
  <NextContinuationToken>1a8j20CqowRrM4epIQ7fTBuyPZWZUeA8Epog16wYu9KhAPNoYkWQYhGURsIQbll1lP7c-OO-V5Vyzu6mogiakC4NSwlK4LyRDdHQgY-yPH4wMB76MfQR61VyxI4TJLxIWTPSZA0nmQQWcuV2mE4jiDA</NextContinuationToken>
  <KeyCount>1</KeyCount>
  <MaxKeys>1</MaxKeys>
  <Delimiter/>
  <IsTruncated>true</IsTruncated>
  <Contents>
    <Key>soldier-bee</Key>
    <LastModified>2016-08-25T17:49:06.006Z</LastModified>
    <ETag>"37d4c94839ee181a2224d6242176c4b5"</ETag>
    <ChecksumAlgorithm>CRC64NVME</ChecksumAlgorithm>
    <ChecksumType>FULL_OBJECT</ChecksumType>
    <Size>11</Size>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
</ListBucketResult>

특정 버킷에 있는 객체 나열 (사용 중단됨)

이 API는 이전 버전과의 호환성을 위해 포함되어 있습니다. 버킷에서 오브젝트를 검색하는 권장 방법은 버전 2를 참조하십시오.

버킷을 대상으로 한 GET 요청은 객체 목록을 반환하며, 한 번에 최대 1,000개까지 반환되고, 사전순이 아닌 순서로 반환됩니다. Object Storage 에서는 스토리지 클래스 연산이 구현되어 있지 않으므로, 응답에서 반환되는 StorageClass 값은 기본값입니다. 이 오퍼레이션은 오퍼레이션 특정 헤더 또는 페이로드 요소를 사용하지 않습니다.

구문

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

목록 오브젝트 메소드에 대한 선택적 조회 매개변수

선택적 조회 매개변수
이름 유형 설명
prefix 문자열 응답을 prefix 로 시작하는 객체 이름으로 제한합니다.
delimiter 문자열 prefixdelimiter 간의 오브젝트를 그룹화합니다.
encoding-type 문자열 XML에서 지원되지 않는 유니코드 문자가 오브젝트 이름에 사용되는 경우, 응답을 올바르게 인코딩하기 위해 이 매개변수를 url로 설정할 수 있습니다.
max-keys 문자열 응답에 표시할 오브젝트 수를 제한합니다. 기본값 및 최대값은 1,000입니다.
marker 문자열 UTF-8 의 바이너리 순서에 따라, 목록이 시작될 객체를 지정합니다.

요청 예시

이 요청은 "apiary" 버킷 내 오브젝트를 나열합니다.

GET /apiary HTTP/1.1
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
Authorization: Bearer {token}

요청 예시

GET /apiary 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

응답 예

HTTP/1.1 200 OK
Date: Wed, 24 Aug 2016 17:36:24 GMT
X-Clv-Request-Id: 9f39ff2e-55d1-461b-a6f1-2d0b75138861
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.115
X-Clv-S3-Version: 2.5
x-amz-request-id: 9f39ff2e-55d1-461b-a6f1-2d0b75138861
Content-Type: application/xml
Content-Length: 909
<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Name>apiary</Name>
  <Prefix/>
  <Marker/>
  <MaxKeys>1000</MaxKeys>
  <Delimiter/>
  <IsTruncated>false</IsTruncated>
  <Contents>
    <Key>drone-bee</Key>
    <LastModified>2016-08-25T17:38:38.549Z</LastModified>
    <ETag>"0cbc6611f5540bd0809a388dc95a615b"</ETag>
    <ChecksumAlgorithm>CRC64NVME</ChecksumAlgorithm>
    <ChecksumType>FULL_OBJECT</ChecksumType>
    <Size>4</Size>
    <Owner>
      <ID>{account-id}</ID>
      <DisplayName>{account-id}</DisplayName>
    </Owner>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
  <Contents>
    <Key>soldier-bee</Key>
    <LastModified>2016-08-25T17:49:06.006Z</LastModified>
    <ETag>"37d4c94839ee181a2224d6242176c4b5"</ETag>
    <ChecksumAlgorithm>CRC64NVME</ChecksumAlgorithm>
    <ChecksumType>FULL_OBJECT</ChecksumType>
    <Size>11</Size>
    <Owner>
      <ID>{account-id}</ID>
      <DisplayName>{account-id}</DisplayName>
    </Owner>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
  <Contents>
    <Key>worker-bee</Key>
    <LastModified>2016-08-25T17:46:53.288Z</LastModified>
    <ETag>"d34d8aada2996fc42e6948b926513907"</ETag>
    <ChecksumAlgorithm>CRC64NVME</ChecksumAlgorithm>
    <ChecksumType>FULL_OBJECT</ChecksumType>
    <Size>467</Size>
    <Owner>
      <ID>{account-id}</ID>
      <DisplayName>{account-id}</DisplayName>
    </Owner>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
</ListBucketResult>

버킷 삭제

빈 버킷에 대해 DELETE 요청을 보내면 해당 버킷이 삭제됩니다. 삭제 후 버킷 이름은 시스템에 의해 5분 동안 보류됩니다. 5분 후, 해당 이름은 재사용 가능해집니다. 빈 버킷만 삭제할 수 있습니다.

Object Storage 서비스 인스턴스가 삭제되면 해당 인스턴스의 모든 버킷 이름이 시스템에 의해 7일동안 예약 상태로 유지됩니다. 7일후에는 다시 사용할 수 있도록 이름이 해제됩니다.

구문

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

선택적 헤더

선택적 헤더
이름 유형 설명
aspera-ak-max-tries 문자열 삭제 오퍼레이션을 시도하는 횟수를 지정합니다. 기본값은 2입니다.

요청 예시

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

요청 예시

DELETE /apiary 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로 응답합니다.

비어 있지 않은 버킷이 삭제 요청되면 서버가 409 Conflict로 응답합니다.

응답 예

<Error>
  <Code>BucketNotEmpty</Code>
  <Message>The bucket you tried to delete is not empty.</Message>
  <Resource>/apiary/</Resource>
  <RequestId>9d2bbc00-2827-4210-b40a-8107863f4386</RequestId>
  <httpStatusCode>409</httpStatusCode>
</Error>

기존 버킷에서 오브젝트 잠금 구성

?object-lock 조회 매개변수를 사용하여 비어 있는 버킷으로 주소 지정되는 PUT 요청은 버킷에 새 오브젝트 잠금 구성을 설정합니다.

구문

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

오브젝트 잠금 구성은 요청 본문에서 XML로 제공됩니다. 새 요청은 버킷에 있는 기존 복제 규칙을 겹쳐씁니다.

오브젝트 잠금 구성은 하나의 규칙을 포함해야 합니다.

선택적 헤더
헤더 유형 설명
Content-MD5 문자열 Base64 는 페이로드의 128비트 MD5 해시를 인코딩했으며, 이는 전송 중에 페이로드가 변조되지 않았는지 확인하기 위한 무결성 검사 용도로 사용됩니다.
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를 사용할 때 오브젝트의 체크섬을 생성하는 데 사용되는 알고리즘을 나타냅니다.

페이로드에 대한 무결성 검사로 Content-MD5 헤더 또는 checksum 헤더( x-amz-checksum-crc32, x-amz-checksum-crc32c, x-amz-checksum-crc64nvme, x-amz-checksum-sha1, x-amz-checksum-sha256 포함)가 필요합니다.

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

요청 스키마 본문
요소 유형 하위 상위 제한조건
ObjectLockConfiguration 컨테이너 ObjectLockEnabled, Rule 없음 한계 1.
ObjectLockEnabled 문자열 없음 ObjectLockConfiguration 유일한 유효한 값은 ENABLED 입니다.
Rule 컨테이너 DefaultRetention ObjectLockConfiguration 한계 1
DefaultRetention 컨테이너 Days, Mode, Years Rule 한계 1.
Days 정수 없음 DefaultRetention 기본 보존 기간에 대해 지정할 일 수입니다. Years 와 결합할 수 없습니다.
Mode 문자열 없음 DefaultRetention COMPLIANCE 또는 GOVERNANCE.
Years 정수 없음 DefaultRetention 기본 보존 기간에 대해 지정할 년 수입니다. Days 와 결합할 수 없습니다.

요청 예제

이 요청은 "apiary" 버킷 내 오브젝트를 나열합니다.

GET /apiary HTTP/1.1
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
Authorization: Bearer {token}

응답 예

HTTP/1.1 200 OK
Date: Wed, 24 Aug 2016 17:36:24 GMT
X-Clv-Request-Id: 9f39ff2e-55d1-461b-a6f1-2d0b75138861
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.115
X-Clv-S3-Version: 2.5
x-amz-request-id: 9f39ff2e-55d1-461b-a6f1-2d0b75138861
Content-Type: application/xml
Content-Length: 909
<ObjectLockConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <ObjectLockEnabled>ENABLED</ObjectLockEnabled>
  <Rule>
      <DefaultRetention>
        <Days>30</Days>
        <Mode>COMPLIANCE</Mode>
      </DefaultRetention>
  </Rule>
</ObjectLockConfiguration>

버킷에 대해 취소되었거나 완료되지 않은 다중 파트 업로드 나열

적절한 매개변수가 있는 버킷에 발행된 GET은 버킷에 대한 취소되거나 불완전한 다중 파트 업로드에 대한 정보를 검색합니다.

구문

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

매개변수

매개변수
이름 유형 설명
prefix 문자열 응답을 {prefix} 로 시작하는 객체 이름으로 제한합니다.
delimiter 문자열 prefixdelimiter 간의 오브젝트를 그룹화합니다.
encoding-type 문자열 XML에서 지원되지 않는 유니코드 문자가 오브젝트 이름에 사용되는 경우, 응답을 올바르게 인코딩하기 위해 이 매개변수를 url로 설정할 수 있습니다.
max-uploads 정수 응답에 표시할 오브젝트 수를 제한합니다. 기본값 및 최대값은 1,000입니다.
key-marker 문자열 목록이 시작될 위치를 지정합니다.
upload-id-marker 문자열 key-marker 가 지정되지 않은 경우 무시되며, 지정된 경우에는 upload-id-marker 위에 부품 목록을 표시하기 시작할 위치를 설정합니다.

요청 예시

다음 예제는 현재 취소되고 불완전한 모든 다중 파트 업로드를 검색합니다.

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

요청 예시

GET /apiary?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}
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud

응답 에제(진행 중인 다중 파트 업로드가 없음)

HTTP/1.1 200 OK
Date: Wed, 5 Oct 2016 15:22:27 GMT
X-Clv-Request-Id: 9fa96daa-9f37-42ee-ab79-0bcda049c671
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.129
X-Clv-S3-Version: 2.5
x-amz-request-id: 9fa96daa-9f37-42ee-ab79-0bcda049c671
Content-Type: application/xml
Content-Length: 374
<ListMultipartUploadsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Bucket>apiary</Bucket>
  <KeyMarker/>
  <UploadIdMarker/>
  <NextKeyMarker>multipart-object-123</NextKeyMarker>
  <NextUploadIdMarker>0000015a-df89-51d0-2790-dee1ac994053</NextUploadIdMarker>
  <MaxUploads>1000</MaxUploads>
  <IsTruncated>false</IsTruncated>
  <Upload>
    <Key>file</Key>
    <UploadId>0000015a-d92a-bc4a-c312-8c1c2a0e89db</UploadId>
    <Initiator>
      <ID>d4d11b981e6e489486a945d640d41c4d</ID>
      <DisplayName>d4d11b981e6e489486a945d640d41c4d</DisplayName>
    </Initiator>
    <Owner>
      <ID>d4d11b981e6e489486a945d640d41c4d</ID>
      <DisplayName>d4d11b981e6e489486a945d640d41c4d</DisplayName>
    </Owner>
    <StorageClass>STANDARD</StorageClass>
    <Initiated>2017-03-16T22:09:01.002Z</Initiated>
  </Upload>
  <Upload>
    <Key>multipart-object-123</Key>
    <UploadId>0000015a-df89-51d0-2790-dee1ac994053</UploadId>
    <Initiator>
      <ID>d4d11b981e6e489486a945d640d41c4d</ID>
      <DisplayName>d4d11b981e6e489486a945d640d41c4d</DisplayName>
    </Initiator>
    <Owner>
      <ID>d4d11b981e6e489486a945d640d41c4d</ID>
      <DisplayName>d4d11b981e6e489486a945d640d41c4d</DisplayName>
    </Owner>
    <StorageClass>STANDARD</StorageClass>
    <Initiated>2017-03-18T03:50:02.960Z</Initiated>
  </Upload>
</ListMultipartUploadsResult>

버킷의 CORS(Cross-Origin Resource Sharing) 구성 나열

적절한 매개변수가 있는 버킷에 발행된 GET은 버킷의 CORS(Cross-Origin Resource Sharing) 구성에 대한 정보를 검색합니다.

구문

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

요청 예시

다음 예제는 “apiary” 버킷에 대한 CORS 구성을 보여줍니다.

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

요청 예시

GET /apiary?cors= 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

응답 예시: CORS 에 대한 구성 세트가 없습니다

HTTP/1.1 200 OK
Date: Wed, 5 Oct 2016 15:20:30 GMT
X-Clv-Request-Id: 0b69bce1-8420-4f93-a04a-35d7542799e6
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.129
X-Clv-S3-Version: 2.5
x-amz-request-id: 0b69bce1-8420-4f93-a04a-35d7542799e6
Content-Type: application/xml
Content-Length: 123
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <CORSRule>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
    <AllowedOrigin>http://www.ibm.com</AllowedOrigin>
  </CORSRule>
</CORSConfiguration>

버킷의 CORS(Cross-Origin Resource Sharing) 구성 작성

적절한 매개변수가 있는 버킷에 발행된 PUT은 버킷의 CORS(Cross-Origin Resource Sharing) 구성을 작성하거나 바꿉니다.

구문

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

페이로드 요소

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

요청 스키마 본문
요소 유형 하위 상위 제한조건
CORSConfiguration 컨테이너 CORSRule
CORSRule 컨테이너 AllowedOrigin, AllowedMethod 삭제
AllowedOrigin 문자열
CORSRule 올바른 오리진 문자열
AllowedMethod 문자열
CORSRule 올바른 메소드 문자열
선택적 헤더
헤더 유형 설명
Content-MD5 문자열 base64 는 페이로드의 128비트 MD5 해시를 인코딩했으며, 이는 전송 중에 페이로드가 변조되지 않았는지 확인하기 위한 무결성 검사 목적으로 사용됩니다.
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를 사용할 때 오브젝트의 체크섬을 생성하는 데 사용되는 알고리즘을 나타냅니다.

페이로드에 대한 무결성 검사로 Content-MD5 헤더 또는 checksum 헤더( x-amz-checksum-crc32, x-amz-checksum-crc32c, x-amz-checksum-crc64nvme, x-amz-checksum-sha1, x-amz-checksum-sha256 포함)가 필요합니다. 다음 스니펫은 base64-encoded MD5 해시의 이진 표현인 Content-MD5 헤더의 콘텐츠를 얻는 한 가지 방법을 보여줍니다.

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

요청 예시

다음 예제에서는 www.ibm.com 에서 GET, PUTPOST 요청을 버킷으로 보낼 수 있도록 허용하는 ‘ CORS ’ 구성을 추가합니다.

PUT /apiary?cors= HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-MD5: M625BaNwd/OytcM7O5gIaQ==
Content-Length: 237

요청 예시

PUT /apiary?cors= 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-MD5: M625BaNwd/OytcM7O5gIaQ==
Content-Length: 237
<CORSConfiguration>
  <CORSRule>
    <AllowedOrigin>http://www.ibm.com</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
  </CORSRule>
</CORSConfiguration>

응답 예

HTTP/1.1 200 OK
Date: Wed, 5 Oct 2016 15:39:38 GMT
X-Clv-Request-Id: 7afca6d8-e209-4519-8f2c-1af3f1540b42
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.129
X-Clv-S3-Version: 2.5
x-amz-request-id: 7afca6d8-e209-4519-8f2c-1af3f1540b42
Content-Length: 0

버킷의 CORS(Cross-Origin Resource Sharing) 구성 삭제

적절한 매개변수가 있는 버킷에 발행된 DELETE은 버킷의 CORS(Cross-Origin Resource Sharing) 구성을 작성하거나 바꿉니다.

구문

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

요청 예시

다음 예제는 버킷에 대한 ‘ CORS ’ 구성을 삭제합니다.

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

요청 예시

DELETE /apiary?cors= 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로 응답합니다.


버킷에 대한 위치 제한조건 나열

적절한 매개변수가 있는 버킷에 발행된 GET은 버킷에 대한 위치 정보를 검색합니다.

구문

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

요청 예시

다음 예제는 "apiary" 버킷의 위치를 검색합니다.

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

요청 예시

GET /apiary?location= 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

응답 예

HTTP/1.1 200 OK
Date: Tue, 12 Jun 2018 21:10:57 GMT
X-Clv-Request-Id: 0e469546-3e43-4c6b-b814-5ad0db5b638f
Accept-Ranges: bytes
Server: Cleversafe/3.13.3.57
X-Clv-S3-Version: 2.5
x-amz-request-id: 0e469546-3e43-4c6b-b814-5ad0db5b638f
Content-Type: application/xml
Content-Length: 161
<LocationConstraint xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  us-south-standard
</LocationConstraint>

버킷 라이프사이클 구성 작성

PUT 오퍼레이션은 라이프사이클 조회 매개변수를 사용하여 버킷에 대한 라이프사이클 설정을 지정합니다. 페이로드에 대한 무결성 검사로 Content-MD5 헤더 또는 checksum 헤더( x-amz-checksum-crc32, x-amz-checksum-crc32c, x-amz-checksum-crc64nvme, x-amz-checksum-sha1, x-amz-checksum-sha256 포함)가 필요합니다.

다음 스니펫은 base64-encoded MD5 해시의 이진 표현인 Content-MD5 헤더의 콘텐츠를 얻는 한 가지 방법을 보여줍니다.

구문

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

페이로드 요소

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

요청 스키마 본문
요소 유형 하위 상위 제한조건
LifecycleConfiguration 컨테이너 Rule 없음 한계 1
Rule 컨테이너 ID, Status, Filter, Transition LifecycleConfiguration 한계 1
ID 문자열 없음 Rule 필수 는 (a-z,A-Z,0-9) 및 다음 기호로 구성되어야 합니다.! _ . * ' ( ) -
Filter 문자열 Prefix Rule ** 요소가 포함**되어야 합니다Prefix.
Expiration 컨테이너 Days, Date, ExpiredObjectDeleteMarker Rule 한계 1
Prefix 문자열 없음 Filter 상태 전이 (아카이브) 규칙을 사용하는 경우 값을 반드시 <Prefix/> 로 설정해야 합니다. 이 제한사항은 만기 규칙에는 적용되지 않습니다.
Transition 컨테이너 Days, StorageClass Rule 한계 1상태 전이 규칙 및 총 1000개의 규칙.
Days 음수가 아닌 정수 없음 Transition 반드시 0이상의 값이어야 합니다.
Date 날짜 없음 Transition ISO 8601 형식을 따라야 하며, 날짜는 미래의 날짜여야 합니다.
StorageClass 문자열 없음 Transition 반드시 GLACIER 또는 ACCELERATED 로 설정해야 합니다.
ExpiredObjectDeleteMarker 부울 없음 Expiration true 또는 false 이어야 합니다.
NoncurrentVersionExpiration 컨테이너 NoncurrentDays NoncurrentVersionExpiration 한계 1
NoncurrentDays 양수 없음 Transition 0보다 큰 값이어야 합니다.
AbortIncompleteMultipartUpload 컨테이너 DaysAfterInitiation Rule 한계 1
DaysAfterInitiation 음수가 아닌 정수 없음 AbortIncompleteMultipartUpload 0보다 큰 값이어야 합니다.
선택적 헤더
헤더 유형 설명
Content-MD5 문자열 base64 는 페이로드의 128비트 MD5 해시를 인코딩했으며, 이는 전송 중에 페이로드가 변조되지 않았는지 확인하기 위한 무결성 검사 목적으로 사용됩니다.
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를 사용할 때 오브젝트의 체크섬을 생성하는 데 사용되는 알고리즘을 나타냅니다.

IBM Cloud® Object Storage IaaS (IAM이 아닌) 계정은 전환 저장 클래스를 로 설정할 수 ACCELERATED 없습니다.

<LifecycleConfiguration>
    <Rule>
        <ID>{string}</ID>
        <Status>Enabled</Status>
        <Filter>
            <Prefix/>
        </Filter>
        <Transition>
            <Days>{integer}</Days>
            <StorageClass>GLACIER</StorageClass>
        </Transition>
    </Rule>
</LifecycleConfiguration>

다음 스니펫은 해당 특정 헤더의 컨텐츠를 작성하는 한 가지 방법을 보여줍니다.

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

요청 예시

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

요청 예시

PUT /apiary?lifecycle 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
Content-MD5: M625BaNwd/OytcM7O5gIaQ==
Content-Length: 305
Host: s3.us.cloud-object-storage.appdomain.cloud
<LifecycleConfiguration>
    <Rule>
        <ID>my-archive-policy</ID>
        <Filter>
            <Prefix/>
        </Filter>
        <Status>Enabled</Status>
        <Transition>
            <Days>20</Days>
            <StorageClass>GLACIER</StorageClass>
        </Transition>
    </Rule>
</LifecycleConfiguration>

서버는 200 OK로 응답합니다.


<LifecycleConfiguration>
    <Rule>
        <ID>{string}</ID>
        <Status>Enabled</Status>
        <Filter>
            <Prefix/>
        </Filter>
        <Expiration>
            <Days>{integer}</Days>
        </Expiration>
    </Rule>
</LifecycleConfiguration>

다음 스니펫은 해당 특정 헤더의 컨텐츠를 작성하는 한 가지 방법을 보여줍니다.

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

요청 예시

PUT /cit-test?lifecycle HTTP/1.1
Host: 192.168.35.22
Date: Fri, 28 Feb 2020 14:12:06 +0000
Authorization: AWS MOfXYiHQ9QTyD2ALoiOh:WrlFRE2KMmhutBf3CxIZoNLl/ko=
Content-MD5: To3JYtaVNR3+aGYtl1dlmw==
Content-Length: 321
<LifecycleConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Rule>
    <ID>ID1</ID>
    <Status>Enabled</Status>
    <Filter>
      <Prefix/>
    </Filter>
    <Expiration>
      <Days>100</Days>
    </Expiration>
  </Rule>
</LifecycleConfiguration>

응답 예시 서버는 200 OK 을 응답으로 반환합니다.

We are completely uploaded and fine
HTTP/1.1 200 OK
Date: Fri, 28 Feb 2020 14:12:06 GMT
X-Clv-Request-Id: 587d909f-4939-41ef-8c16-80aea16a0587
Server: Cleversafe/3.14.9.53
X-Clv-S3-Version: 2.5
x-amz-request-id: 587d909f-4939-41ef-8c16-80aea16a0587
Content-Length: 0

요청 예시

PUT /{bucket-name}?lifecycle HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
ibm-service-instance-id: {ibm-service-instance-id}
Content-Length: 123

요청 예시

PUT /{bucket-name}?lifecycle 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: 123

버킷 라이프사이클 구성 검색

GET 오퍼레이션은 라이프사이클 조회 매개변수를 사용하여 버킷에 대한 라이프사이클 설정을 검색합니다.

구문

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

요청 예시

GET /apiary?lifecycle HTTP/1.1
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
Authorization: {authorization-string}

요청 예시

GET /apiary?lifecycle 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

응답 예

<LifecycleConfiguration>
    <Rule>
        <ID>my-archive-policy</ID>
        <Filter>
            <Prefix/>
        </Filter>
        <Status>Enabled</Status>
        <Transition>
            <Days>20</Days>
            <StorageClass>GLACIER</StorageClass>
        </Transition>
    </Rule>
</LifecycleConfiguration>

요청 예시

GET /cit_dump-log?lifecycle HTTP/1.1
Host: 192.168.35.22
User-Agent: curl/7.64.1
Accept: */*
Date: Fri, 28 Feb 2020 14:00:43 +0000
Authorization: AWS MOfXYiHQ9QTyD2ALoiOh:iKm2QNetyW740kylP6ja2pze3DM=
Content-MD5: 1B2M2Y8AsgTpgAmY7PhCfg==

응답 예

HTTP/1.1 200 OK
Date: Fri, 28 Feb 2020 14:00:43 GMT
X-Clv-Request-Id: ecbf9294-284d-4169-b2cd-5d52b2450808
Server: Cleversafe/3.14.9.53
X-Clv-S3-Version: 2.5
Accept-Ranges: bytes
x-amz-request-id: ecbf9294-284d-4169-b2cd-5d52b2450808
Content-Type: application/xml
Content-Length: 276
<LifecycleConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
   <Rule>
    <ID>ID1</ID>
    <Status>Enabled</Status>
    <Filter>
      <Prefix/>
    </Filter>
    <Expiration>
      <Days>270</Days>
    </Expiration>
   </Rule>
</LifecycleConfiguration>

만기 규칙을 사용하여 시간이 경과된(stale) 데이터 삭제

버킷의 불변 Object Storage 보존 정책이 적용되는 개체에 대한 만료 작업은 해당 보존 정책이 더 이상 적용되지 않을 때까지 연기됩니다.

라이프사이클 구성을 사용하여 오브젝트를 삭제하는 방법에 대한 자세한 정보는 문서 를 참조하십시오.

PUT 오퍼레이션 구현은 lifecycle 조회 매개변수를 사용하여 버킷의 라이프사이클 설정을 지정합니다. 이 오퍼레이션은 버킷에 대한 단일 라이프사이클 정책 정의를 허용합니다. 이 정책은 다음 매개변수들로 구성된 규칙 집합으로 정의됩니다: ID, Status, FilterExpiration.

선택적 헤더
헤더 유형 설명
Content-MD5 문자열 Base64 는 페이로드의 128비트 MD5 해시를 인코딩했으며, 이는 전송 중에 페이로드가 변조되지 않았는지 확인하기 위한 무결성 검사 용도로 사용됩니다.
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를 사용할 때 오브젝트의 체크섬을 생성하는 데 사용되는 알고리즘을 나타냅니다.

페이로드에 대한 무결성 검사로 Content-MD5 헤더 또는 checksum 헤더( x-amz-checksum-crc32, x-amz-checksum-crc32c, x-amz-checksum-crc64nvme, x-amz-checksum-sha1, x-amz-checksum-sha256 포함)가 필요합니다.

다음 스니펫은 base64-encoded MD5 해시의 이진 표현인 Content-MD5 헤더의 콘텐츠를 얻는 한 가지 방법을 보여줍니다.

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

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

요청 스키마 본문
요소 유형 하위 상위 제한조건
LifecycleConfiguration 컨테이너 Rule 없음 한계 1.
Rule 컨테이너 ID, Status, Filter, Expiration LifecycleConfiguration 한계 1000.
ID 문자열 없음 Rule (a-z,A-Z,0-9) 및 다음 기호로 구성되어야 합니다. ! _ . * ' ( ) -
Filter 문자열 Prefix Rule Prefix 요소가 포함되어야 합니다.
Prefix 문자열 없음 Filter 규칙은 이 접두부와 일치하는 키가 있는 모든 오브젝트에 적용됩니다.
Expiration 컨테이너 Days 또는 Date Rule 한계 1.
Days 음수가 아닌 정수 없음 Expiration 0보다 큰 값이어야 합니다.
Date 날짜 없음 Expiration ISO 8601 형식이어야 합니다.

구문

PUT https://{endpoint}/{bucket}?lifecycle # path style
PUT https://{bucket}.{endpoint}?lifecycle # virtual host style

요청 예시

PUT /images?lifecycle HTTP/1.1
Host: s3.us.cloud-object-storage.appdomain.cloud
Date: Wed, 7 Feb 2018 17:50:00 GMT
Authorization: authorization string
Content-Type: text/plain
Content-MD5: M625BaNwd/OytcM7O5gIaQ==
Content-Length: 305
<LifecycleConfiguration>
	<Rule>
		<ID>id1</ID>
		<Filter />
		<Status>Enabled</Status>
		<Expiration>
			<Days>60</Days>
		</Expiration>
	</Rule>
</LifecycleConfiguration>

버켓에 대한 라이프사이클 구성 삭제

적절한 매개변수가 있는 버킷에 발행된 DELETE는 버킷에 대한 라이프사이클 구성을 제거합니다.

구문

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

요청 예시

DELETE /apiary?lifecycle HTTP/1.1
Authorization: {authorization-string}
Host: s3.us.cloud-object-storage.appdomain.cloud

요청 예시

DELETE /apiary?lifecycle 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로 응답합니다.

요청 예시

DELETE /cit-test?lifecycle HTTP/1.1
Host: 192.168.35.22
User-Agent: curl/7.64.1
Accept: */*
Date: Fri, 28 Feb 2020 14:16:47 +0000
Authorization: AWS MOfXYiHQ9QTyD2ALoiOh:n25GU28DiBgkNVgET5hKmLmp938=
Content-MD5: 1B2M2Y8AsgTpgAmY7PhCfg==

응답 예

HTTP/1.1 204 No Content
Date: Fri, 28 Feb 2020 14:16:47 GMT
X-Clv-Request-Id: 3e8bdf1e-b611-4b83-a404-e7d3e58e60b0
Server: Cleversafe/3.14.9.53
X-Clv-S3-Version: 2.5
x-amz-request-id: 3e8bdf1e-b611-4b83-a404-e7d3e58e60b0

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

기존 버킷에 보존 정책 추가

불변 오브젝트 스토리지는 특정 지역에서만 사용 가능합니다. 세부사항은 통합 서비스를 참조하십시오. 또한 이 서비스를 이용하려면 ‘스탠다드’ 요금제에 가입해야 합니다. 세부사항은 가격을 참조하십시오.

문서 에서 불변 Object Storage 에 대해 자세히 알아보십시오.

보존 기간 설정 MinimumRetention, DefaultRetentionMaximumRetention 의 지원되는 최소 및 최대 값은 최소 0일, 최대 365,243일(1,000년)입니다.

이 조작은 추가 조회 매개변수를 사용하지 않습니다. 페이로드의 무결성 검사에는 Content-MD5 헤더 또는 checksum 헤더( x-amz-checksum-crc32, x-amz-checksum-crc32c, x-amz-checksum-crc64nvme, x-amz-checksum-sha1 또는 x-amz-checksum-sha256 포함)가 필요합니다. 다음 스니펫은 base64-encoded MD5 해시의 이진 표현인 Content-MD5 헤더의 콘텐츠를 얻는 한 가지 방법을 보여줍니다.

정책은 보존 기간이 끝날 때까지 적용되며 보존 기간이 만료될 때까지 변경할 수 없습니다. IBM Cloud® Object Storage 는 대부분의 작업에 S3 API를 사용하지만, 보존 정책을 구성하는 데 사용되는 API는 S3 API와 동일하지 않습니다. 일부 용어는 공유될 수 있지만, 두 API는 서로 다른 목적과 구조를 가지고 있습니다. 조직 내 사용자가 IBM Cloud 관리자조차 삭제할 수 없는 개체를 생성하지 않도록 하려면 이 문서를 주의 깊게 읽으십시오.

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

구문

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

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

요청 스키마 본문
요소 유형 하위 상위 제한조건
ProtectionConfiguration 컨테이너 Status, MinimumRetention, MaximumRetention, DefaultRetention
Status 문자열
ProtectionConfiguration 올바른 상태 문자열
MinimumRetention 컨테이너 Days ProtectionConfiguration
MaximumRetention 컨테이너 Days ProtectionConfiguration
DefaultRetention 컨테이너 Days ProtectionConfiguration
Days 정수
MinimumRetention, MaximumRetention, DefaultRetention 올바른 보존 정수
선택적 헤더
헤더 유형 설명
Content-MD5 문자열 base64 는 페이로드의 128비트 MD5 해시를 인코딩했으며, 이는 전송 중에 페이로드가 변조되지 않았는지 확인하기 위한 무결성 검사 목적으로 사용됩니다.
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 /example-bucket?protection= HTTP/1.1
Authorization: {authorization-string}
x-amz-date: 20181011T190354Z
x-amz-content-sha256: 2938f51643d63c864fdbea618fe71b13579570a86f39da2837c922bae68d72df
Content-MD5: GQmpTNpruOyK6YrxHnpj7g==
Content-Type: text/plain
Host: 67.228.254.193
Content-Length: 299
<ProtectionConfiguration>
  <Status>Retention</Status>
  <MinimumRetention>
    <Days>100</Days>
  </MinimumRetention>
  <MaximumRetention>
    <Days>10000</Days>
  </MaximumRetention>
  <DefaultRetention>
    <Days>2555</Days>
  </DefaultRetention>
</ProtectionConfiguration>

응답 예

HTTP/1.1 200 OK
Date: Wed, 5 Oct 2018 15:39:38 GMT
X-Clv-Request-Id: 7afca6d8-e209-4519-8f2c-1af3f1540b42
Accept-Ranges: bytes
Server: Cleversafe/3.14.1
X-Clv-S3-Version: 2.5
x-amz-request-id: 7afca6d8-e209-4519-8f2c-1af3f1540b42
Content-Length: 0

정적 웹사이트 호스팅을 위한 버킷 구성

적절한 매개변수를 지정하여 버킷에 대해 발행된 버킷 구성( PUT )은 해당 버킷에 대한 정적 웹사이트 구성을 생성하거나 업데이트합니다.

구문

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

페이로드 요소

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

요청 스키마 본문
요소 유형 하위 상위 참고
WebsiteConfiguration 컨테이너 ErrorDocument, IndexDocument, RedirectAllRequestsTo, RoutingRule
필수
ErrorDocument 컨테이너 Key WebsiteConfiguration
Key 문자열
ErrorDocument
IndexDocument 컨테이너 Suffix WebsiteConfiguration
Suffix 문자열
IndexDocument
RedirectAllRequestsTo 컨테이너 HostName, Protocol WebsiteConfiguration 제공된 경우 지정된 유일한 요소여야 합니다.
HostName 문자열
RedirectAllRequestsTo
Protocol 문자열
RedirectAllRequestsTo
RoutingRules 컨테이너 RoutingRule WebsiteConfiguration
RoutingRule 컨테이너 Condition, Redirect RoutingRules
Condition 컨테이너 HttpErrorCodeReturnedEquals, KeyPrefixEquals RoutingRule
HttpErrorCodeReturnedEquals 문자열
Condition
KeyPrefixEquals 문자열
Condition
Redirect 컨테이너 HostName, HttpRedirectCode, Protocol, ReplaceKeyPrefixWith, ReplaceKeyWith RoutingRule
HostName 문자열
Redirect
HttpRedirectCode 문자열
Redirect
Protocol 문자열
Redirect
ReplaceKeyPrefixWith 문자열
Redirect
ReplaceKeyWith 문자열
Redirect

요청 예제

다음 예제는 각 접두부에서 index.html 파일을 찾는 기본 웹 사이트를 제공하는 웹 사이트 구성을 추가합니다. 예를 들어, /apiary/images/ 에 대한 요청은 실제 파일을 지정하지 않아도 /apiary/images/index.html 의 컨텐츠를 제공합니다.

PUT /apiary?website HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Length: 119
PUT /apiary?website 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: 119
<WebsiteConfiguration>
   <IndexDocument>
      <Suffix>index.html</Suffix>
   </IndexDocument>
</WebsiteConfiguration>

응답 예

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

버킷에 대한 웹 사이트 구성 삭제

적절한 매개변수를 사용하여 버킷에 발행되는 DELETE 요청은 버킷에 대한 웹 사이트 구성을 제거합니다.

구문

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

요청 예시

다음 예제는 버킷에 대한 웹 사이트 구성을 삭제합니다.

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

요청 예시

DELETE /apiary?website 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로 응답합니다.


버킷의 공용 ACL 차단

적절한 매개변수를 사용하여 버킷에 발행되는 PUT 요청은 버킷에 공용 액세스 ACL을 추가하는 것을 방지합니다. 새 ACL 요청을 실패하거나 무시하도록 설정할 수 있습니다. BlockPublicAcls 는 기존 ACL에 영향을 주지 않지만 IgnorePublicAcls 는 기존 ACL을 무시합니다. 이 조작은 IAM 공용 액세스 정책에 영향을 주지 않습니다.

구문

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

페이로드 요소

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

요청 스키마 본문
요소 유형 하위 상위 참고
PublicAccessBlockConfiguration 컨테이너 BlockPublicAcls, IgnorePublicAcls
필수
BlockPublicAcls 부울
PublicAccessBlockConfiguration
IgnorePublicAcls 부울
PublicAccessBlockConfiguration

요청 예제

PUT /apiary?publicAccessBlock HTTP/1.1
Authorization: Bearer {token}
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Length: 155
PUT /apiary?publicAccessBlock 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
Content-Length: 155
<PublicAccessBlockConfiguration>
   <BlockPublicAcls>True</BlockPublicAcls>
   <IgnorePublicAcls>True</IgnorePublicAcls>
</PublicAccessBlockConfiguration>

응답 예

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

버킷에 대한 공용 ACL 블록 확인

적절한 매개변수를 사용하여 버킷에 발행된 GET 는 버킷에 대한 ACL 블록 구성을 리턴합니다.

구문

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

요청 예시

다음 예제는 버킷에 대한 공용 액세스 블록을 읽습니다.

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

요청 예시

GET /apiary?publicAccessBlock 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
HTTP/1.1 200 OK
Date: Mon, 02 Nov 2020 19:52:56 GMT
X-Clv-Request-Id: 7c9079b1-2833-4abc-ba10-466ef06725b2
Server: Cleversafe/3.15.2.31
X-Clv-S3-Version: 2.5
Accept-Ranges: bytes
Content-Type: application/xml
Content-Length: 248
<PublicAccessBlockConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
   <BlockPublicAcls>true</BlockPublicAcls>
   <IgnorePublicAcls>true</IgnorePublicAcls>
</PublicAccessBlockConfiguration>

버킷에서 공용 ACL 블록 삭제

적절한 매개변수를 사용하여 버킷에 발행된 DELETE 는 버킷에서 공용 ACL 블록을 제거합니다.

구문

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

요청 예시

다음 예제는 버킷에 대한 ACL 블록을 삭제합니다.

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

요청 예시

DELETE /apiary?publicAccessBlock 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로 응답합니다.


백업 정책 작업

IBM Cloud® Object Storage 의 백업 정책 API는 백업 정책을 생성, 관리 및 상호작용하기 위한 작업을 제공합니다. 백업 정책은 버킷의 데이터를 백업 볼트에 백업하는 방법을 정의합니다.

권한 및 액세스 권한에 대한 자세한 내용은 백업 정책 권한을 참조하세요.

백업 정책 작성

/buckets/{bucket}/backup_policies 엔드포인트에 POST 요청을 보내면 버킷에 대한 새 백업 정책이 만들어집니다.

헤더
헤더 유형 필수? 설명
MD5 문자열 아니오 MD5 콘텐츠의 해시입니다. 제공된 경우 요청의 해시가 일치해야 합니다.
경로 매개변수
경로 매개변수 유형 필수? 설명
bucket_name 문자열 백업 정책이 적용되는 버킷의 이름입니다.

구문

POST https://{endpoint}/buckets/{bucket}/backup_policies

요청 본문

{
  "policy_name": "myBackupPolicy",
  "initial_retention": {
    "delete_after_days": 10
  },
  "backup_type": "continuous",
  "target_backup_vault_crn": "crn:v1:bluemix:public:cloud-object-storage:global:a1229395:1a0ec336-f391-4091-a6fb-5e084a4c56f4:backup-vault:backup-vault-name"
}

요청 예제

POST /buckets/myBucket/backup_policies HTTP/1.1
Authorization: Bearer {token}
Content-Type: application/json
Host: config.cloud-object-storage.cloud.ibm.com
{
  "initial_retention": {
    "delete_after_days": 10
  },
  "policy_name": "myBackupPolicy",
  "target_backup_vault_crn": "crn:v1:bluemix:public:cloud-object-storage:global:2de9d5b5:12b951c9-d4e1-61a4-518c-3acc2034ba30:backup-vault:l4pi16n8rt--ufqb7.r-fw2ziy",
  "backup_type": "continuous"
}

응답 예

{
  "policy_name": "myBackupPolicy",
  "initial_retention": {
    "delete_after_days": 10
  },
  "backup_type": "continuous",
  "policy_id": "44d3dd41-d616-4d25-911a-9ef7fbf28aef",
  "policy_status": "pending",
  "target_backup_vault_crn": "crn:v1:bluemix:public:cloud-object-storage:global:a1229395:1a0ec336-f391-4091-a6fb-5e084a4c56f4:backup-vault:backup-vault-name"
}

백업 정책 목록

/buckets/{bucket}/backup_policies 엔드포인트에 대한 GET 요청은 버킷에 대한 모든 백업 정책을 검색합니다.

경로 매개변수
경로 매개변수 유형 필수? 설명
bucket_name 문자열 백업 정책을 나열할 버킷의 이름입니다.

구문

GET https://{endpoint}/buckets/{bucket}/backup_policies

요청 예제

GET /buckets/myBucket/backup_policies HTTP/1.1
Authorization: Bearer {token}
Content-Type: application/json
Host: config.cloud-object-storage.cloud.ibm.com

응답 예

[
  {
    "policy_name": "myBackupPolicy",
    "initial_retention": {
      "delete_after_days": 10
    },
    "backup_type": "continuous",
    "policy_id": "44d3dd41-d616-4d25-911a-9ef7fbf28aef",
    "policy_status": "active",
    "target_backup_vault_crn": "crn:v1:bluemix:public:cloud-object-storage:global:a1229395:8dfbcba4e6a740e3866020847e525436:backup-vault:backup-vault-name"
  }
]

백업 정책 세부 정보 보기

/buckets/{bucket}/backup_policies/{policy_id} 엔드포인트에 대한 GET 요청은 특정 백업 정책에 대한 세부 정보를 검색합니다.

경로 매개변수
경로 매개변수 유형 필수? 설명
bucket_name 문자열 버킷 이름입니다.
policy_id 문자열 백업 정책의 ID입니다.

구문

GET https://{endpoint}/buckets/{bucket}/backup_policies/{policy_id}

요청 예제

GET /buckets/myBucket/backup_policies/44d3dd41-d616-4d25-911a-9ef7fbf28aef HTTP/1.1
Authorization: Bearer {token}
Content-Type: application/json
Host: config.cloud-object-storage.cloud.ibm.com

응답 예

{
  "policy_name": "myBackupPolicy",
  "backup_type": "continuous",
  "policy_id": "44d3dd41-d616-4d25-911a-9ef7fbf28aef",
  "policy_status": "active",
  "target_backup_vault_crn": "crn:v1:bluemix:public:cloud-object-storage:global:a1229395:1a0ec336-f391-4091-a6fb-5e084a4c56f4:backup-vault:backup-vault-name",
  "initial_retention": {
    "delete_after_days": 10
  }
}

백업 정책 삭제

/buckets/{bucket}/backup_policies/{policy_id} 엔드포인트에 대한 DELETE 요청은 특정 백업 정책을 삭제합니다.

경로 매개변수
경로 매개변수 유형 필수? 설명
bucket_name 문자열 버킷 이름입니다.
policy_id 문자열 백업 정책의 ID입니다.

구문

DELETE https://{endpoint}/buckets/{bucket}/backup_policies/{policy_id}

요청 예제

DELETE /buckets/myBucket/backup_policies/44d3dd41-d616-4d25-911a-9ef7fbf28aef HTTP/1.1
Authorization: Bearer {token}
Content-Type: application/json
Host: config.cloud-object-storage.cloud.ibm.com

응답 예

HTTP/1.1 204 No Content

백업 정책 작업에 대한 자세한 내용은 백업 볼트 관리를 참조하세요.

다음 단계

자세한 정보는 오브젝트 조작 을 참조하십시오.