S3 메타데이터 테이블 스키마 - Amazon Simple Storage Service

S3 메타데이터 테이블 스키마

Amazon S3 메타데이터 테이블에는 행과 열이 포함됩니다. 각 행은 범용 버킷에서 객체를 생성, 업데이트 또는 삭제한 변형 이벤트를 나타냅니다. 이러한 이벤트의 대부분은 다양한 사용자 작업의 결과이지만, 이러한 이벤트 중 일부는 Amazon S3 수명 주기 만료 또는 스토리지 클래스 전환과 같이 Amazon S3가 사용자를 대신하여 수행한 작업의 결과입니다.

S3 메타데이터는 메타데이터 테이블을 최종적으로 범용 버킷에서 발생한 변경 사항과 일치시키도록 설계된 이벤트 처리 파이프라인입니다. 객체가 생성되거나 업데이트되었다는 알림이 S3 메타데이터에 수신될 때쯤에는 해당 객체가 버킷에서 이미 덮어쓰였거나 삭제되었을 수 있습니다. 기본적으로 각 S3 버킷 작업에 대해 테이블 행이 생성됩니다. 그러나 객체 메타데이터가 삭제되었거나 덮어쓰였거나 객체를 더 이상 검색할 수 없는 경우 일부 열에는 누락된 메타데이터 스키마를 나타내는 NULL 값이 표시될 수 있습니다.

다음은 amzn-s3-demo-bucket:이라는 범용 버킷에 대한 메타데이터 테이블의 예입니다.

bucket key sequence_number record_type record_timestamp version_id is_delete_marker size last_modified_date e_tag storage_class is_multipart encryption_status is_bucket_key_enabled kms_key_arn checksum_algorithm object_tags user_metadata requester source_ip_address request_id amzn-s3-demo-bucket Finance/statement1.pdf 80e737d8b4d82f776affffffffffffffff006737d8b4d82f776a00000000000000000000000000000000000000000000000072 CREATE 2024-11-15 23:26:44.899 FALSE 6223 11/15/2024 23:26 e131b86632dda753aac4018f72192b83 STANDARD FALSE SSE-KMS FALSE arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890df SSECRC32 {} {count -> Asia, customs -> false, family -> true, location -> Mary, name -> football, user -> United States} 111122223333 192.0.2.1 CVK8FWYRW0M9JW65 amzn-s3-demo-bucket s3-dg.pdf 80e737d8b4e39f1dbdffffffffffffffff006737d8b4e39f1dbd00000000000000000000000000000000000000000000000072 CREATE 2024-11-15 23:26:44.942 FALSE 3554 11/15/2024 23:26 9bb49efc2d92c05558ddffbbde8636d5 STANDARD FALSE DSSE-KMS FALSE arn:aws:kms:us-east-1:936810216292:key/0dcebce6-49fd-4cae-b2e2-5512ad281afd SSESHA1 {} {} 111122223333 192.0.2.1 CVKAQDRAZEG7KXAY amzn-s3-demo-bucket Development/Projects.xls 80e737d8b4ed9ac5c6ffffffffffffffff006737d8b4ed9ac5c600000000000000000000000000000000000000000000000072 CREATE 2024-11-15 23:26:44.966 FALSE 7746 11/15/2024 23:26 729a6863e47fb9955b31bfabce984908 STANDARD FALSE SSE-S3 FALSE NULL SSECRC32 {} {count -> Asia, customs -> Canada, family -> Billiards, filter -> true, location -> Europe, name -> Asia, user -> United States} 111122223333 192.0.2.1 CVK7Z6XQTQ90BSRV

메타데이터 테이블에는 다음과 같은 스키마가 있습니다.

열 이름 필수? 데이터 유형

bucket

String 범용 버킷 이름입니다. 자세한 내용은 범용 버킷 이름 지정 규칙 섹션을 참조하세요.

key

String 버킷에 있는 객체를 고유하게 식별하는 객체 키 이름(또는 키)입니다. 자세한 내용은 Amazon S3 객체 이름 지정 섹션을 참조하세요.

sequence_number

String

주어진 객체의 레코드에 포함된 서수인 시퀀스 번호입니다. 동일한 버킷 및 키의 레코드를 정렬하려면 sequence_number를 기준으로 정렬할 수 있습니다. 주어진 버킷과 키에서 사전을 기준으로 sequence_number 값이 크면 레코드가 더 최근에 버킷에 기록되었음을 의미합니다.

