本页介绍了如何创建和管理 Storage Insights 数据集和数据集配置。详细了解存储空间分析数据集。
准备工作
在开始创建和管理数据集和数据集配置之前,请按照后续小节中的说明操作。
获取所需的角色
如需获得创建和管理数据集所需的权限,请让您的管理员为您授予源项目的以下 IAM 角色:
-
如需创建、管理和查看数据集配置,请授予以下角色:Storage Insights Admin (
roles/storageinsights.admin
) -
如需查看、关联和解除关联数据集,请执行以下操作:
-
Storage Insights Analyst (
roles/storageinsights.analyst
) -
BigQuery Admin (
roles/bigquery.admin
)
-
Storage Insights Analyst (
-
如需删除关联的数据集,请使用 BigQuery Admin (
roles/bigquery.admin
) -
如需在 BigQuery 中查看和查询数据集,请执行以下操作:
-
Storage Insights Viewer (
roles/storageinsights.viewer
) -
BigQuery Job User (
roles/bigquery.jobUser
) -
BigQuery Data Viewer (
roles/bigquery.dataViewer
)
-
Storage Insights Viewer (
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
这些预定义角色包含创建和管理数据集所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需创建和管理数据集,需要具备以下权限:
-
创建数据集配置:
storageinsights.datasetConfigs.create
-
查看数据集配置:
-
storageinsights.datasetConfigs.get
-
storageinsights.datasetConfigs.list
-
-
管理数据集配置:
-
storageinsights.datasetConfigs.update
-
storageinsights.datasetConfigs.delete
-
-
指向 BigQuery 数据集的链接:
storageinsights.datasetConfigs.linkDataset
-
解除与 BigQuery 数据集的关联:
storageinsights.datasetConfigs.unlinkDataset
-
查询 BigQuery 关联的数据集:
bigquery.jobs.create or bigquery.jobs.*
启用 Storage Insights API
控制台
命令行
如需在当前项目中启用 Storage Insights API,请运行以下命令:
gcloud services enable storageinsights.googleapis.com
如需详细了解如何为 Google Cloud 项目启用服务,请参阅启用和停用服务。
配置存储空间分析情报
确保您要使用数据集分析的项目、文件夹或组织已配置存储空间智能。
创建数据集配置
如需创建数据集配置并生成数据集,请按照以下步骤操作。如需详细了解您在创建数据集配置时可以指定的字段,请参阅数据集配置属性。
控制台
- 在 Google Cloud 控制台中,前往 Cloud Storage 的存储空间分析页面。
点击配置数据集。
在为数据集命名部分,输入数据集的名称。(可选)输入数据集的说明。
在定义数据集范围部分中,执行以下操作:
从下列选项中选择一项:
如需获取当前组织中所有项目的存储元数据,请选择包含组织。
如需获取所选文件夹中所有项目的存储元数据,请选择包含文件夹(子组织/部门)。如需了解如何获取文件夹 ID,请参阅查看或列出文件夹和项目。如需添加文件夹,请执行以下操作:
- 在 Folder 1(文件夹 1)字段中,输入文件夹 ID。
- (可选)如需添加多个文件夹 ID,请点击 + 添加其他文件夹。
如需获取所选项目的存储元数据,请选择通过提供项目编号来包含项目。如需了解如何查找项目编号,请参阅查找项目名称、编号和 ID。如需添加项目,请执行以下操作:
- 在 Project 1 字段中,输入项目编号。
- (可选)如需添加多个项目编号,请点击 + 添加其他项目。
如需批量添加项目或文件夹,请选择通过 CSV 文件上传项目 /文件夹列表。CSV 文件必须包含您要纳入数据集中的项目编号或文件夹 ID。
指定您是否希望在所选资源中自动包含未来创建的存储分区。
(可选)如需根据区域和存储分区前缀为存储分区指定过滤条件,请展开过滤条件(可选)部分。过滤条件会以累加方式应用于存储分区。
您可以包含或排除特定区域中的存储分区。例如,您可以排除位于
me-central1
和me-central2
区域的存储分区。您还可以按前缀包含或排除存储分区。例如,如果您想排除以my-bucket
开头的存储分区,请输入my-bucket*
前缀。
点击继续。
在选择保留期限部分,为数据集中的数据选择保留期限。
在选择用于存储所配置的数据集的位置部分,选择用于存储数据集和数据集配置的位置。
在选择服务账号类型部分,为您的数据集选择服务代理类型。在您创建数据集配置时,系统会代表您创建此服务代理。您可以选择以下任一服务人员:
- 配置级范围的服务账号:此服务代理只能访问和写入由特定数据集配置生成的数据集。
- 项目级服务账号:此服务代理可以访问和写入根据项目中的所有数据集配置生成的数据集。
点击配置。
命令行
如需创建数据集配置,请运行带有所需标志的
gcloud storage insights dataset-configs create
命令:gcloud storage insights dataset-configs create DATASET_CONFG_ID \ --source-projects=SOURCE_PROJECT_NUMBERS \ --location=LOCATION \ --retention-period-days=RETENTION_PERIOD_DAYS \ --organization=ORGANIZATION_ID
您需要进行如下替换:
DATASET_CONFIG_ID
替换为您要为数据集配置指定的名称。名称用作数据集配置的标识符,并且可变。名称最多可包含 128 个字符,可使用字母、数字和下划线。SOURCE_PROJECT_NUMBERS
中包含您要包含在数据集中的项目的编号。例如464036093014
。您可以指定一个或多个项目。如需了解如何查找项目编号,请参阅查找项目名称、编号和 ID。除了使用
--source-projects
标志之外,您还可以使用--source-projects-file=FILE_PATH
标志,通过上传包含项目编号的文件一次性指定多个项目编号。该文件必须采用 CSV 格式,并且必须上传到 Cloud Storage。LOCATION
,其中包含数据集配置和数据集将存储到的位置。RETENTION_PERIOD_DAYS
,其中包含数据集中数据的保留期限。ORGANIZATION_ID
,其中包含来源项目所属组织的资源 ID。位于指定位置之外的源项目会从数据集配置中排除。如需了解如何查找组织 ID,请参阅获取组织资源 ID。
(可选)您可以使用其他标志来精细配置数据集:
使用
--include-buckets=BUCKET_NAMES_OR_REGEX
可按名称或正则表达式包含特定存储分区。如果使用此标志,则无法使用--exclude-buckets
。使用
--exclude-buckets=BUCKET_NAMES_OR_REGEX
可按名称或正则表达式排除特定存储分区。如果使用此标志,则无法使用--include-buckets
。使用
--project=DESTINATION_PROJECT_ID
指定用于存储数据集配置和生成的数据集的项目。如果未使用此标志,目标项目将是您的活动项目。如需详细了解项目 ID,请参阅创建和管理项目。使用
--auto-add-new-buckets
可自动包含日后添加到源代码项目中的所有存储分区。使用
--skip-verification
跳过验证流程中的检查和失败,包括对所需 IAM 权限的检查。如果使用了此参数,系统可能会从数据集中排除部分或全部存储分区。使用
--identity=IDENTITY_TYPE
指定与数据集配置一起创建的服务代理的类型。值为IDENTITY_TYPE_PER_CONFIG
或IDENTITY_TYPE_PER_PROJECT
。如果未指定,则默认为IDENTITY_TYPE_PER_CONFIG
。使用
--description=DESCRIPTION
为数据集配置编写说明。
REST API
JSON API
安装并初始化 gcloud CLI,以便为
Authorization
标头生成访问令牌。创建一个包含以下信息的 JSON 文件:
{ "organization_number": "ORGANIZATION_ID", "source_projects": { "project_numbers": ["PROJECT_NUMBERS", ...] }, "retention_period_days": "RETENTION_PERIOD_DAYS", "identity": { "type": "IDENTITY_TYPE" } }
您需要进行如下替换:
ORGANIZATION_ID
,其中包含源项目所属 组织的资源 ID。如需了解如何查找组织 ID,请参阅获取组织资源 ID。PROJECT_NUMBERS
中包含您要包含在数据集中的项目编号。您可以指定一个项目或多个项目。项目必须指定为字符串列表。RETENTION_PERIOD_DAYS
,用于指定要在数据集快照中捕获的数据天数。例如90
。IDENTITY_TYPE
,其中包含与数据集配置一起创建的服务账号的类型。值为IDENTITY_TYPE_PER_CONFIG
或IDENTITY_TYPE_PER_PROJECT
。
如需创建数据集配置,请使用
cURL
通过Create
DatasetConfig 请求调用 JSON API:curl -X POST --data-binary @JSON_FILE_NAME \ "https://storageinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasetConfigs?datasetConfigId=DATASET_CONFIG_ID" \ --header "Authorization: Bearer ACCESS_TOKEN" \ --header "Accept: application/json" \ --header "Content-Type: application/json"
您需要进行如下替换:
将
JSON_FILE_NAME
替换为您在上一步中创建的 JSON 文件的路径。或者,您也可以在请求正文中传递DatasetConfig
实例。PROJECT_ID
,其中包含数据集配置和数据集将所属的项目 ID。LOCATION
为数据集和数据集配置将驻留的位置。例如us-central1
。将
DATASET_CONFIG_ID
替换为您要为数据集配置指定的名称。名称用作数据集配置的标识符,不可更改。名称最多可包含 128 个字符,可使用字母、数字和下划线。名称必须以字母开头。ACCESS_TOKEN
替换为您在安装并初始化 Google Cloud CLI 时生成的访问令牌。
如需排查 error_attributes_view
中记录的快照处理错误,请参阅 Storage Insights 数据集错误。
向服务代理授予所需权限
Google Cloud 会在您创建数据集配置时代表您创建配置级或项目级服务代理。服务代理遵循命名格式 service-PROJECT_NUMBER@gcp-sa-storageinsights.iam.gserviceaccount.com
,并显示在 Google Cloud 控制台的 IAM 页面上(如果您选择包括 Google 提供的角色授权复选框)。您还可以使用 JSON API 查看 DatasetConfig
资源,找到服务客服人员的姓名。
如需允许存储空间分析生成和写入数据集,请让您的管理员向服务代理授予包含源项目的组织的 Storage Insights Collector Service 角色 (roles/storage.insightsCollectorService
)。必须向为您要从中获取数据的每个数据集配置创建的每个配置级服务代理授予此角色。如果您使用的是项目级范围的服务代理,则只需授予此角色一次,服务代理便可读取和写入项目中所有数据集配置的数据集。
如需了解如何授予项目角色,请参阅管理访问权限。
关联数据集
如需将数据集关联到 BigQuery,请完成以下步骤:
控制台
- 在 Google Cloud 控制台中,前往 Cloud Storage 的存储空间分析页面。
点击生成要关联的数据集的数据集配置的名称。
在 BigQuery 中关联的数据集部分,点击关联数据集以关联数据集。
命令行
如需将数据集关联到 BigQuery,请运行
gcloud storage insights dataset-configs create-link
命令:gcloud storage insights dataset-configs create-link DATASET_CONFIG_ID --location=LOCATION
您需要进行如下替换:
将
DATASET_CONFIG_ID
替换为生成要关联的数据集的数据集配置的名称。LOCATION
为数据集的位置。例如us-central1
。
除了指定
DATASET_CONFIG_NAME
和LOCATION
之外,您还可以指定完整的数据集配置路径。例如:gcloud storage insights dataset-configs create-link projects/DESTINATION_PROJECT_ID/locations/LOCATION/datasetConfigs/DATASET_CONFIG_ID_
您需要进行如下替换:
REST API
JSON API
安装并初始化 gcloud CLI,以便为
Authorization
标头生成访问令牌。创建一个包含以下信息的 JSON 文件:
{ "name": "DATASET_NAME" }
您需要进行如下替换:
- 将
DATASET_NAME
替换为要关联的数据集的名称。例如my_project.my_dataset276daa7e_2991_4f4f_b9d4_e354b48426a2
。
- 将
使用
cURL
,通过linkDataset
DatasetConfig 请求调用 JSON API:curl --request POST --data-binary @JSON_FILE_NAME \ "https://storageinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasetConfigsDATASET_CONFIG_ID:linkDataset?" \ --header "Authorization: Bearer ACCESS_TOKEN" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \
您需要进行如下替换:
查看和查询关联的数据集
如需查看和查询关联的数据集,请按以下步骤操作:
- 在 Google Cloud 控制台中,前往 Cloud Storage 的存储空间分析页面。
系统会显示在您的项目中创建的数据集配置列表。
点击要查看的数据集配置的 BigQuery 关联数据集。
关联的 BigQuery 数据集会显示在 Google Cloud 控制台中。如需了解元数据的数据集架构,请参阅元数据的数据集架构。
您可以按照与查询任何其他 BigQuery 表相同的方式查询关联的数据集中的表和视图。
解除关联数据集
如需停止将数据集配置发布到 BigQuery 数据集,请解除数据集关联。如需解除数据集的关联,请完成以下步骤:
控制台
- 在 Google Cloud 控制台中,前往 Cloud Storage 的存储空间分析页面。
点击生成要解除关联的数据集的数据集配置的名称。
在 BigQuery 关联的数据集部分,点击解除数据集关联以解除数据集关联。
命令行
如需解除数据集的关联,请运行
gcloud storage insights dataset-configs delete-link
命令:gcloud storage insights dataset-configs delete-link DATASET_CONFIG_ID --location=LOCATION
您需要进行如下替换:
将
DATASET_CONFIG_ID
替换为生成要解除关联的数据集的数据集配置的名称。LOCATION
替换为数据集和数据集配置的位置。例如us-central1
。
除了指定
DATASET_CONFIG_NAME
和LOCATION
之外,您还可以指定完整的数据集配置路径。例如:gcloud storage insights dataset-configs delete-link projects/DESTINATION_PROJECT_ID/locations/LOCATION/datasetConfigs/DATASET_CONFIG_ID
您需要进行如下替换:
REST API
JSON API
安装并初始化 gcloud CLI,以便为
Authorization
标头生成访问令牌。创建一个包含以下信息的 JSON 文件:
{ "name": "DATASET_NAME" }
您需要进行如下替换:
- 将
DATASET_NAME
替换为要解除关联的数据集的名称。例如my_project.my_dataset276daa7e_2991_4f4f_b9d4_e354b48426a2
。
- 将
使用
cURL
,通过unlinkDataset
DatasetConfig 请求调用 JSON API:curl --request POST --data-binary @JSON_FILE_NAME \ "https://storageinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasetConfigsDATASET_CONFIG_ID:unlinkDataset?" \ --header "Authorization: Bearer ACCESS_TOKEN" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \
您需要进行如下替换:
查看数据集配置
如需查看数据集配置,请完成以下步骤:
控制台
- 在 Google Cloud 控制台中,前往 Cloud Storage 的存储空间分析页面。
点击要查看的数据集配置的名称。
系统会显示数据集配置详细信息。
命令行
如需描述数据集配置,请运行
gcloud storage insights dataset-configs describe
命令:gcloud storage insights dataset-configs describe DATASET_CONFG_ID \ --location=LOCATION
您需要进行如下替换:
DATASET_CONFIG_ID
替换为数据集配置的名称。LOCATION
中包含数据集的位置和数据集配置。
除了指定
DATASET_CONFIG_NAME
和LOCATION
之外,您还可以指定完整的数据集配置路径。例如:gcloud storage insights dataset-configs describe projects/DESTINATION_PROJECT_ID/locations/LOCATION/datasetConfigs/DATASET_CONFIG_ID
您需要进行如下替换:
REST API
JSON API
安装并初始化 gcloud CLI,以便为
Authorization
标头生成访问令牌。使用
cURL
,通过Get
DatasetConfig 请求调用 JSON API:curl -X GET \ "https://storageinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasetConfigs/DATASET_CONFIG_ID" \ --header "Authorization: Bearer ACCESS_TOKEN" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \
您需要进行如下替换:
列出数据集配置
如需列出项目中的数据集配置,请完成以下步骤:
控制台
- 在 Google Cloud 控制台中,前往 Cloud Storage 的存储空间分析页面。
系统会显示数据集配置列表。
命令行
如需列出项目中的数据集配置,请运行
gcloud storage insights dataset-configs list
命令:gcloud storage insights dataset-configs list --location=LOCATION
您需要进行如下替换:
LOCATION
与数据集和数据集配置的位置。例如us-central1
。
您可以使用以下可选标志来指定商品详情调用的行为:
使用
--page-size
指定每页返回的结果数上限。使用
--filter=FILTER
过滤结果。如需详细了解如何使用--filter
标志,请运行gcloud topic filters
并参阅文档。使用
--sort-by=SORT_BY_VALUE
指定排序所依据的资源字段键名称的英文逗号分隔列表。例如--sort-by=DATASET_CONFIG_NAME
。
REST API
JSON API
安装并初始化 gcloud CLI,以便为
Authorization
标头生成访问令牌。使用
cURL
,通过Get
DatasetConfig 请求调用 JSON API:curl -X GET \ "https://storageinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasetConfigs" \ --header "Authorization: Bearer ACCESS_TOKEN" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \
您需要进行如下替换:
更新数据集配置
如需更新数据集配置,请完成以下步骤:
控制台
- 在 Google Cloud 控制台中,前往 Cloud Storage 的存储空间分析页面。
点击您要更新的数据集配置的名称。
在随即显示的数据集配置标签页中,点击修改图标
以更新字段。
命令行
如需更新数据集配置,请运行
gcloud storage insights dataset-configs update
命令:gcloud storage insights dataset-configs update DATASET_CONFG_ID \ --location=LOCATION
您需要进行如下替换:
DATASET_CONFIG_ID
替换为数据集配置的名称。LOCATION
中的数据集位置和数据集配置。
使用以下标志更新数据集配置的属性:
使用
--skip-verification
跳过验证流程中的检查和失败,包括对所需 IAM 权限的检查。如果使用了此参数,系统可能会从数据集中排除部分或全部存储分区。使用
--retention-period-days=DAYS
指定要在数据集快照中捕获的数据移动天数。例如90
。使用
--description=DESCRIPTION
为数据集配置编写说明。
REST API
JSON API
安装并初始化 gcloud CLI,以便为
Authorization
标头生成访问令牌。创建一个包含以下可选信息的 JSON 文件:
{ "organization_number": "ORGANIZATION_ID", "source_projects": { "project_numbers": "PROJECT_NUMBERS" }, "retention_period_days": RETENTION_PERIOD" }
您需要进行如下替换:
ORGANIZATION_ID
,其中包含源项目所属 组织的资源 ID。PROJECT_NUMBERS
中包含您要包含在数据集中的项目编号。您可以指定一个项目或多个项目。项目必须采用列表格式指定。RETENTION_PERIOD
,用于指定要在数据集快照中捕获的数据天数。例如90
。
如需更新数据集配置,请使用
cURL
通过Patch
DatasetConfig 请求调用 JSON API:curl -X PATCH --data-binary @JSON_FILE_NAME \ "https://storageinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasetConfigs/DATASET_CONFIG_ID?updateMask=RETENTION_PERIOD" \ --header "Authorization: Bearer ACCESS_TOKEN" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \
您需要进行如下替换:
删除数据集配置
如需删除数据集配置,请完成以下步骤:
控制台
- 在 Google Cloud 控制台中,前往 Cloud Storage 的存储空间分析页面。
点击要删除的数据集配置的名称。
点击删除
。
命令行
如需删除数据集配置,请运行
gcloud storage insights dataset-configs delete
命令:gcloud storage insights dataset-configs delete DATASET_CONFG_ID \ --location=LOCATION
您需要进行如下替换:
将
DATASET_CONFIG_ID
替换为您要删除的数据集配置的名称。LOCATION
与数据集和数据集配置的位置。例如us-central1
。
使用以下标志更新数据集配置的属性:
使用
--auto-delete-link
解除根据要删除的数据集配置生成的数据集的关联。您必须先解除数据集的关联,然后才能删除生成该数据集的数据集配置。使用
--retention-period-days=DAYS
指定要在数据集快照中捕获的天数。例如90
。
除了指定
DATASET_CONFIG_NAME
和LOCATION
之外,您还可以指定完整的数据集配置路径。例如:gcloud storage insights dataset-configs describe projects/DESTINATION_PROJECT_ID/locations/LOCATION/datasetConfigs/DATASET_CONFIG_ID
REST API
JSON API
安装并初始化 gcloud CLI,以便为
Authorization
标头生成访问令牌。使用
cURL
,通过Delete
DatasetConfig 请求调用 JSON API:curl -X DELETE \ "https://storageinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasetConfigs/DATASET_CONFIG_ID" \ --header "Authorization: Bearer ACCESS_TOKEN" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \
您需要进行如下替换: