Storage Insights 数据集表和架构

本文档介绍了 Storage Insights 数据集中包含的表及其架构,您可以使用这些表来分析运营模式、监控资源使用情况,并了解整个存储环境中的活动。

元数据的数据集架构

以下各部分介绍了数据集中包含的元数据字段。如需详细了解 BigQuery 列模式,请参阅模式。列模式决定了 BigQuery 存储和查询数据的方式。

存储桶元数据

存储桶元数据架构包含 bucket_attributes_viewbucket_attributes_latest_snapshot_view 表。存储桶元数据表具有以下字段:

元数据字段 模式 类型 说明
snapshotTime NULLABLE TIMESTAMP snapshotTime 字段以 RFC 3339 格式保存存储桶元数据快照的刷新时间。
name NULLABLE STRING 存储分区的名称。
location NULLABLE STRING 相应存储桶的位置。相应存储桶中对象的对象数据位于此位置内的物理存储空间中。
project NULLABLE INTEGER 相应存储桶所属项目的编号。
storageClass NULLABLE STRING 相应存储桶的默认存储类别
public NULLABLE RECORD 已弃用。此字段用于指明存储桶是否可公开访问。请改用 iamConfiguration
public.bucketPolicyOnly NULLABLE BOOLEAN 已弃用。此字段是 public 记录的一部分,用于指示是否启用了统一存储桶级访问权限,该权限可防止通过对象级 ACL 授予访问权限。
public.publicAccessPrevention NULLABLE STRING 已弃用。此字段是 public 记录的一部分,用于指明是否禁止公开访问相应存储桶。
autoclass NULLABLE RECORD 存储桶的 Autoclass 配置,启用后,该配置会根据对象的访问方式和时间控制对象的存储类别。
autoclass.enabled NULLABLE BOOLEAN Autoclass 是否已启用。
autoclass.toggleTime NULLABLE TIMESTAMP 上次为此存储桶启用或停用 Autoclass 的时间,采用 RFC 3339 格式。
versioning NULLABLE BOOLEAN 相应存储桶是否已启用版本控制。如需了解详情,请参阅对象版本控制
lifecycle NULLABLE BOOLEAN 相应存储桶是否具有生命周期配置。如需了解详情,请参阅生命周期管理
metageneration NULLABLE INTEGER 相应存储桶的元数据生成。
timeCreated NULLABLE TIMESTAMP 存储桶的创建时间,采用 RFC 3339 格式。
tags NULLABLE RECORD 已弃用。此字段包含与相应存储桶关联的用户定义的键值对。请改用 resourceTags
tags.lastUpdatedTime NULLABLE TIMESTAMP 已弃用。此字段表示上次更新 tags 的时间。
tags.tagMap REPEATED RECORD 已弃用。此字段是 tags 记录的一部分,包含标记键和值的映射。
tags.tagMap.key NULLABLE STRING 已弃用。此字段是 tags.tagMap 记录的一部分,表示标记的键。
tags.tagMap.value NULLABLE STRING 已弃用。此字段是 tags.tagMap 记录的一部分,表示标记的值。
labels REPEATED RECORD 用户提供的存储桶标签,以键值对形式表示。
labels.key NULLABLE STRING 单个标签条目。
labels.value NULLABLE STRING 标签的值。
softDeletePolicy NULLABLE RECORD 存储桶的软删除政策,用于定义存储桶中的对象在被删除后以软删除状态保留的时间段。处于软删除状态的对象无法永久删除,并且在 hardDeleteTime 之前可以恢复。
softDeletePolicy.effectiveTime NULLABLE DATETIME

软删除政策生效的日期时间,采用 RFC 3339 格式。

每当 softDeletePolicy.retentionDurationSeconds 增加时,系统都会更新 softDeletePolicy.effectiveTime

softDeletePolicy.retentionDurationSeconds NULLABLE LONG 软删除的对象被保留且无法永久删除的时间段(以秒为单位)。该值必须大于或等于 604800(7 天)且小于 7776000(90 天)。该值也可以设置为 0,这会停用软删除政策。
iamConfiguration NULLABLE RECORD 存储桶的 IAM 配置。
iamConfiguration.uniformBucketLevelAccess NULLABLE RECORD 相应存储桶的统一存储桶级访问权限配置。
iamConfiguration.uniformBucketLevelAccess.enabled NULLABLE BOOLEAN 相应存储桶是否使用统一的存储桶级访问权限。
iamConfiguration.publicAccessPrevention NULLABLE STRING 相应存储桶的禁止公开访问状态,为 "inherited""enforced"
resourceTags REPEATED RECORD 相应存储桶的标记。如需了解详情,请参阅 Cloud Resource Manager API
resourceTags.key NULLABLE STRING resourceTags 键。
resourceTags.value NULLABLE STRING resourceTags 值。