record_type

String

이 레코드의 유형으로, CREATE, UPDATE_METADATA 또는 DELETE 중 하나입니다.

CREATE 레코드는 새 객체(또는 객체의 새 버전)가 버킷에 기록되었음을 나타냅니다.

UPDATE_METADATA는 스토리지 클래스 또는 태그와 같은 기존 객체의 변경 가능한 메타데이터에 대한 변경 사항을 캡처합니다.

DELETE는 이 객체(또는 객체의 이 버전)가 삭제되었음을 나타냅니다. 버전 관리가 활성화된 경우 DELETE는 삭제 마커 또는 영구 삭제를 나타냅니다. 삭제 마커의 record_type 값은 DELETE이고 is_delete_marker 값은 True입니다. 영구 삭제 레코드는 bucket, key, sequence_number, record_type, record_timestamp, version_id를 제외한 다른 모든 열에 Null 값을 갖습니다. 자세한 내용은 버전 관리가 사용 설정된 버킷에서 객체 버전 삭제 섹션을 참조하세요.

record_timestamp

타임스탬프 NTZ(표준 시간대 없음)

이 레코드와 연결된 타임스탬프입니다.

version_id

아니요 String

객체의 버전 ID입니다. 버전 관리를 사용하는 버킷의 경우 Amazon S3는 버킷에 추가된 객체에 버전 번호를 지정합니다. 자세한 내용은 S3 버전 관리로 여러 버전의 객체 유지 섹션을 참조하세요.

버전 관리 상태를 설정하기 전에 버킷에 저장된 객체의 버전 ID는 Null입니다.

is_delete_marker

아니요

객체의 삭제 마커 상태입니다. 객체가 삭제 마커인 경우 이 값은 True입니다. 그렇지 않은 경우 False입니다. 자세한 내용은 삭제 마커를 통한 작업 섹션을 참조하세요.

참고

삭제 마커에 추가된 행의 record_type 값은 UPDATE_METADATA가 아니라 DELETE입니다. S3 수명 주기 만료의 결과로 삭제 마커가 생성된 경우 requester 값은 s3.amazonaws.com입니다.

size

아니요 Long

객체 크기(바이트)를 나타내며, 불완전한 멀티파트 업로드 또는 객체 메타데이터의 크기는 포함되지 않습니다. is_delete_markerTrue인 경우 크기는 0입니다. 자세한 내용은 시스템 정의 객체 메타데이터 섹션을 참조하세요.

last_modified_date

아니요 타임스탬프 NTZ(표준 시간대 없음)

객체 생성일 또는 최종 수정일 중 최근 날짜. 멀티파트 업로드의 경우 객체 생성 날짜는 멀티파트 업로드 시작 날짜입니다. 자세한 내용은 시스템 정의 객체 메타데이터 섹션을 참조하세요.

e_tag

아니요 String

엔터티 태그(ETag)로, 객체의 해시입니다. ETag는 객체의 콘텐츠에 대한 변경 사항만 반영하고 메타데이터에 대한 변경을 반영하지 않습니다. ETag는 객체 데이터의 MD5 다이제스트일 수 있습니다. ETag가 MD5 다이제스트인지는 객체 생성 방식 및 암호화 방식에 달려 있습니다. 자세한 내용은 Amazon S3 API 참조의 Object 섹션을 참조하세요.

storage_class

아니요 String

객체 저장에 사용된 스토리지 클래스입니다. STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE 또는 GLACIER_IR 중 하나입니다. 자세한 내용은 Amazon S3 스토리지 클래스 이해 및 관리 섹션을 참조하세요.

is_multipart

아니요

객체의 업로드 유형입니다. 객체가 멀티파트 업로드로 업로드된 경우 이 값은 True입니다. 그렇지 않은 경우 False입니다. 자세한 내용은 Amazon S3에서 멀티파트 업로드를 사용한 객체 업로드 및 복사 섹션을 참조하세요.

encryption_status

아니요 String

