本文档介绍了如何配置存储空间分析数据集。
准备工作
在配置数据集之前,请完成以下步骤。
获取所需的角色
如需获得配置数据集所需的权限,请让管理员向您授予源项目的以下 IAM 角色:
-
配置数据集:Storage Insights Admin (
roles/storageinsights.admin) -
关联数据集:
-
Storage Insights Analyst (
roles/storageinsights.analyst) -
BigQuery Admin (
roles/bigquery.admin)
-
Storage Insights Analyst (
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
这些预定义角色包含配置数据集所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
您必须拥有以下权限才能配置数据集:
-
配置数据集:
-
storageinsights.datasetConfigs.create -
storage.buckets.getObjectInsights
-
-
指向 BigQuery 数据集的链接:
storageinsights.datasetConfigs.linkDataset
启用 Storage Insights API
控制台
命令行
如需在当前项目中启用 Storage Insights API,请运行gcloud services enable命令:
gcloud services enable storageinsights.googleapis.com
如需详细了解如何为 Google Cloud 项目启用服务,请参阅启用和停用服务。
配置 Storage Intelligence
确保已为要使用数据集分析的项目、文件夹或组织配置Storage Intelligence。
创建数据集配置
如需创建数据集配置,请按照下列步骤操作。如需详细了解可为数据集配置指定的字段,请参阅存储空间分析数据集的工作原理。
控制台
- 在 Google Cloud 控制台中,前往 Cloud Storage Storage Insights页面。
点击配置数据集。
在为数据集命名部分中,输入数据集的名称。 (可选)输入数据集的说明。名称用于标识数据集配置,且不可更改。名称最多可包含 128 个字符,包括字母、数字和下划线,并且必须以字母开头。
在定义数据集范围部分,执行以下操作:
从下列选项中选择一项:
如需获取当前组织中所有项目的存储空间元数据,请选择包含组织。
如需获取所选文件夹中所有项目的存储空间元数据,请选择包含文件夹(子组织/部门)。如需了解如何获取文件夹 ID,请参阅查看或列出文件夹和项目。 如需添加文件夹,请执行以下操作:
- 在文件夹 1 字段中,输入文件夹 ID。
- (可选)如需添加多个文件夹 ID,请点击+ 添加其他文件夹。
如需获取所选项目的存储元数据,请选择通过提供项目编号来添加项目。如需了解如何查找项目编号,请参阅查找项目名称、编号和 ID。如需添加项目,请执行以下操作:
- 在项目 1 字段中,输入项目编号。
- (可选)如需添加多个项目编号,请点击 + 添加其他项目。
如需批量添加项目或文件夹,请选择通过 CSV 文件上传项目/文件夹列表。CSV 文件必须包含要纳入数据集的项目编号或文件夹 ID。您可以在一个数据集配置中指定最多 10,000 个项目或文件夹。
指定是否要自动包含所选资源中未来创建的存储分区。
(可选)如需根据区域和存储分区前缀指定存储分区过滤条件,请展开过滤条件(可选)部分。过滤条件以累加方式应用于存储桶。
您可以包含或排除特定区域中的存储桶。例如,您可以排除位于
me-central1和me-central2区域中的存储分区。您还可以按前缀包含或排除存储桶。 例如,如需排除以my-bucket开头的存储分区,请输入my-bucket*前缀。
点击继续。
在选择保留期限部分中,为数据集中的数据选择保留期限。
活动数据默认包含在数据集中,并沿用数据集的保留期限。如需替换数据集保留期限,请选择为活动数据指定保留期限,然后选择活动数据的保留天数。 如需停用活动数据,请将保留期限设置为
0天。在选择用于存储所配置的数据集的位置部分中,选择用于存储数据集的位置。例如
us-central1。在选择服务账号类型部分中,为数据集选择服务代理类型。为数据集选择配置级或项目级服务代理。
点击配置。
命令行
如需创建数据集配置,请运行
gcloud storage insights dataset-configs create命令并添加必需的标志:gcloud storage insights dataset-configs create DATASET_CONFIG_ID \ --location=LOCATION \ --organization=SOURCE_ORG_NUMBER \ --retention-period-days=DATASET_RETENTION_PERIOD_DAYS \ (SCOPE_FLAG)
您需要进行如下替换:
将
DATASET_CONFIG_ID替换为数据集配置的名称。名称用于标识数据集配置,且不可更改。名称最多可包含 128 个字符,包括字母、数字和下划线,并且必须以字母开头。将
LOCATION替换为用于存储数据集的位置。例如us-central1。将
DATASET_RETENTION_PERIOD_DAYS替换为数据集中数据的保留期限。SCOPE_FLAG以及以下标志之一,用于定义要收集的数据的范围:--enable-organization-scope:使数据集能够从组织中的所有存储桶收集分析洞见。--source-folders=[SOURCE_FOLDER_NUMBERS,...]:指定要包含在数据集中的文件夹编号的列表。如需了解如何查找文件夹编号,请参阅列出层次结构中的所有项目和文件夹。--source-folders-file=FILE_PATH:通过将 CSV 文件上传到存储桶来指定多个文件夹编号。--source-projects=[SOURCE_PROJECT_NUMBERS,...]:指定要包含在数据集中的项目编号的列表。例如464036093014。如需查找项目编号,请参阅查找项目名称、编号和 ID。--source-projects-file=FILE_PATH:通过将 CSV 文件上传到存储桶来指定多个项目编号。
您可以选择使用以下其他标志来配置数据集:
使用
--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为数据集配置添加说明。使用
--activity-data-retention-period-days=ACTIVITY_RETENTION_PERIOD_DAYS可指定数据集中活动数据的保留期限。默认情况下,活动数据包含在数据集中,并沿用数据集的保留期限。如需替换数据集保留期限,请指定活动数据的保留天数。如需排除活动数据,请将 ACTIVITY_RETENTION_PERIOD_DAYS 设置为0。
以下示例在
us-central1区域中为 ID 为123456789的组织创建名为my-dataset的数据集配置,保留期限为30天,范围限定为项目987654321和123123123:gcloud storage insights dataset-configs create my-dataset \ --location=us-central1 \ --organization=123456789 \ --retention-period-days=30 \ --source-projects=987654321,123123123
JSON API
安装并初始化 gcloud CLI,以便为
Authorization标头生成访问令牌。创建一个包含以下信息的 JSON 文件:
{ "sourceProjects": { "project_numbers": ["PROJECT_NUMBERS", ...] }, "retentionPeriodDays": "RETENTION_PERIOD_DAYS", "activityDataRetentionPeriodDays": "ACTIVITY_DATA_RETENTION_PERIOD_DAYS", "identity": { "type": "IDENTITY_TYPE" } }
您需要进行如下替换:
将
PROJECT_NUMBERS替换为您要包含在数据集中的项目的编号。您可以指定一个项目或多个项目。项目必须指定为字符串列表。或者,您也可以添加组织,或添加包含要更新元数据的存储分区和对象的一个或多个文件夹。如需添加文件夹或组织,请使用
sourceFolders或organizationScope字段。 如需了解详情,请参阅DatasetConfig参考文档。将
RETENTION_PERIOD_DAYS替换为要在数据集快照中捕获的数据天数。例如90。ACTIVITY_DATA_RETENTION_PERIOD_DAYS,其中包含要在数据集快照中捕获的活动数据的天数。默认情况下,活动数据包含在数据集中,并沿用数据集的保留期限。如需替换数据集保留期限,请指定活动数据的保留天数。如需排除活动数据,请将 ACTIVITY_RETENTION_PERIOD_DAYS 设置为0。将
IDENTITY_TYPE替换为与数据集配置一起创建的服务账号的类型。值为IDENTITY_TYPE_PER_CONFIG或IDENTITY_TYPE_PER_PROJECT。 如需了解详情,请参阅服务代理类型。
如需创建数据集配置,请使用
cURL通过CreateDatasetConfig 请求调用 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 $(gcloud auth print-access-token --impersonate-service-account=SERVICE_ACCOUNT)" \ --header "Accept: application/json" \ --header "Content-Type: application/json"
您需要进行如下替换:
将
JSON_FILE_NAME替换为您在上一步中创建的 JSON 文件的路径。或者,您也可以在请求正文中传递DatasetConfig的实例。将
PROJECT_ID替换为数据集配置和数据集所属的项目 ID。将
LOCATION替换为数据集和数据集配置将驻留的位置。例如us-central1。将
DATASET_CONFIG_ID替换为数据集配置的名称。名称用于标识数据集配置,且不可更改。名称最多可包含 128 个字符,包括字母、数字和下划线,并且必须以字母开头。将
SERVICE_ACCOUNT替换为服务账号。例如test-service-account@test-project.iam.gserviceaccount.com。
如需对 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 Storage Insights页面。
点击生成要关联的数据集的数据集配置的名称。
在 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。
您还可以指定完整的数据集配置路径。例如:
gcloud storage insights dataset-configs create-link projects/DESTINATION_PROJECT_ID/locations/LOCATION/datasetConfigs/DATASET_CONFIG_ID
您需要进行如下替换:
JSON API
安装并初始化 gcloud CLI,以便为
Authorization标头生成访问令牌。使用
cURL,通过linkDatasetDatasetConfig 请求调用 JSON API:curl -X POST \ "https://storageinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasetConfigsDATASET_CONFIG_ID:linkDataset?" \ --header "Authorization: Bearer $(gcloud auth print-access-token --impersonate-service-account=SERVICE_ACCOUNT)" \ --header "Accept: application/json" \ --header "Content-Type: application/json"您需要进行如下替换:
后续步骤
- 查看关联的数据集。
- 查询关联数据集。
- 使用 Gemini Cloud Assist 分析存储的数据。
- 管理数据集配置,包括更新、查看、列出和删除数据集配置。