对象元数据

对象元数据架构包括 object_attributes_viewobject_attributes_latest_snapshot_view 表。对象元数据表具有以下字段:

元数据字段 模式 类型 说明
snapshotTime NULLABLE TIMESTAMP snapshotTime 字段以 RFC 3339 格式保存对象元数据快照的刷新时间。
bucket NULLABLE STRING 包含相应对象的存储桶的名称。
location NULLABLE STRING 相应存储桶的位置。相应存储桶中对象的对象数据位于此位置内的物理存储空间中。
componentCount NULLABLE INTEGER 仅针对复合对象返回。复合对象中非复合对象的数量。componentCount 包含用于组合当前对象的任何复合对象中包含的非复合对象。
contentDisposition NULLABLE STRING 对象数据的 Content-Disposition
contentEncoding NULLABLE STRING 对象数据的 Content-Encoding
contentLanguage NULLABLE STRING 对象数据的 Content-Language
contentType NULLABLE STRING 对象数据的 Content-Type
crc32c NULLABLE INTEGER CRC32c 校验和(如 RFC 4960 附录 B 中所述);使用 base64 以 big-endian 字节顺序编码。
customTime NULLABLE TIMESTAMP 用户指定的对象时间戳,采用 RFC 3339 格式。
etag NULLABLE STRING 对象的 HTTP 1.1 实体标记
eventBasedHold NULLABLE BOOLEAN 对象是否受基于事件的保全保护。
generation NULLABLE INTEGER 此对象的内容世代。
md5Hash NULLABLE STRING 数据的 MD5 哈希,使用 base64 编码。对于复合对象,此字段不存在。
metadata REPEATED RECORD 用户提供的元数据,以键值对形式表示。
metadata.key NULLABLE STRING 单个元数据条目。
metadata.value NULLABLE STRING 元数据值。
metageneration NULLABLE INTEGER 此世代的此对象的元数据版本。
name NULLABLE STRING 对象的名称。
size NULLABLE INTEGER 数据的 Content-Length(以字节为单位)。
storageClass NULLABLE STRING 对象的存储类别
temporaryHold NULLABLE BOOLEAN 相应对象是否受临时冻结约束。
timeCreated NULLABLE TIMESTAMP 对象的创建时间,采用 RFC 3339 格式。
timeDeleted NULLABLE TIMESTAMP 对象的删除时间,采用 RFC 3339 格式。
updated NULLABLE TIMESTAMP 对象元数据的修改时间,采用 RFC 3339 格式。
timeStorageClassUpdated NULLABLE TIMESTAMP 对象的存储类别上次更改的时间。
retentionExpirationTime NULLABLE TIMESTAMP 可以删除对象的最早时间,取决于为对象设置的任何保留配置以及为包含该对象的存储桶设置的任何保留政策retentionExpirationTime 的值以 RFC 3339 格式提供。
softDeleteTime NULLABLE DATETIME 对象被软删除的时间。仅适用于具有软删除政策的存储桶中的对象。
hardDeleteTime NULLABLE DATETIME 软删除的对象被永久删除且无法再恢复的时间。该值是 softDeleteTime 值与相应存储桶的 softDeletePolicy.retentionDurationSeconds 值之和。仅适用于具有软删除政策的存储桶中的对象。
project NULLABLE INTEGER 相应存储桶所属项目的编号。

最新的存储桶和对象元数据快照

关联的数据集通过以下专用视图公开了存储桶和对象元数据的最新快照:

  • bucket_attributes_latest_snapshot_view 表可提供 Cloud Storage 存储桶的最新元数据。其结构与存储桶元数据架构相匹配。

  • object_attributes_latest_snapshot_view 表可提供 Cloud Storage 对象的最新元数据。其结构与对象元数据架构相匹配。

项目元数据

关联的数据集会将项目元数据公开为一个名为 project_attributes_view 的视图:

元数据字段 模式 类型 说明
snapshotTime NULLABLE TIMESTAMP snapshotTime 字段以 RFC 3339 格式保存项目元数据快照的刷新时间。
name NULLABLE STRING 项目的名称。
id NULLABLE STRING 项目的唯一标识符。
number NULLABLE INTEGER 与项目关联的数值。

活动数据表的数据集架构

