S3 元数据表架构
Amazon S3 元数据表包含行和列。每行代表一个突变事件,该事件在您的通用存储桶中创建、更新或删除了一个对象。这些事件中大多数是各种用户操作的结果,但其中一些事件是由 Amazon S3 代表您执行的操作的结果,例如 S3 生命周期到期或存储类转换。
S3 元数据是一个事件处理管道,旨在使元数据表与通用存储桶中发生的更改保持最终一致。请注意,当 S3 元数据收到创建或更新对象的通知时,该对象可能已经在存储桶中被覆盖或删除。默认情况下,会为每个 S3 bucket operation 创建一个表行。但是,如果任何对象元数据被删除或覆盖,或者无法再检索对象,则某些列可能会显示一个 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
元数据表具有以下架构:
列名称 | 必填? | 数据类型 | |
---|---|---|---|
|
是 | 字符串 | 通用存储桶名称。有关更多信息,请参阅 通用存储桶命名规则。 |
|
是 | 字符串 | 在存储桶中唯一地标识对象的对象键名称(或键)。有关更多信息,请参阅 为 Amazon S3 对象命名。 |
|
是 | 字符串 | 序列号,它是一个序数,包含在给定对象的记录中。要对相同存储桶和键的记录进行排序,您可以按 |
|
是 | 字符串 | 此记录的类型,为以下值之一:
|
|
是 | 时间戳 NTZ(无时区) | 与此记录关联的时间戳。 |
|
否 | 字符串 |
对象的版本 ID。在存储桶上启用版本控制后,Amazon S3 会为添加到存储桶的对象指定版本号。有关更多信息,请参阅 使用 S3 版本控制保留对象的多个版本。 在您设置版本控制状态之前存储在存储桶中的对象的版本 ID 为 null。 |
|
否 | 布尔值 |
对象的删除标记状态。如果对象是删除标记,则此值为 注意为删除标记添加的行的 |
|
否 | 长整型 | 以字节为单位的对象大小,不包括未完成的分段上传或对象元数据的大小。如果 |
|
否 | 时间戳 NTZ(无时区) | 对象创建日期或上次修改日期(以较晚者为准)。对于分段上传,对象创建日期是开始分段上传的日期。有关更多信息,请参阅 系统定义的对象元数据。 |
|
否 | 字符串 | 实体标签(ETag),这是对象的哈希。ETag 仅反映对于对象的内容的更改,而不反映对于对象的元数据的更改。ETag 可能是对象数据的 MD5 摘要。ETag 是否为 MD5 摘要取决于对象的创建方式及其加密方式。有关更多信息,请参阅《Amazon S3 API 参考》中的 Object。 |
|
否 | 字符串 | 用于存储对象的存储类。以下值之一: |
|
否 | 布尔值 | 对象的上传类型。如果对象以分段上传形式上传,则此值为 |
|
否 | 字符串 | 对象的服务器端加密状态,具体取决于使用哪种加密密钥:具有 Amazon S3 托管式密钥的服务器端加密(SSE-S3)、具有 Amazon Key Management Service(Amazon KMS)密钥的服务器端加密(SSE-KMS)、具有 Amazon KMS keys的双层服务器端加密(DSSE-C)或具有客户提供的密钥的服务器端加密(SSE-C)。如果对象未加密,则此值为 null。可能的值为 |
|
否 | 布尔值 | 对象的 S3 存储桶密钥启用状态。如果对象将 S3 存储桶密钥用于 SSE-KMS,则此值为 |
|
否 | 字符串 |
用于加密对象的 KMS 密钥的 Amazon 资源名称(ARN),适用于 注意如果某行代表的对象版本在处理删除或覆盖事件时不再存在,则即使 |
|
否 | 字符串 | 用于为对象创建校验和的算法,为以下值之一: |
|
否 | Map <String, String> |
与对象关联的对象标签。对象标签存储为键值对的映射。如果对象没有对象标签,则会存储空映射 ( 注意如果 |
|
否 | Map <String, String> |
与对象关联的用户元数据。用户元数据存储为键值对的映射。如果对象没有用户元数据,则会存储空映射 ( 注意如果 |
|
否 | 字符串 | 提出请求的请求者或 Amazon Web Services 服务 主体的 Amazon Web Services 账户 ID。 |
|
否 | 字符串 | 请求的源 IP 地址。对于由用户请求生成的记录,此列包含请求的源 IP 地址。对于 Amazon S3 或其它 Amazon Web Services 服务 代表用户采取的操作,此列包含 null 值。 |
|
否 | 字符串 | 与请求关联的请求 ID。 |