Skip to main content
이 제품의 최신 릴리즈를 사용할 수 있습니다.
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

StorageGRID에서 객체에 대한 S3 REST API 작업을 구현하는 방법

이 섹션에서는 StorageGRID 시스템이 객체에 대한 S3 REST API 작업을 구현하는 방법을 설명합니다.

다음 조건은 모든 객체 작업에 적용됩니다.

  • StorageGRID "일관성 값"은(는) 다음을 제외한 모든 객체 작업에서 지원됩니다.

    • GetObjectAcl

    • OPTIONS /

    • PutObjectLegalHold

    • PutObjectRetention

    • SelectObjectContent

  • 두 클라이언트가 동일한 키에 쓰기를 시도하는 등 클라이언트 요청이 충돌하는 경우 "최신 요청 우선" 원칙에 따라 처리됩니다. "최신 요청 우선" 평가 시점은 S3 클라이언트가 작업을 시작한 시점이 아니라 StorageGRID 시스템이 해당 요청을 완료한 시점을 기준으로 합니다.

  • StorageGRID 버킷의 모든 객체는 버킷 소유자의 소유이며, 여기에는 익명 사용자 또는 다른 계정이 생성한 객체도 포함됩니다.

다음 표는 StorageGRID S3 REST API 객체 작업을 구현하는 방식을 설명합니다.

작업 구현

DeleteObject

DeleteObject 요청을 처리할 때 StorageGRID는 모든 저장 위치에서 해당 객체의 모든 복사본을 즉시 제거하려고 시도합니다. 제거에 성공하면 StorageGRID는 클라이언트에 즉시 응답을 반환합니다. 모든 복사본을 30초 이내에 제거할 수 없는 경우(예: 특정 위치를 일시적으로 사용할 수 없는 경우) StorageGRID는 제거를 위해 복사본을 대기열에 추가한 후 클라이언트에 성공을 알립니다.

제한 사항
  • 다중 요소 인증(MFA) 및 응답 헤더 `x-amz-mfa`는 지원되지 않습니다.

  • If-NoneIf-None-Match 헤더는 허용되지만 기능하지 않습니다.

버전 관리

특정 버전을 삭제하려면 요청자가 버킷 소유자여야 하며 versionId 하위 리소스를 사용해야 합니다. 이 하위 리소스를 사용하면 해당 버전이 영구적으로 삭제됩니다. `versionId`가 삭제 마커에 해당하는 경우 응답 헤더 `x-amz-delete-marker`가 `true`로 설정되어 반환됩니다.

  • 버전 관리가 활성화된 버킷에서 versionId 하위 리소스 없이 객체를 삭제하면 삭제 마커가 생성됩니다. 삭제 마커에 대한 versionId`는 `x-amz-version-id 응답 헤더를 사용하여 반환되며, x-amz-delete-marker 응답 헤더는 `true`로 설정되어 반환됩니다.

  • 버전 관리가 일시 중단된 버킷에서 versionId 하위 리소스 없이 객체를 삭제하면 이미 존재하는 'null' 버전 또는 'null' 삭제 마커가 영구적으로 삭제되고 새로운 'null' 삭제 마커가 생성됩니다. x-amz-delete-marker 응답 헤더는 `true`으로 설정되어 반환됩니다.

    참고: 경우에 따라 하나의 객체에 여러 개의 삭제 표시가 존재할 수 있습니다.

"S3 REST API를 사용하여 S3 Object Lock 구성"을 참조하여 GOVERNANCE 모드에서 객체 버전을 삭제하는 방법을 알아보십시오.

DeleteObjects

(이전 명칭: DELETE Multiple Objects)

다중 요소 인증(MFA) 및 응답 헤더 `x-amz-mfa`는 지원되지 않습니다.

하나의 요청 메시지에서 여러 객체를 삭제할 수 있습니다.

"S3 REST API를 사용하여 S3 Object Lock 구성"을 참조하여 GOVERNANCE 모드에서 객체 버전을 삭제하는 방법을 알아보십시오.