Storage Insights 数据集提供活动数据,包括运营指标、错误日志和具有可自定义范围的汇总视图,以满足各种分析需求。以下部分介绍了活动数据架构以及其中提供的数据。

对象活动数据

Storage Insights数据集中的 object_events_view 表提供了可查询的记录,其中包含对象创建、更新和删除操作、元数据,以及在这些操作期间遇到的错误的相关详细信息。您可以通过查询 object_events_view 视图,使用这些数据来跟踪和排查存储资产的更改。object_events_view 视图中的数据范围限定为您的 Storage Intelligence 订阅,并列出了其中的所有已启用对象。

object_events_view 表包含以下字段:

字段 模式 类型 说明
requestCompletionTimestamp NULLABLE TIMESTAMP 请求完成时的时间戳,采用 RFC 3339 格式
project NULLABLE INTEGER 拥有相应存储桶资源的项目编号。
bucketName NULLABLE STRING 请求中指定的存储桶的名称。
objectName NULLABLE STRING 请求中指定对象的名称。此字段可为 null。
requestOperation NULLABLE STRING 执行的 Cloud Storage 操作。此字段仅限于写入、更新和删除操作,可以为 null。
requestBytes NULLABLE INTEGER 请求中发送的字节数。
responseBytes NULLABLE INTEGER 响应中发送的字节数。
requestProcessingTimeMicros NULLABLE INTEGER 服务器处理请求所用的时间(以微秒为单位)。 此时间从收到第一个字节开始计算,直到发送响应为止。对于可续传上传,最终上传请求的响应会确定端点。
requestId NULLABLE STRING 相应请求的标识符。
requestHost NULLABLE STRING 原始请求中指定的主机。
requestHttpMethod NULLABLE STRING 相应请求所使用的 HTTP 方法。
responseStatus NULLABLE INTEGER 服务器响应中发送的 HTTP 状态代码。
requestReferrer NULLABLE STRING 请求的 HTTP 引荐来源网址。
size NULLABLE INTEGER 此对象的大小(以字节为单位)。
generation NULLABLE INTEGER 对象的内容世代,用于对象版本控制。
timeCreated NULLABLE TIMESTAMP 对象的创建时间,采用 RFC 3339 格式
storageClass NULLABLE STRING 对象的存储类别。
errorReason NULLABLE STRING 错误原因(仅限 429 错误)。
location NULLABLE STRING 对象的位置。

项目活动视图

project_activity_view 表可提供项目中的汇总运营分析洞见。该表通过统计操作类型、传输的字节数以及响应代码和错误来汇总总活动。您可以使用项目活动数据分析进行监控、跟踪和内部费用归因。视图中的数据取决于您的 Storage Intelligence 订阅范围。该视图仅显示订阅中已有效启用的存储桶和对象的汇总数据。例如,如果您仅为 10 个特定存储桶启用 Storage Intelligence,则该视图将仅显示这 10 个存储桶的数据。反之,如果您在较高级别(组织、文件夹或项目)启用 Storage Intelligence,则该范围内的所有存储桶和对象都会自动纳入其中,并且视图会显示这些存储桶和对象的汇总数据。

project_activity_view 表包含以下字段:

字段 模式 类型 说明
snapshotStartTime NULLABLE TIMESTAMP 快照的开始时间,采用 RFC 3339 格式
snapshotEndTime NULLABLE TIMESTAMP 快照的结束时间,采用 RFC 3339 格式
project NULLABLE INTEGER 项目编号。
totalRequests NULLABLE INTEGER 整个项目中的请求总数。
totalReads NULLABLE INTEGER 读取操作的总次数。
totalWrites NULLABLE INTEGER 写入操作的总次数。
totalUpdates NULLABLE INTEGER 更新操作的总次数。
totalDeletes NULLABLE INTEGER 删除操作的总数。
totalLists NULLABLE INTEGER 列表操作的总次数。
totalRequestBytes NULLABLE INTEGER 传输的请求字节总数。
totalResponseBytes NULLABLE INTEGER 已传输的响应字节总数。
count4xx NULLABLE INTEGER 4xx 错误的总数。
count5xx NULLABLE INTEGER 5xx 错误总数。
count2xx NULLABLE INTEGER 2xx 成功响应的总数。
count400 NULLABLE INTEGER 错误请求的 400 错误总数。
count401 NULLABLE INTEGER 未经授权的请求的 401 错误总数。
count403 NULLABLE INTEGER 禁止的请求的 403 错误总数。
count429 NULLABLE INTEGER 用量限额超出请求的 429 错误总数。

存储桶活动视图

