복사객체
S3 CopyObject 요청을 사용하면 이미 S3에 저장된 객체의 사본을 만들 수 있습니다. CopyObject 작업은 GetObject를 수행한 다음 PutObject를 수행하는 것과 같습니다.
갈등을 해결하다
두 클라이언트가 같은 키에 쓰는 등 충돌하는 클라이언트 요청은 "최신 승리" 기준으로 해결됩니다. "최신 승리" 평가의 타이밍은 S3 클라이언트가 작업을 시작하는 시점이 아니라 StorageGRID 시스템이 주어진 요청을 완료하는 시점을 기준으로 합니다.
객체 크기
단일 PutObject 작업에 권장되는 최대 크기는 5GiB(5,368,709,120바이트)입니다. 5GiB보다 큰 개체가 있는 경우 다음을 사용하세요."멀티파트 업로드" 대신에.
단일 PutObject 작업에 대해 지원되는 최대 크기는 5TiB(5,497,558,138,880바이트)입니다.
|
|
StorageGRID 11.6 이하 버전에서 업그레이드한 경우 5GiB를 초과하는 객체를 업로드하려고 하면 S3 PUT 객체 크기가 너무 큼 경고가 발생합니다. StorageGRID 11.7 또는 11.8을 새로 설치한 경우 이 경우 알림이 트리거되지 않습니다. 하지만 AWS S3 표준에 맞추기 위해 StorageGRID 의 향후 릴리스에서는 5GiB보다 큰 객체의 업로드를 지원하지 않습니다. |
사용자 메타데이터의 UTF-8 문자
요청에 사용자 정의 메타데이터의 키 이름이나 값에 (이스케이프되지 않은) UTF-8 값이 포함된 경우 StorageGRID 동작은 정의되지 않습니다.
StorageGRID 사용자 정의 메타데이터의 키 이름이나 값에 포함된 이스케이프된 UTF-8 문자를 구문 분석하거나 해석하지 않습니다. 이스케이프된 UTF-8 문자는 ASCII 문자로 처리됩니다.
-
사용자 정의 메타데이터에 이스케이프된 UTF-8 문자가 포함되어 있으면 요청이 성공합니다.
-
StorageGRID 다음을 반환하지 않습니다.
x-amz-missing-meta키 이름이나 값의 해석된 값에 인쇄할 수 없는 문자가 포함된 경우 헤더입니다.
지원되는 요청 헤더
다음 요청 헤더가 지원됩니다.
-
Content-Type -
x-amz-copy-source -
x-amz-copy-source-if-match -
x-amz-copy-source-if-none-match -
x-amz-copy-source-if-unmodified-since -
x-amz-copy-source-if-modified-since -
`x-amz-meta-`사용자 정의 메타데이터를 포함하는 이름-값 쌍이 뒤따릅니다.
-
x-amz-metadata-directive: 기본값은COPY이를 통해 개체와 관련 메타데이터를 복사할 수 있습니다.지정할 수 있습니다
REPLACE객체를 복사할 때 기존 메타데이터를 덮어쓰거나 객체 메타데이터를 업데이트합니다. -
x-amz-storage-class -
x-amz-tagging-directive: 기본값은COPY이를 통해 객체와 모든 태그를 복사할 수 있습니다.지정할 수 있습니다
REPLACE객체를 복사할 때 기존 태그를 덮어쓰거나 태그를 업데이트합니다. -
S3 객체 잠금 요청 헤더:
-
x-amz-object-lock-mode -
x-amz-object-lock-retain-until-date -
x-amz-object-lock-legal-hold이러한 헤더 없이 요청이 이루어지면 버킷 기본 보존 설정을 사용하여 개체 버전 모드와 보존 기간을 계산합니다. 보다 "S3 REST API를 사용하여 S3 객체 잠금을 구성합니다." .
-
-
SSE 요청 헤더:
-
x-amz-copy-source-server-side-encryption-customer-algorithm -
x-amz-copy-source-server-side-encryption-customer-key -
x-amz-copy-source-server-side-encryption-customer-key-MD5 -
x-amz-server-side-encryption -
x-amz-server-side-encryption-customer-key-MD5 -
x-amz-server-side-encryption-customer-key -
x-amz-server-side-encryption-customer-algorithm
-
지원되지 않는 요청 헤더
다음 요청 헤더는 지원되지 않습니다.
-
Cache-Control -
Content-Disposition -
Content-Encoding -
Content-Language -
Expires -
x-amz-checksum-algorithm객체를 복사할 때 소스 객체에 체크섬이 있으면 StorageGRID 해당 체크섬 값을 새 객체에 복사하지 않습니다. 이 동작은 사용하려고 하든 안 하든 적용됩니다.
x-amz-checksum-algorithm객체 요청에서. -
x-amz-website-redirect-location
스토리지 클래스 옵션
그만큼 x-amz-storage-class 요청 헤더가 지원되며 일치하는 ILM 규칙이 Dual commit 또는 Balanced를 사용하는 경우 StorageGRID 생성하는 개체 복사본 수에 영향을 미칩니다."수집 옵션" .
-
STANDARD(기본값) ILM 규칙이 이중 커밋 옵션을 사용하거나 균형 옵션이 임시 복사본 생성으로 전환되는 경우 이중 커밋 수집 작업을 지정합니다.
-
REDUCED_REDUNDANCYILM 규칙이 이중 커밋 옵션을 사용하거나 균형 옵션이 임시 복사본 생성으로 대체되는 경우 단일 커밋 수집 작업을 지정합니다.
S3 객체 잠금이 활성화된 버킷에 객체를 수집하는 경우 REDUCED_REDUNDANCY옵션은 무시됩니다. 레거시 호환 버킷에 객체를 수집하는 경우REDUCED_REDUNDANCY옵션이 오류를 반환합니다. StorageGRID 규정 준수 요구 사항이 충족되는지 확인하기 위해 항상 이중 커밋 수집을 수행합니다.
CopyObject에서 x-amz-copy-source 사용
소스 버킷과 키가 지정된 경우 x-amz-copy-source 헤더는 대상 버킷 및 키와 다르며, 소스 개체 데이터의 사본이 대상에 기록됩니다.
소스와 목적지가 일치하고 x-amz-metadata-directive 헤더는 다음과 같이 지정됩니다. REPLACE , 객체의 메타데이터는 요청에 제공된 메타데이터 값으로 업데이트됩니다. 이 경우 StorageGRID 객체를 다시 수집하지 않습니다. 이는 두 가지 중요한 결과를 초래합니다.
-
CopyObject를 사용하여 기존 객체를 그대로 암호화하거나, 기존 객체의 암호화를 변경할 수 없습니다. 당신이 공급하는 경우
x-amz-server-side-encryption헤더 또는x-amz-server-side-encryption-customer-algorithm헤더, StorageGRID 요청을 거부하고 반환합니다.XNotImplemented. -
일치하는 ILM 규칙에 지정된 Ingest Behavior 옵션이 사용되지 않습니다. 업데이트로 인해 발생하는 개체 배치 변경 사항은 ILM이 일반적인 백그라운드 ILM 프로세스에 의해 다시 평가될 때 적용됩니다.
즉, ILM 규칙이 수집 동작에 대해 Strict 옵션을 사용하는 경우 필요한 개체 배치를 할 수 없는 경우(예: 새로 필요한 위치를 사용할 수 없는 경우) 아무런 조치도 취하지 않습니다. 업데이트된 객체는 필요한 배치가 가능해질 때까지 현재 배치를 유지합니다.
서버 측 암호화를 위한 요청 헤더
만약 당신이라면"서버 측 암호화를 사용하세요" 제공하는 요청 헤더는 소스 개체가 암호화되었는지 여부와 대상 개체를 암호화할지 여부에 따라 달라집니다.
-
소스 개체가 고객이 제공한 키(SSE-C)를 사용하여 암호화된 경우 CopyObject 요청에 다음 세 개의 헤더를 포함해야 합니다. 이렇게 하면 개체를 암호 해독한 다음 복사할 수 있습니다.
-
x-amz-copy-source-server-side-encryption-customer-algorithm: 지정AES256. -
x-amz-copy-source-server-side-encryption-customer-key: 소스 객체를 생성할 때 제공한 암호화 키를 지정합니다. -
x-amz-copy-source-server-side-encryption-customer-key-MD5: 소스 객체를 생성할 때 제공한 MD5 다이제스트를 지정합니다.
-
-
귀하가 제공하고 관리하는 고유 키를 사용하여 대상 개체(복사본)를 암호화하려면 다음 세 가지 헤더를 포함하세요.
-
x-amz-server-side-encryption-customer-algorithm: 지정AES256. -
x-amz-server-side-encryption-customer-key: 대상 객체에 대한 새로운 암호화 키를 지정합니다. -
x-amz-server-side-encryption-customer-key-MD5: 새로운 암호화 키의 MD5 다이제스트를 지정합니다.
귀하가 제공한 암호화 키는 결코 저장되지 않습니다. 암호화 키를 잃어버리면 해당 객체도 잃어버리게 됩니다. 고객이 제공한 키를 사용하여 개체 데이터를 보호하기 전에 다음 사항을 검토하십시오."서버 측 암호화 사용" . -
-
StorageGRID (SSE)에서 관리하는 고유 키로 대상 객체(사본)를 암호화하려면 CopyObject 요청에 다음 헤더를 포함합니다.
-
x-amz-server-side-encryption그만큼 server-side-encryption객체의 값을 업데이트할 수 없습니다. 대신 새 사본을 만드십시오.server-side-encryption값을 사용하여x-amz-metadata-directive:REPLACE.
-
버전 관리
소스 버킷의 버전이 지정된 경우 다음을 사용할 수 있습니다. x-amz-copy-source 객체의 최신 버전을 복사하는 헤더입니다. 개체의 특정 버전을 복사하려면 다음을 사용하여 복사할 버전을 명시적으로 지정해야 합니다. versionId 하위 리소스. 대상 버킷의 버전이 지정된 경우 생성된 버전이 반환됩니다. x-amz-version-id 응답 헤더. 대상 버킷에 대한 버전 관리가 중단된 경우 x-amz-version-id "null" 값을 반환합니다.