DeleteObjectTagging

`tagging` 하위 리소스를 사용하여 객체에서 모든 태그를 제거합니다.
버전 관리

요청에 versionId 쿼리 매개변수가 지정되지 않은 경우, 해당 작업은 버전 관리 버킷에서 객체의 최신 버전에 있는 모든 태그를 삭제합니다. 현재 객체 버전이 삭제 마커인 경우, "MethodNotAllowed" 상태가 x-amz-delete-marker 응답 헤더가 `true`로 설정된 상태로 반환됩니다.

GetObject

GetObjectAcl

계정에 필요한 액세스 자격 증명이 제공되면 작업은 긍정적인 응답과 함께 개체 소유자의 ID, DisplayName 및 권한을 반환하여 소유자가 해당 개체에 대한 모든 액세스 권한을 가지고 있음을 나타냅니다.

GetObjectLegalHold

GetObjectRetention

GetObjectTagging

`tagging` 하위 리소스를 사용하여 객체의 모든 태그를 반환합니다.
버전 관리

요청에 versionId 쿼리 매개변수가 지정되지 않은 경우, 해당 작업은 버전 관리 버킷에서 객체의 최신 버전의 모든 태그를 반환합니다. 현재 객체 버전이 삭제 마커인 경우, x-amz-delete-marker 응답 헤더가 `true`로 설정된 "MethodNotAllowed" 상태가 반환됩니다.

HeadObject

RestoreObject

PutObject

CopyObject

(이전 명칭: PUT Object - Copy)

PutObjectLegalHold

PutObjectRetention

PutObjectTagging

`tagging` 하위 리소스를 사용하여 기존 개체에 태그 세트를 추가합니다.
객체 태그 제한

새 객체를 업로드할 때 태그를 추가하거나 기존 객체에 태그를 추가할 수 있습니다. StorageGRID와 Amazon S3 모두 객체당 최대 10개의 태그를 지원합니다. 객체와 연결된 태그는 고유한 태그 키를 가져야 합니다. 태그 키는 최대 128자의 유니코드 문자, 태그 값은 최대 256자의 유니코드 문자까지 사용할 수 있습니다. 키와 값은 대소문자를 구분합니다.

태그 업데이트 및 수집 동작

PutObjectTagging을 사용하여 객체의 태그를 업데이트하면 StorageGRID는 해당 객체를 다시 수집하지 않습니다. 즉, 일치하는 ILM 규칙에 지정된 수집 동작 옵션이 사용되지 않습니다. 업데이트로 인해 발생하는 객체 배치 변경 사항은 일반적인 백그라운드 ILM 프로세스에 의해 ILM이 재평가될 때 적용됩니다.

즉, ILM 규칙에서 수집 동작에 대해 엄격(Strict) 옵션을 사용하는 경우, 필요한 객체 배치가 불가능한 경우(예: 새로 필요한 위치를 사용할 수 없는 경우) 아무런 조치도 취해지지 않습니다. 업데이트된 객체는 필요한 배치가 가능해질 때까지 현재 위치를 유지합니다.

충돌 해결

두 클라이언트가 동일한 키에 쓰기를 시도하는 등 클라이언트 요청이 충돌하는 경우 "최신 요청 우선" 원칙에 따라 처리됩니다. "최신 요청 우선" 평가 시점은 S3 클라이언트가 작업을 시작한 시점이 아니라 StorageGRID 시스템이 해당 요청을 완료한 시점을 기준으로 합니다.

버전 관리

요청에 versionId 쿼리 매개변수가 지정되지 않은 경우, 해당 작업은 버전 관리 버킷에서 객체의 최신 버전에 태그를 추가합니다. 객체의 현재 버전이 삭제 마커인 경우, "MethodNotAllowed" 상태가 반환되며 x-amz-delete-marker 응답 헤더가 `true`로 설정됩니다.

SelectObjectContent