bucket_activity_view 表可提供有关您所有存储桶的汇总运营数据分析。该表通过统计操作类型、传输的字节数、响应代码、错误来汇总总活动,并包含有关热门前缀的详细信息。您可以使用存储桶活动数据分析来监控存储桶级活动、排查问题、衡量用量,以及分析最活跃和最不活跃的存储桶。bucket_activity_view 表中的数据范围限定为您的 Storage Intelligence 订阅,并且包含所有已启用状态的存储桶的记录。

bucket_activity_view 表包含以下字段:

字段 模式 类型 说明
snapshotStartTime NULLABLE TIMESTAMP 快照的开始时间,采用 RFC 3339 格式
snapshotEndTime NULLABLE TIMESTAMP 快照的结束时间,采用 RFC 3339 格式
name NULLABLE STRING 存储分区的名称。
generation NULLABLE INTEGER 相应存储桶的世代编号。
project NULLABLE INTEGER 项目编号。
location NULLABLE STRING 相应存储桶的位置。
totalRequests NULLABLE INTEGER 对相应存储桶发出的请求总数。
totalReads NULLABLE INTEGER 读取操作的总次数。
totalWrites NULLABLE INTEGER 写入操作的总次数。
totalUpdates NULLABLE INTEGER 更新操作的总次数。
totalDeletes NULLABLE INTEGER 删除操作的总数。
totalLists NULLABLE INTEGER 列表操作的总次数。
totalRequestBytes NULLABLE INTEGER 传输的请求字节总数。
totalResponseBytes NULLABLE INTEGER 已传输的响应字节总数。
count4xx NULLABLE INTEGER 4xx 错误的总数。
count5xx NULLABLE INTEGER 5xx 错误总数。
count2xx NULLABLE INTEGER 2xx 成功响应的总数。
count400 NULLABLE INTEGER 错误请求的 400 错误总数。
count401 NULLABLE INTEGER 未经授权的请求的 401 错误总数。
count403 NULLABLE INTEGER 禁止的请求的 403 错误总数。
count429 NULLABLE INTEGER 因超出用量限额而导致的 429 错误的总数。
topPrefixes429Errors REPEATED RECORD 出现 429 错误次数最多的前 5 个存储桶前缀,以 RECORD 形式返回,其中包含前缀(以 STRING 形式)和错误计数(以 INTEGER 形式)。
topPrefixesRequestBytes REPEATED RECORD 请求字节数最多的前 5 个存储桶前缀,以 RECORD 形式返回,其中包含前缀(以 STRING 形式)和数量(以 INTEGER 形式)。
topPrefixesResponseBytes REPEATED RECORD 响应字节数最多的前 5 个存储桶前缀,以 RECORD 形式返回,其中包含前缀(以 STRING 形式)和数量(以 INTEGER 形式)。
topPrefixesHighestOperations REPEATED RECORD 操作次数最多的前 5 个存储桶前缀,以 RECORD 形式返回,其中包含前缀(以 STRING 形式)和数量(以 INTEGER 形式)。

存储桶区域活动视图

bucket_region_activity_view 表按目标区域汇总了存储桶的总发送字节数和总接收字节数。使用存储桶活动区域数据可确定最活跃的区域,从而帮助您确定最佳存储桶位置、分析区域流出情况,并根据需要考虑存储桶重定位,以优化性能、费用或弹性。bucket_region_activity_view 表中的数据范围限定为您的 Storage Intelligence 订阅,并包含所有已启用状态的存储桶的记录。

字段 模式 类型 说明
snapshotStartTime NULLABLE TIMESTAMP 快照的开始时间,采用 RFC 3339 格式
snapshotEndTime NULLABLE TIMESTAMP 快照的结束时间,采用 RFC 3339 格式
project NULLABLE INTEGER 相应存储桶的项目编号。
name NULLABLE STRING 存储分区的名称。
generation NULLABLE INTEGER 相应存储桶的世代编号。
requestLocation NULLABLE STRING 发起请求的 Google Cloud 位置。
bucketLocation NULLABLE STRING 相应存储桶的位置。
requestBytes NULLABLE INTEGER 指定存储桶和位置之间请求的传输总字节数。
responseBytes NULLABLE INTEGER 指定存储桶和位置之间响应的传输总字节数。

事件和错误的相应数据集架构

在关联的数据集中,您还可以在 events_viewerror_attributes_view 视图中查看快照处理事件和错误。如需排查快照处理错误,请参阅排查数据集错误

事件日志

您可以在关联数据集的 events_view 视图中查看事件日志:

