存储空间分析资产清单报告功能可帮助您大规模管理对象存储。它是 Objects: list
API 操作的一种更快的计划性替代方法。 如果您想验证大型存储桶的迁移情况(不会对性能造成任何影响),或者检查单个存储桶中对象的完整性,请使用存储空间分析资产清单报告。
资产清单报告包含有关对象的元数据信息,例如对象的存储类别、ETag 和内容类型。这些信息可帮助您分析存储费用、审核和验证对象,以及确保数据安全性和合规性。您可以将资产清单报告导出为逗号分隔值 (CSV) 或 Apache Parquet 文件,以便使用 BigQuery 等工具进一步分析报告。
本页面简要介绍了存储空间分析资产清单报告功能。如需了解如何使用此功能,请参阅创建和管理库存报告。
库存报告概览
库存报告包含给定存储桶(也称为来源存储桶)的对象及其关联元数据的列表。如需生成资产清单报告,您必须先创建资产清单报告配置,用于定义报告的生成频率、您希望报告包含的元数据字段以及用于在其中生成和存储报告的存储桶(也称为目标存储桶)。
创建资产清单报告配置时,系统会自动为其分配一个通用唯一标识符 (UUID)。此字段不可修改。 但是,您可以修改资产清单报告配置的以下字段:
- 库存报告配置的显示名称
- 库存报告中包含的对象元数据字段
- 存储库存报告的目标存储桶
- 用于确定生成库存报告的频率的时间表
- 以何种文件格式生成资产清单报告(CSV 或 Apache Parquet)
删除库存报告配置后,系统将不再为该配置生成新的库存报告,但现有的库存报告仍然存在。
来源存储桶和目标存储桶
来源存储桶包含要为其生成库存报告的对象。它还包含库存报告配置。源存储桶中最多可以有 100 项资产清单报告配置。
目标存储桶用于存储生成的库存报告。目标存储桶必须满足以下要求:
- 它必须与来源存储桶位于同一位置。
- 它必须与来源存储桶位于同一项目中。
- 它可以与来源存储桶相同。
首次创建资产清单报告配置时,系统会自动代表您创建服务代理。如需创建资产清单报告配置并将资产清单报告写入目标存储桶,您和您的服务代理都必须具有所需的 IAM 权限。查看您自己以及您的服务代理所需的权限。
存储空间分析使用来源和目标存储桶的名称来确定运行作业时使用的存储桶。如果您删除来源存储桶或目标存储桶,之后创建同名的新存储桶,则存储空间分析将使用新存储桶运行作业。
对象元数据字段
库存报告中可包含以下元数据字段。 标记为“必需”的元数据字段必须包含在库存报告中。
元数据字段 | 说明 | 备注 |
---|---|---|
项目 | 源存储桶所在项目的 ID。 | 必需 |
存储桶 | 源存储桶的名称。 | 必需 |
name | 对象的名称。 | 必需 |
地理位置 | 源存储桶的位置。 | 可选 |
size | 对象的大小。 | 可选 |
timeCreated | 对象的创建时间,采用 RFC 3339 格式。 | 可选 |
timeDeleted | 对象的删除时间,采用 RFC 3339 格式。当且仅当对象的此版本不再是实时版本但作为非当前版本保留在存储桶中时才返回。 | 可选 |
已更新 | 对象元数据的修改时间,采用 RFC 3339 格式。 | 可选 |
storageClass | 对象的存储类别。 | 可选 |
etag | 对象的 HTTP 1.1 实体标记。 | 可选 |
retentionExpirationTime | 可以删除对象的最早时间,取决于为对象设置的任何保留配置以及为包含该对象的存储桶设置的任何保留政策。retentionExpriationTime 的值以 RFC 3339 格式提供。 |
可选 |
crc32c | CRC32C 校验和(如 RFC 4960 附录 B 中所述),使用 base64 以 big-endian 字节顺序编码。如需详细了解 CRC32C 校验和,请参阅对象元数据。 | 可选 |
md5Hash | 数据的 MD5 哈希,使用 base64 编码。 对于复合对象,此字段不存在。如需详细了解 MD5 哈希,请参阅对象元数据。 | 可选 |
更新的 | 此对象的内容世代。 用于对象版本控制。 | 可选 |
metageneration | 此世代的此对象的元数据版本。 用于前提条件和检测元数据的变化。元数据世代编号仅在特定对象的特定世代的上下文中才有意义。 | 可选 |
contentType | 对象数据的 Content-Type。如果存储的对象没有 Content-Type,则它作为应用/八位字节流传送。 | 可选 |
contentEncoding | 对象数据的 Content-Encoding。 | 可选 |
timeStorageClassUpdated | 对象的存储类别上次更改的时间。最初创建对象时,它会设置为 timeCreated。 | 可选 |
如需详细了解对象元数据字段,请参阅对象元数据。
资产清单报告分片
当资产清单报告包含的对象超过 100 万个时,存储空间分析会生成一个或多个分片对象来构成资产清单报告。资产清单报告的所有分片成功生成后,系统会在分片所在的目标存储桶中生成清单文件。
资产清单报告清单文件
如果存在清单文件,则表示已生成构成资产清单报告的所有分片。清单文件还提供资产清单报告分片对象的名称。
清单文件遵循命名惯例 REPORT_CONFIG_UUID_TARGET_DATETIME_manifest.json
,其中:
REPORT_CONFIG_UUID
是自动生成的资产清单报告配置 UUID。TARGET_DATETIME
是生成资产清单报告的自动生成的 UTC 日期和时间。
示例清单文件名为 fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:00_manifest.json
。
manifest.json
文件包含以下自动填充的字段:
{ "report_config": REPORT_CONFIG_FIELDS, "records_processed": NUMBER_OF_INCLUDED_OBJECTS, "snapshot_time": "SNAPSHOT_TIME, "target_datetime": "TARGET_DATETIME, "shard_count": SHARD_COUNT, "report_shards_file_names": [ SHARD_FILE_NAME ...] }
其中:
REPORT_CONFIG_FIELDS
包括 ReportConfig 资源中包含的字段。NUMBER_OF_INCLUDED_OBJECTS
是资产清单报告中包含的对象的数量。SNAPSHOT_TIME
是生成数据快照的自动生成的 UTC 日期时间。资产清单报告中的所有数据都在快照中捕获。TARGET_DATETIME
是生成资产清单报告的自动生成的 UTC 日期时间。SHARD_COUNT
是构成资产清单报告的已生成的分片总数。SHARD_FILE_NAME
是构成资产清单报告的分片的名称。
示例 manifest.json
文件如下所示:
{ "report_config": { "name": "projects/123456789098/locations/us/reportConfigs/fcec5187-afa6-48b0-938a-543d16493dc0", "createTime": "2023-06-08T08:07:53.397366139Z", "updateTime": "2023-06-08T08:07:53.552347723Z", "frequencyOptions": { "frequency": "DAILY", "startDate": { "year": 2023, "month": 6, "day": 9 } "endDate": { "year": 2023, "month": 6, "day": 23 } }, "csvOptions": { "recordSeparator": "\n", "delimiter": "," }, "objectMetadataReportOptions": { "metadataFields": [ "project", "bucket", "name", "location", "updated", "storageClass", ], "storageFilters": { "bucket": "my-test-bucket" }, "storageDestinationOptions": { "bucket": "example-bucket", "destinationPath": "folder/subfolder" } } }, "records_processed": 3993900, "snapshot_time" : "2023-06-06T00:07:27Z", "target_datetime": { "year": 2023, "month": 6, "day": 6 }, "shard_count": 4, "report_shards_file_names": [ "fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:54_0.csv", "fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:54_1.csv", ... ], }
价格
使用库存报告受价格约束,具体取决于相应存储桶的位置。如需详细了解库存报告的价格,请参阅价格。
审核日志记录
在目标存储桶中生成资产清单报告时,Cloud Storage 会创建审核日志。每当创建、更新或删除资产清单报告配置时,存储空间分析都会生成审核日志。
资产清单报告配置从来源存储桶读取对象元数据时,Cloud Storage 不会创建审核日志。
与 VPC Service Controls 集成
您可以使用 VPC Service Controls 为存储空间分析资源提供一层额外的安全保障。在使用 VPC Service Controls 时,您可以将项目添加到服务边界,从而防止资源和服务受到源自边界外部的请求的影响。如需详细了解 VPC Service Controls 和服务边界,请参阅服务边界详情和配置。
限制
在 Cloud Storage 存储桶上启用 IP 过滤会使存储空间分析无法访问存储桶,无论该服务是否使用服务代理与 Cloud Storage 进行交互。如果您要为 Cloud Storage 存储桶创建资产清单报告,为防止服务中断,我们建议您不要为该存储桶使用 IP 过滤。
后续步骤
了解如何创建库存报告配置并开始生成库存报告。