本页介绍了如何创建和管理存储空间分析数据集和数据集配置。详细了解存储空间分析数据集。
准备工作
在开始创建和管理数据集及数据集配置之前,请按照后续子部分中的说明操作。
获取所需的角色
如需获得创建和管理数据集所需的权限,请让您的管理员为您授予源项目的以下 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 字段中,输入文件夹 ID。
- (可选)如需添加多个文件夹 ID,请点击+ 添加其他文件夹。
如需获取所选项目的存储元数据,请选择通过提供项目编号来纳入项目。如需了解如何查找项目编号,请参阅查找项目名称、编号和 ID。如需添加项目,请执行以下操作:
- 在项目 1 字段中,输入项目编号。
- (可选)如需添加多个项目编号,请点击 + 添加其他项目。
如需批量添加项目或文件夹,请选择通过 CSV 文件上传项目 /文件夹列表。CSV 文件必须包含您要纳入数据集的项目编号或文件夹 ID。
指定是否要自动包含所选资源中未来创建的存储分区。
(可选)如需根据区域和存储桶前缀指定存储桶过滤条件,请展开过滤条件(可选)部分。过滤条件以累加方式应用于分桶。
您可以包含或排除特定区域中的存储分区。例如,您可以排除位于
me-central1
和me-central2
区域中的存储分区。您还可以按前缀包含或排除存储分区。 例如,如果您想排除以my-bucket
开头的存储分区,请输入my-bucket*
前缀。
点击继续。
在选择保留期限部分中,为数据集中的数据选择保留期限。
在选择用于存储所配置的数据集的位置部分中,选择用于存储数据集和数据集配置的位置。
在选择服务账号类型部分中,为数据集选择服务代理类型。当您创建数据集配置时,系统会代表您创建此服务代理。您可以选择以下任一服务代理:
- 配置级服务账号:此服务代理只能访问和写入由特定数据集配置生成的数据集。
- 项目级服务账号:此服务代理可以访问和写入由项目中的所有数据集配置生成的数据集。
点击配置。配置数据集后,您最多可能需要等待 48 小时,才能在关联的数据集中查看首次加载的数据。
命令行
如需创建数据集配置,请运行
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 文件:
{ "organizationNumber": "ORGANIZATION_ID", "sourceProjects": { "project_numbers": ["PROJECT_NUMBERS", ...] }, "retentionPeriodDays": "RETENTION_PERIOD_DAYS", "identity": { "type": "IDENTITY_TYPE" } }
您需要进行如下替换:
将
ORGANIZATION_ID
替换为源项目所属 组织的资源 ID。如需了解如何查找组织 ID,请参阅获取组织资源 ID。PROJECT_NUMBERS
替换为要纳入数据集的项目编号。您可以指定一个或多个项目。项目必须指定为字符串列表。或者,您也可以添加组织,或添加包含要更新元数据的存储分区和对象的一个或多个文件夹。如需包含文件夹或组织,请分别使用
sourceFolders
或organizationScope
字段。如需了解详情,请参阅DatasetConfig
参考文档。将
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
中记录的快照处理错误,请参阅存储空间使用情况洞见数据集错误。
向服务代理授予所需权限
当您创建数据集配置时,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" \
您需要进行如下替换: