Simple Storage Service (Amazon S3) 清单
重要
Amazon S3 现在将具有 Amazon S3 托管式密钥的服务器端加密(SSE-S3)作为 Amazon S3 中每个桶的基本加密级别。从 2023 年 1 月 5 日起,上传到 Amazon S3 的所有新对象都将自动加密,不会产生额外费用,也不会影响性能。S3 桶原定设置加密配置和上传的新对象的自动加密状态可在 Amazon CloudTrail 日志、S3 清单、S3 Storage Lens 存储统计管理工具、Amazon S3 控制台中获得,并可用作 Amazon Command Line Interface 和 Amazon SDK 中的附加 Amazon S3 API 响应标头。有关更多信息,请参阅原定设置加密常见问题解答。
Amazon S3 清单是 Amazon S3 提供的用于帮助管理存储的其中一款工具。您可以出于业务、合规性和法规要求,使用它来审核和报告对象的复制和加密状态。您还可以使用 Amazon S3 清单简化和加快业务工作流和大数据作业,它可以有计划地取代 Amazon S3 同步 List
API 操作。Amazon S3 清单不使用 List
API 操作来审计对象且不会影响桶的请求速率。
Amazon S3 清单每天或每周为 S3 桶或共享前缀(即,其名称以通用字符串开头的对象)提供用于列出您的对象及其对应元数据的逗号分隔值(CSV)、Apache 优化的行列式(ORC)
您可以为存储桶配置多个清单列表。您可以配置要包含在该清单中的对象元数据,是列出所有对象版本还是仅列出当前版本,要存储清单列表文件输出的位置以及是每天还是每周生成该清单。您也可以指定对清单列表文件进行加密。
您可以通过 Amazon Athena、Amazon Redshift Spectrum 以及其他工具(如 Presto
源存储桶和目标存储桶
由清单列出其对象的存储桶称为源存储桶。在其中存储清单列表文件的存储桶称为目标存储桶。
源存储桶
清单列出了源存储桶中存储的对象。您可以获取整个存储桶的清单列表或按 (对象键名) 前缀筛选过的清单列表。
源存储桶:
-
包含在清单中列出的对象。
-
包含清单的配置。
目标桶
Amazon S3 清单列表文件将写入目标存储桶。要对目标存储桶内公共位置中的所有清单列表文件进行分组,您可以在清单配置中指定目标(对象键名)前缀。
目标存储桶:
-
包含清单文件列表。
-
包含 Manifest 文件,其中列出了存储在目标存储桶中的所有文件清单列表。有关更多信息,请参阅 清单 Manifest。
-
必须具有向 Amazon S3 授予验证存储桶的所有权的权限和将文件写入存储桶的权限的存储桶策略。
-
必须与源存储桶位于同一 Amazon Web Services 区域。
-
可以与源存储桶相同。
-
可以由与拥有源存储桶的账户不同的 Amazon Web Services 账户 拥有。
Amazon S3 清单列表
清单列表文件包含源存储桶中对象的列表以及每个对象的元数据。清单列表将在目标桶中存储为使用 GZIP 压缩的 CSV 文件、使用 ZLIB 压缩的 Apache 优化的行列式(ORC)文件或用 Snappy 压缩的 Apache Parquet 文件。不能保证会对 Amazon S3 清单报告中的对象排序。
清单列表包含 S3 存储桶中的对象的列表以及每个列出的对象的以下元数据:
-
Bucket name (存储桶名称) – 清单所针对的存储桶的名称。
-
键名称 – 唯一地标识存储桶中的对象的对象键名(或键)。使用 CSV 文件格式时,键名采用 URL 编码形式,必须解码然后才能使用。
-
版本 ID – 对象版本 ID。在存储桶上启用版本控制后,Amazon S3 会为添加到存储桶的对象指定版本号。有关更多信息,请参阅 在 S3 桶中使用版本控制。(如果列表仅针对对象的当前版本,则不包含此字段。)
-
IsLatest – 如果对象的版本为最新,则设置为
True
。(如果列表仅针对对象的当前版本,则不包含此字段。) -
删除标记 – 如果对象是删除标记,则设置为
True
。有关更多信息,请参阅 在 S3 桶中使用版本控制。(如果您已将您的报告配置为包含您的对象的所有版本,则此字段将自动添加到报告)。 -
大小 - 以字节为单位的对象大小,不包括未完成的分段上传、对象元数据和删除标记的大小。
-
Last modified date (上次修改日期) – 对象创建日期或上次修改日期(以较晚者为准)。
-
ETag – 实体标签(ETag)是对象的哈希。ETag 仅反映对对象的内容的更改,而不反映对对象的元数据的更改。ETag 可能是对象数据的 MD5 摘要。是与不是取决于对象的创建方式和加密方式。
-
Storage class (存储类) – 用于存储对象的存储类。有关更多信息,请参阅 使用 Amazon S3 存储类。
-
Multipart upload flag (分段上传标记) – 如果对象以分段上传形式上传,则设置为
True
。有关更多信息,请参阅使用分段上传来上传和复制对象。 -
复制状态 – 设置为
PENDING
、COMPLETED
、FAILED
或REPLICA
。有关更多信息,请参阅 获取复制状态信息。 -
Encryption status (加密状态) – 设置为
SSE-S3
、SSE-C
、SSE-KMS
或NOT-SSE
。SSE-S3、SSE-KMS 以及客户提供密钥的 SSE (SSE-C) 的服务器端加密状态。NOT-SSE
状态表示对象未使用服务器端加密进行加密。有关更多信息,请参阅 利用加密来保护数据。 -
S3 Object lock Retain until date (S3 对象锁保留截止日期) – 在此日期之前无法删除锁定对象。有关更多信息,请参阅 使用 S3 对象锁定。
-
S3 Object lock Mode (S3 对象锁模式) – 对于已锁定的对象设置为
Governance
或Compliance
。有关更多信息,请参阅 使用 S3 对象锁定。 -
S3 对象锁定法定保留状态 – 如果法定保留已应用于对象,则设置为
On
。否则,其设置为Off
。有关更多信息,请参阅使用 S3 对象锁定。 -
S3 Intelligent-Tiering access tier(S3 Intelligent-Tiering 访问层)– 如果对象存储在 S3 Intelligent-Tiering 中,则为对象的访问层(频繁或不频繁)。有关更多信息,请参阅用于自动优化访问模式不断变化或未知的数据的存储类。
-
S3 存储桶密钥状态 – 设置为
ENABLED
或者DISABLED
。指示对象是否使用 S3 Bucket 密钥进行服务器端加密。有关更多信息,请参阅使用 Amazon S3 桶密钥。 -
校验和算法 – 表示用于创建对象的校验和的算法。
注意
在对象根据其生命周期配置的生存期结束后,Amazon S3 会将该对象加入移除队列并异步移除它。因此,过期日期和 Amazon S3 删除对象的日期之间可能会有一段延迟。清单报告包括已过期但尚未移除的对象。有关 S3 生命周期中的过期操作的更多信息,请参阅即将过期的对象。
我们建议您创建一个删除旧清单列表的生命周期策略。有关更多信息,请参阅管理存储生命周期。
s3:PutInventoryConfiguration
权限允许用户在配置清单列表时选择之前为每个对象列出的所有元数据字段,也可以指定存储清单的目标桶。对目标桶中的对象具有读取权限的用户可以访问清单列表中提供的所有对象元数据字段。要限制对于清单报告的访问权限,请参阅向 S3 清单和 S3 分析功能授予权限。
清单一致性
并非所有对象都会显示每个清单列表中。清单列表提供了新对象和覆盖的 PUT
请求的最终一致性,并提供了 DELETE
请求的最终一致性。清单列表是存储桶项的滚动快照,这些项最终是一致的 (即,列表可能不包含最近添加或删除的对象)。
要在对对象执行操作之前验证对象的状态,我们建议您执行 HEAD Object
REST API 请求以检索对象的元数据,或在 Amazon S3 控制台中检查对象的属性。您还可以使用 Amazon CLI 或 Amazon 开发工具包检查对象元数据。有关更多信息,请参阅《Amazon Simple Storage Service API 参考》中的 HEAD Object
。
有关使用 Amazon S3 清单的更多信息,请参阅以下主题。