元数据字段 模式 类型 说明
manifest.snapshotTime NULLABLE TIMESTAMP RFC 3339 格式表示的事件快照刷新时间。
manifest.viewName NULLABLE STRING 刷新视图的名称。
manifest.location NULLABLE STRING 刷新数据的来源位置。
globalManifest.snapshotTime NULLABLE TIMESTAMP 所有来源位置的存储桶和对象属性表的提取完成时间,采用 RFC 3339 格式
eventTime NULLABLE TIMESTAMP 事件发生的时间。
eventCode NULLABLE STRING 与相应条目关联的事件代码。eventCode 值如下所示:
  • eventCode 1 表示 manifest.viewName 视图已刷新,其中包含快照 (manifest.snapshotTime) 中来源位置 (manifest.location) 的所有条目。
  • eventCode 2 表示数据集已刷新,其中包含所有来源位置的存储桶和对象条目。刷新发生在快照 (globalManifest.snapshotTime) 内。
  • eventCode 3 表示每次完成活动视图的数据处理后,系统都会发布相应数据集。相应的 eventMessageDATA_REFRESH_ACTIVITY_JOURNAL。事件代码 3 是指活动 manifest.viewName 视图已刷新,其中包含日志窗口内来源位置 manifest.location 的所有条目。

错误代码

您可以在关联数据集的 error_attributes_view 表中查看错误代码:

元数据字段 模式 类型 说明
errorCode NULLABLE INTEGER 与相应条目关联的错误代码。如需查看有效值列表以及了解如何解决这些错误,请参阅排查数据集错误
errorSource NULLABLE STRING 错误的来源。有效值:CONFIGURATION_PREPROCESSING
errorTime NULLABLE TIMESTAMP 发生错误的时间。
sourceGcsLocation NULLABLE STRING 相应错误的来源 Cloud Storage 位置。对于项目,此字段为 null,因为项目不与位置相关联。
bucketErrorRecord.bucketName NULLABLE STRING 涉及相应错误的存储桶的名称。您可以使用此信息来消除存储桶错误。
bucketErrorRecord.serviceAccount NULLABLE STRING 需要具备从相应存储桶提取对象权限的服务账号。您可以使用此信息来消除存储桶错误。
projectErrorRecord.projectNumber NULLABLE INTEGER 发生错误的项目编号。您可以使用此信息来消除项目错误。
projectErrorRecord.organizationName NULLABLE STRING 项目必须属于的组织名称,以便进行处理。值为 0 表示相应项目不在组织中。您可以使用此信息来消除项目错误。

排查数据集错误

如需排查关联数据集中 error_attributes_view 视图中记录的快照处理错误,请参阅下表:

错误代码 错误案例 错误消息 问题排查
1 源项目不属于相应组织 源项目 projectErrorRecord.projectNumber 不属于组织 projectErrorRecord.organizationName 将源项目 projectErrorRecord.projectNumber 添加到组织 projectErrorRecord.organizationName。如需了解如何在组织之间迁移项目,请参阅在组织之间迁移项目
2 存储桶授权错误 没有权限为存储桶 bucketErrorRecord.bucketName 注入对象。 向服务账号授予 bucketErrorRecord.serviceAccount Identity and Access Management (IAM) 权限,以允许为存储桶 bucketErrorRecord.bucketName 注入对象。如需了解详情,请参阅向服务代理授予所需权限
3 目标项目不属于相应组织 目标项目 projectErrorRecord.projectNumber 不属于组织 projectErrorRecord.organizationName 将目标项目 projectErrorRecord.projectNumber 添加到组织 projectErrorRecord.organizationName。如需了解如何在组织之间迁移项目,请参阅在组织之间迁移项目
4 源项目未配置Storage Intelligence。 源项目 projectErrorRecord.projectNumber 未配置Storage Intelligence。 为源项目 projectErrorRecord.projectNumber 配置Storage Intelligence。如需了解详情,请参阅配置和管理Storage Intelligence
5 存储桶未配置Storage Intelligence。 存储桶 bucketErrorRecord.bucketName 未配置Storage Intelligence。 为存储桶 bucketErrorRecord.bucketName 配置 Storage Intelligence。如需了解详情,请参阅配置和管理Storage Intelligence
6 存储桶访问身份验证错误 针对存储桶 bucketErrorRecord.bucketNameACTIVITY_BUCKET_ACCESS_AUTHORIZATION_ERROR 向服务账号授予 bucketErrorRecord.serviceAccount Identity and Access Management (IAM) 权限,以允许为存储桶 bucketErrorRecord.bucketName 注入活动。如需了解详情,请参阅向服务代理授予所需权限

后续步骤