存储空间分析资产清单报告

存储空间分析资产清单报告功能可帮助您大规模管理对象存储。它是 Objects: list API 操作的一种更快的计划性替代方法。

资产清单报告包含有关对象的元数据信息,例如对象的存储类别、ETag 和内容类型。这些信息可帮助您分析存储费用、审核和验证对象,以及确保数据安全性和合规性。您可以将资产清单报告导出为逗号分隔值 (CSV) 或 Apache Parquet 文件,以便使用 BigQuery 等工具进一步分析报告。

本页面简要介绍了存储空间分析资产清单报告功能。如需了解如何使用此功能,请参阅创建和管理库存报告

库存报告概览

库存报告包含给定存储桶(也称为来源存储桶)的对象及其关联元数据的列表。如需生成资产清单报告,您必须先创建资产清单报告配置,用于定义报告的生成频率、您希望报告包含的元数据字段以及用于在其中生成和存储报告的存储桶(也称为目标存储桶)。

创建资产清单报告配置时,系统会自动为其分配一个通用唯一标识符 (UUID)。此字段不可修改。 但是,您可以修改资产清单报告配置的以下字段:

  • 库存报告配置的显示名称
  • 库存报告中包含的对象元数据字段
  • 存储库存报告的目标存储桶
  • 用于确定生成库存报告的频率的时间表
  • 以何种文件格式生成资产清单报告(CSV 或 Apache Parquet)

删除库存报告配置后,系统将不再为该配置生成新的库存报告,但现有的库存报告仍然存在。

来源存储桶和目标存储桶

来源存储桶包含要为其生成库存报告的对象。它还包含库存报告配置。源存储桶中最多可以有 100 项资产清单报告配置。

目标存储桶用于存储生成的库存报告。目标存储桶必须满足以下要求:

  • 它必须与来源存储桶位于同一位置
  • 它必须与来源存储桶位于同一项目中。
  • 它可以与来源存储桶相同。

首次创建资产清单报告配置时,系统会自动代表您创建服务代理。如需创建资产清单报告配置并将资产清单报告写入目标存储桶,您和您的服务代理都必须具有所需的 IAM 权限。查看您自己以及您的服务代理所需的权限。

存储空间分析使用来源和目标存储桶的名称来确定运行作业时使用的存储桶。如果您删除来源存储桶或目标存储桶,之后创建同名的新存储桶,则存储空间分析将使用新存储桶运行作业。

对象元数据字段

库存报告中可包含以下元数据字段。 标记为“必需”的元数据字段必须包含在库存报告中。

元数据字段 说明 备注
项目 源存储桶所在项目的 ID。 需要
存储桶 源存储桶的名称。 需要
name 对象的名称。 需要
位置 源存储桶的位置 可选
大小 对象的大小。 可选
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 校验和,请参阅哈希和 ETag 可选
md5Hash 数据的 MD5 哈希,使用 base64 编码。 对于复合对象,此字段不存在。如需详细了解如何使用 MD5 哈希,请参阅哈希和 ETag 可选
generation 此对象的内容世代。 用于对象版本控制。 可选
metageneration 世代的此对象的元数据版本。 用于前提条件和检测元数据的变化。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",
    ...
  ],
}

价格和支持的存储桶位置

存储空间分析受价格约束,即库存报告中包含的每一百万个对象按下面的价格收费,具体取决于存储位置。如需详细了解存储位置,请参阅存储桶位置

支持的位置

位置 区域 价格
亚洲
台湾 (asia-east1) 0.0025 美元/百万对象
香港 (asia-east2) 0.0028 美元/百万对象
东京 (asia-northeast1) 0.0028 美元/百万对象
大阪 (asia-northeast2) 0.0028 美元/百万对象
首尔 (asia-northeast3) 0.0028 美元/百万对象
新加坡 (asia-southeast1) 0.0025 美元/百万对象
澳大利亚
悉尼 (australia-southeast1) 0.0028 美元/百万对象
墨尔本 (australia-southeast2) 0.0028 美元/百万对象
欧洲
华沙 (europe-central2) 0.0028 美元/百万对象
芬兰 (europe-north1) 0.0025 美元/百万对象
马德里 (europe-southwest1) 0.0028 美元/百万对象
比利时 (europe-west1) 0.0025 美元/百万对象
伦敦 (europe-west2) 0.0028 美元/百万对象
法兰克福 (europe-west3) 0.0028 美元/百万对象
荷兰 (europe-west4) 0.0025 美元/百万对象
苏黎世 (europe-west6) 0.0031 美元/百万对象
米兰 (europe-west8) 0.0028 美元/百万对象
巴黎 (europe-west9) 0.0028 美元/百万对象
印度
孟买 (asia-south1) 0.0028 美元/百万对象
德里 (asia-south2) 0.0028 美元/百万对象
印度尼西亚
雅加达 (asia-southeast2) 0.0028 美元/百万对象
中东
特拉维夫 (me-west1) 0.0026 美元/百万对象
北美洲
蒙特利尔 (northamerica-northeast1) 0.0028 美元/百万对象
多伦多 (northamerica-northeast2) 0.0028 美元/百万对象
爱荷华 (us-central1) 0.0025 美元/百万对象
南卡罗来纳 (us-east1) 0.0025 美元/百万对象
北弗吉尼亚 (us-east4) 0.0028 美元/百万对象
哥伦布 (us-east5) 0.0025 美元/百万对象
俄勒冈 (us-west1) 0.0025 美元/百万对象
洛杉矶 (us-west2) 0.0028 美元/百万对象
盐湖城 (us-west3) 0.0028 美元/百万对象
拉斯维加斯 (us-west4) 0.0028 美元/百万对象
达拉斯 (us-south1) 0.0025 美元/百万对象
南美洲
圣保罗 (southamerica-east1) 0.0043 美元/百万对象
圣地亚哥 (southamerica-west1) 0.0037 美元/百万对象
多区域
亚洲 (asia) 0.0028 美元/百万对象
欧洲 (eu) 0.0028 美元/百万对象
美国 (us) 0.0028 美元/百万对象
双区域
东京/大阪 (asia1) 0.0028 美元/百万对象
芬兰/荷兰 (eur4) 0.0028 美元/百万对象
爱荷华/南卡罗来纳 (nam4) 0.0028 美元/百万对象

审核日志记录

在目标存储桶中生成资产清单报告时,Cloud Storage 会创建审核日志。每当创建、更新或删除资产清单报告配置时,存储空间分析都会生成审核日志。

资产清单报告配置从来源存储桶读取对象元数据时,Cloud Storage 不会创建审核日志。

与 VPC Service Controls 集成

您可以使用 VPC Service Controls 为存储空间分析资源提供一层额外的安全保障。在使用 VPC Service Controls 时,您可以将项目添加到服务边界,从而防止资源和服务受到源自边界外部的请求的影响。如需详细了解 VPC Service Controls 和服务边界,请参阅服务边界详情和配置

后续步骤

了解如何创建库存报告配置并开始生成库存报告。