Amazon S3 관리형 키를 사용한 서버 측 암호화(SSE-S3), AWS Key Management Service(AWS KMS) 키를 사용한 서버 측 암호화(SSE-KMS), AWS KMS keys KMS 키를 사용한 이중 계층 서버 측 암호화(DSSE-KMS), 고객 제공 키를 사용한 서버 측 암호화(SSE-C) 등 사용되는 암호화 키의 종류에 따른 객체의 서버 측 암호화 상태입니다. 객체가 암호화되지 않은 경우 이 값은 Null입니다. 가능한 값은 SSE-S3, SSE-KMS, DSSE-KMS, SSE-C 또는 Null입니다. 자세한 내용은 암호화로 데이터 보호 섹션을 참조하세요.

is_bucket_key_enabled

아니요

객체의 S3 버킷 키 활성화 상태입니다. 객체가 SSE-KMS에 S3 버킷 키를 사용하는 경우 이 값은 True입니다. 그렇지 않은 경우 False입니다. 자세한 내용은 객체 수준에서 S3 버킷 키 구성 섹션을 참조하세요.

kms_key_arn

아니요 String

객체 암호화에 사용된 KMS 키의 Amazon 리소스 이름(ARN)으로, encryption_statusSSE-KMS 또는 DSSE-KMS인 행의 경우에 해당합니다. 객체가 SSE-KMS 또는 DSSE-KMS로 암호화되지 않은 경우 값은 Null입니다. 자세한 내용은 AWS KMS 키를 사용한 서버 측 암호화(SSE-KMS) 사용AWS KMS 키를 사용한 이중 계층 서버 측 암호화(DSSE-KMS) 사용(을)를 참조하세요.

참고

행이 삭제 또는 덮어쓰기 이벤트가 처리된 시점에 더 이상 존재하지 않았던 객체 버전을 나타내는 경우 encryption_status 열 값이 SSE-KMS 또는 DSSE-KMS인 경우에도 kms_key_arn에는 Null 값이 포함됩니다.

checksum_algorithm

아니요 String

객체에 대한 체크섬을 생성하는 데 사용되는 알고리즘으로, CRC64NVME, CRC32, CRC32C, SHA1 또는 SHA256 중 하나입니다. 체크섬이 없는 경우 이 값은 Null입니다. 자세한 내용은 지원되는 체크섬 알고리즘 사용 섹션을 참조하세요.

object_tags

아니요 Map <String, String>

객체와 연결된 객체 태그입니다. 객체 태그는 키-값 페어의 맵으로 저장됩니다. 객체에 객체 태그가 없는 경우 빈 맵({})이 저장됩니다. 자세한 내용은 태그를 사용하여 스토리지 분류 섹션을 참조하세요.

참고

record_type 값이 DELETE이면 object_tags 열에 Null 값이 포함됩니다. record_type 값이 CREATE 또는 UPDATE_METADATA인 경우 삭제 또는 덮어쓰기 이벤트가 처리된 시점에 더 이상 존재하지 않았던 객체 버전을 나타내는 행에는 object_tags 열에 Null 값이 포함됩니다.

user_metadata

아니요 Map <String, String>

객체와 연결된 사용자 메타데이터입니다. 사용자 메타데이터는 키-값 페어의 맵으로 저장됩니다. 객체에 사용자 메타데이터가 없는 경우 빈 맵({})이 저장됩니다. 자세한 내용은 사용자 정의 객체 메타데이터 섹션을 참조하세요.

참고

record_type 값이 DELETE이면 user_metadata 열에 Null 값이 포함됩니다. record_type 값이 CREATE 또는 UPDATE_METADATA인 경우 삭제 또는 덮어쓰기 이벤트가 처리된 시점에 더 이상 존재하지 않았던 객체 버전을 나타내는 행에는 user_metadata 열에 Null 값이 포함됩니다.

requester

아니요 String

요청을 수행한 요청자 또는 AWS 서비스 위탁자의 AWS 계정 ID입니다.

source_ip_address

아니요 String

요청의 소스 IP 주소입니다. 사용자 요청에 의해 생성된 레코드의 경우 이 열에는 요청의 소스 IP 주소가 포함됩니다. 사용자를 대신해 Amazon S3 또는 다른 AWS 서비스가 수행한 작업의 경우 이 열에는 Null 값이 포함됩니다.

request_id

아니요 String

요청과 연결된 요청 ID입니다.