本页面介绍了如何创建和管理资产清单报告配置以及生成的资产清单报告,以便您可以获取给定存储桶中所有对象元数据的简略摘要。如需简要了解资产清单报告,请参阅资产清单报告概览文档。
准备工作
获取所需角色
为了获得创建和管理资产清单报告所需的权限,请让您的管理员向您授予将用于管理资产清单报告的项目或来源和目标存储桶的以下 IAM 角色。
要创建和管理清单报告配置,请授予以下角色:
针对源存储桶和目标存储桶的
roles/storage.admin针对项目的
roles/storageinsights.admin权限
如需读取和下载清单报告,请授予以下角色:
针对目标存储桶的
roles/storage.objectViewer针对项目的
roles/storageinsights.viewer权限
这些预定义角色包含创建和管理资产清单报告和配置所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需创建和管理清单报告配置,请授予以下角色:
- 针对源存储桶的
storage.buckets.get - 针对源存储桶的
storage.objects.list - 针对源存储桶的
storage.buckets.getObjectInsights - 针对目标存储桶的
storage.buckets.get - 针对目标存储桶的
storage.objects.create - 针对项目的
storageinsights.reportConfigs.delete权限 - 针对项目的
storageinsights.reportConfigs.get权限 - 针对项目的
storageinsights.reportConfigs.create权限 - 针对项目的
storageinsights.reportConfigs.list权限 - 针对项目的
storageinsights.reportConfigs.update权限
如需读取和下载清单报告,请授予以下角色:
- 针对目标存储桶的
storage.objects.get - 针对项目的
storageinsights.reportDetails.get权限 - 针对项目的
storageinsights.reportDetails.list权限
您也可以使用其他预定义角色获取这些权限。要查看哪些角色与哪些权限相关联,请参阅适用于 Cloud Storage 的 IAM 角色。
如需了解如何使用角色来控制对存储桶的访问权限,请参阅使用 IAM。如需了解如何使用角色来控制对项目的访问权限,请参阅管理访问权限。
启用 Storage Insights API
控制台
Enable the Storage Insights API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM
role (roles/serviceusage.serviceUsageAdmin), which
contains the serviceusage.services.enable permission. Learn how to grant
roles.
命令行
Enable the Storage Insights API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM
role (roles/serviceusage.serviceUsageAdmin), which contains the
serviceusage.services.enable permission. Learn how to grant
roles.
gcloud services enable storageinsights.googleapis.com
REST API
JSON API
使用 Google Cloud 控制台或 Google Cloud CLI 启用 Storage Insights API。
创建库存报告配置
控制台
如需创建资产清单报告配置,请完成以下步骤:
- 在 Google Cloud 控制台中,转到 Cloud Storage 存储桶页面。
在存储桶列表中,点击要用作源存储桶的存储桶的名称。
在存储桶详细信息页面上,点击库存报告标签页。
点击创建报告配置。
在确定报告配置部分中,为库存报告配置创建显示名称。显示名称最多可包含 256 个字符。
在选择元数据字段部分中,选择要添加到库存报告中的元数据字段。
点击继续。
在选择文件格式部分中,选择用于生成资产清单报告的文件格式。
在选择目标存储桶部分中,选择要用作目标存储桶的存储桶。
在输入目标路径(可选)部分中,您可以视需要指定生成资产清单报告的目标路径。
在时间安排选项部分中,指定生成报告的频率、开始日期和结束日期。
点击创建。
随即将显示报告配置详细信息页面。生成的资产清单报告的元数据将显示在页面上。
命令行
如需创建资产清单报告配置,请运行
gcloud storage insights inventory-reports create命令:gcloud storage insights inventory-reports create SOURCE_BUCKET_URL \ --csv-separator=SEPARATOR \ --csv-delimiter=DELIMITER \ --[no]-csv-header \ --parquet \ --display-name=DISPLAY_NAME \ --destination=DESTINATION_PATH \ --metadata-fields=METADATA_FIELD \ --schedule-starts=START_DATE \ --schedule-repeats=FREQUENCY \ --schedule-repeats-until=END_DATE
您需要进行如下替换:
将
SOURCE_BUCKET_URL替换为来源存储桶的网址。 例如gs://my_example_source_bucket。将
SEPARATOR替换为用于分隔资产清单报告 CSV 文件中的记录的字符。必须是\n或\r\n。默认值为\n。 可选。如果使用--csv-separator标志,则不能使用--parquet。将
DELIMITER替换为用于分隔资产清单报告 CSV 文件中的字段的分隔符。该值可以包含一个字符,且不能与SEPARATOR相同。默认值为,。 可选。如果使用--csv-delimiter,则无法使用--parquet。将
--[no]-csv-header替换为指示资产清单报告 CSV 文件中是否包含标题的标志。使用--csv-header可包含标题,使用--no-csv-header可排除标题。 如果使用任一标志,则无法使用--parquet。将
DISPLAY_NAME替换为资产清单报告配置的可修改名称。可选。将
--parquet替换为以 Apache Parquet 格式(而非 CSV 格式)生成资产清单报告的标志。如果使用该项,则不能使用--csv-delimiter、--csv-separator和--[no-]csv-header。将
DESTINATION_PATH替换为将生成资产清单报告的存储桶或存储桶中的文件夹。例如,gs://my_example_destination_bucket或gs://my_example_destination_bucket/path/to/inventory/report。如果指定存储桶中文件夹的路径,则可以使用该路径中的关键字,在生成报告时,这些关键字将替换为相应的值。这样,您就可以使用 Hive 分区格式生成报告,从而在 BigQuery 中加载或查询数据,而无需额外的处理。
将
METADATA_FIELD替换为您要包含在资产清单报告中的元数据字段的英文逗号分隔列表。将
START_DATE替换为您希望开始生成资产清单报告的世界协调时间 (UTC) 日期。例如2022-01-15。将
FREQUENCY替换为您希望生成资产清单报告的频率。值为daily或weekly。将
END_DATE替换为您希望停止生成资产清单报告的世界协调时间 (UTC) 日期。必须是START_DATE后面的值。例如,如果您指定2022-02-15,则自 2022 年 2 月 16 日起,系统将不再生成资产清单报告。
客户端库
Java
如需了解详情,请参阅 Cloud Storage Java API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证。
REST API
JSON API
如需创建资产清单报告配置,请完成以下步骤:
安装并初始化 gcloud CLI,以便为
Authorization标头生成访问令牌。创建一个包含以下信息的 JSON 文件,除非另有说明,否则其中的所有字段均为必填字段:
{ "display_name": "DISPLAY_NAME", "frequency_options": { "frequency": "FREQUENCY", "start_date": "START_DATE", "end_date": "END_DATE", }, "csv_options": { "record_separator": "RECORD_SEPARATOR", "delimiter": "DELIMITER", "header_required": HEADER_REQUIRED }, "object_metadata_report_options": { "metadata_fields": [ "METADATA_FIELD", ... ], "storage_filters": { "bucket": "SOURCE_BUCKET_NAME" }, "storage_destination_options": { "bucket": "DESTINATION_BUCKET_NAME", "destination_path": "DESTINATION_PATH" } } }
您需要进行如下替换:
将
DISPLAY_NAME替换为资产清单报告配置的可修改显示名称。最多可包含 256 个字符。将
FREQUENCY替换为生成资产清单报告的频率。值为DAILY或WEEKLY。将
START_DATE替换为您希望开始生成资产清单报告的世界协调时间 (UTC) 日期。不能是当前日期,也不能是任何过去的日期。值必须是包含键day、month和year的对象。例如:{"day": 15, "month": 8, "year": 2022}。将
END_DATE替换为您希望停止生成资产清单报告的世界协调时间 (UTC) 日期。值必须是包含键day、month和year的对象。例如,如果您指定{"day": 15, "month": 9, "year": 2022},则自 2022 年 9 月 16 日起,系统将不再生成资产清单报告。将
RECORD_SEPARATOR替换为用于分隔资产清单报告 CSV 文件中的记录的字符。必须是\n或\r\n。默认值为\n。 此字段是可选字段。将
DELIMITER替换为用于分隔资产清单报告 CSV 文件中的字段的分隔符。该值可以包含一个字符,且不能与RECORD_SEPARATOR相同。默认值为,。 此字段是可选字段。将
HEADER_REQUIRED替换为指示 CSV 文件中是否包含标题的布尔值。此字段是可选字段。将
SOURCE_BUCKET_NAME替换为包含您要为其生成资产清单报告的对象的来源存储桶的名称。例如my_example_bucket。将
METADATA_FIELD替换为您要包含在资产清单报告中的元数据字段的英文逗号分隔列表。将
DESTINATION_BUCKET_NAME替换为生成和存储资产清单报告的目标存储桶的名称。例如my_example_destination_bucket。将
DESTINATION_PATH替换为生成资产清单报告的目标存储桶的路径。此字段是可选字段。如果指定存储桶中文件夹的路径,则可以使用该路径中的关键字,在生成报告时,这些关键字将替换为相应的值。这样,您就可以使用 Hive 分区格式生成报告,从而在 BigQuery 中加载或查询数据,而无需额外的处理。
例如,以下代码示例创建了名为“示例资产清单报告配置”的资产清单报告配置,该配置每周生成一次报告:
{ "display_name": "Example inventory report configuration", "frequency_options": { "frequency": "WEEKLY", "start_date": { "day": 15, "month": 8, "year": 2022 }, "end_date": { "day": 15, "month": 9, "year": 2022 }, }, "csv_options": { "record_separator": "\n", "delimiter": ",", "header_required": true }, "object_metadata_report_options": { "metadata_fields": [ "project", "name", "bucket" ], "storage_filters": { "bucket": "example_source_bucket" }, "storage_destination_options": { "bucket": "example_destination_bucket" } } }
如需应用资产清单报告配置,请使用
cURL通过CreateReportConfig 请求调用 JSON API:curl -X POST --data-binary @JSON_FILE_NAME \ "https://storageinsights.googleapis.com/v1/projects/YOUR_PROJECT/locations/LOCATION/reportConfigs" \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \
您需要进行如下替换:
将
JSON_FILE_NAME替换为您在上一步中创建的 JSON 文件的路径。将
YOUR_PROJECT替换为来源存储桶和目标存储桶所在项目的名称。将
LOCATION替换为来源存储桶和目标存储桶的位置。例如us-west1。
为服务代理授予所需的角色
首次设置库存报告配置时,系统会自动创建项目级服务代理。服务代理遵循命名格式 service-PROJECT_NUMBER@gcp-sa-storageinsights.iam.gserviceaccount.com,并显示在 Google Cloud 控制台的 IAM 页面上(如果您选择包括 Google 提供的角色授权复选框)。
如需允许存储空间分析生成和写入资产清单报告,请让您的管理员向服务代理授予以下 IAM 角色:
- 针对源存储桶的
roles/storage.insightsCollectorService权限(包括storage.buckets.getObjectInsights和storage.buckets.get权限) - 针对目标存储桶的
roles/storage.objectCreator权限(包括storage.objects.create权限)
如需了解如何授予角色,请参阅使用 IAM。
您可以使用 Google Cloud 控制台或 Google Cloud CLI 授予 roles/storage.insightsCollectorService 角色。例如:
gcloud storage buckets add-iam-policy-binding SOURCE_BUCKET_URL \
--member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-storageinsights.iam.gserviceaccount.com \
--role=roles/storage.insightsCollectorService向服务代理授予所需权限后,最多可能需要 24 小时才能将第一份资产清单报告写入目标存储桶。
修改资产清单报告配置
创建资产清单报告配置后,您可以修改此配置的特定属性。
控制台
如需修改资产清单报告配置,请按照以下步骤操作:
- 在 Google Cloud 控制台中,转到 Cloud Storage 存储桶页面。
在存储桶列表中,点击包含要修改的资产清单报告配置的源存储桶的名称。
在源存储桶的存储桶详情页面中,点击库存报告标签页。
点击要修改的资产清单报告配置的名称。
在显示的报告配置详细信息页面中,使用 修改按钮修改所需的属性。
命令行
如需修改资产清单报告配置,请按照以下步骤操作:
如需查找您要修改的资产清单报告配置的名称,请使用
gcloud storage insights inventory-reports list命令列出来源存储桶中的所有资产清单配置:gcloud storage insights inventory-reports list \ --source=SOURCE_BUCKET \ --filter=EXPRESSION \ --page-size=SIZE \ --sort-by=FIELD \ --format="yaml(name)"
您需要进行如下替换:
将
SOURCE_BUCKET替换为包含资产清单报告配置的来源存储桶的网址。将
EXPRESSION替换为要应用于列出的每个资源项的布尔值过滤条件。如果表达式的计算结果为 True,则系统会列出相应项。如需了解详情以及过滤条件表达式的示例,请运行$ gcloud topic filters。将
SIZE替换为每页的资源数上限。默认值为 50。将
FIELD替换为排序所依据的资源字段键名称的英文逗号分隔列表。默认顺序是升序。 为字段添加表示该字段以降序排列的前缀~。
使用
gcloud storage insights inventory-reports update命令修改要更新的资产清单报告配置字段。以下示例更新资产清单报告配置,以 Apache Parquet 格式每天生成资产清单报告:gcloud storage insights inventory-reports update CONFIG_NAME \ --parquet \ --schedule-repeats="daily"
客户端库
Java
如需了解详情,请参阅 Cloud Storage Java API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证。
REST API
JSON API
如需修改资产清单报告配置,请完成以下步骤:
安装并初始化 gcloud CLI,以便为
Authorization标头生成访问令牌。如需获取您要修改的资产清单报告配置的名称,请使用
cURL通过GetReportConfig 请求调用 JSON API:curl --request GET \ "https://storageinsights.googleapis.com/v1/projects/YOUR_PROJECT/locations/LOCATION/reportConfigs?" \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \
您需要进行如下替换:
将
YOUR_PROJECT替换为来源存储桶和目标存储桶所在项目的名称。将
LOCATION替换为来源存储桶和目标存储桶的位置。例如us-west1。
如果您要检索特定来源存储桶中的所有资产清单报告配置,请在请求中附加
filter查询参数:curl --request GET \ "https://storageinsights.googleapis.com/v1/projects/YOUR_PROJECT/locations/LOCATION/reportConfigs?filter=objectMetadataReportOptions.storageFilters.bucket=BUCKET_NAME" \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \
您需要进行如下替换:
- 将
YOUR_PROJECT替换为来源存储桶和目标存储桶所在项目的名称。 - 将
LOCATION替换为来源存储桶和目标存储桶的位置。例如us-west1。 - 将
BUCKET_NAME替换为包含您要修改的资产清单报告配置的来源存储桶的名称。
创建一个包含要修改的属性更改的 JSON 文件。以下示例更新资产清单报告配置,以 Apache Parquet 格式每天生成资产清单报告:
{ "ReportConfig": { "frequency_options": { "frequency": "DAILY" }, "parquet_options": { } }
如需应用资产清单报告配置,请使用
cURL通过PatchReportConfig 请求调用 JSON API:curl --request PATCH \ "https://storageinsights.googleapis.com/v1/projects/YOUR_PROJECT/locations/LOCATION/reportConfigs/REPORT_CONFIG_UUID" \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --data-binary "@JSON_FILE_NAME.json" \
您需要进行如下替换:
将
YOUR_PROJECT替换为来源存储桶和目标存储桶所在项目的名称。将
LOCATION替换为来源存储桶和目标存储桶的位置。例如us-west1。将
REPORT_CONFIG_UUID替换为资产清单报告配置的自动生成的 UUID。
列出资产清单报告配置
控制台
如需列出来源存储桶中的资产清单报告配置,请完成以下步骤:
- 在 Google Cloud 控制台中,转到 Cloud Storage 存储桶页面。
在存储桶列表中,点击包含要查看的资产清单报告配置的来源存储桶的名称。
在存储桶详细信息页面上,点击库存报告标签页。
此时会显示来源存储桶中的资产清单报告配置。
命令行
您可以使用 gcloud storage insights inventory-reports list 命令列出来源存储桶中的所有资产清单配置:
gcloud storage insights inventory-reports list \ --source=SOURCE_BUCKET \ --filter=EXPRESSION \ --page-size=SIZE \ --sort-by=FIELD \ --format="yaml(name)"
您需要进行如下替换:
将
SOURCE_BUCKET替换为包含资产清单报告配置的来源存储桶的网址。将
EXPRESSION替换为要应用于列出的每个资源项的布尔值过滤条件。如果表达式的计算结果为 True,则系统会列出相应项。如需了解详情以及过滤条件表达式的示例,请运行$ gcloud topic filters。将
SIZE替换为每页的资源数上限。默认值为 50。将
FIELD替换为排序所依据的资源字段键名称的英文逗号分隔列表。默认顺序是升序。 为字段添加表示该字段以降序排列的前缀~。
客户端库
Java
如需了解详情,请参阅 Cloud Storage Java API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证。
REST API
JSON API
安装并初始化 gcloud CLI,以便为
Authorization标头生成访问令牌。如需列出项目在给定位置的所有资产清单报告配置,请使用请求列出资产清单报告配置:
curl --request GET \ "https://storageinsights.googleapis.com/v1/projects/YOUR_PROJECT/locations/LOCATION/reportConfigs?" \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \
您需要进行如下替换:
将
YOUR_PROJECT替换为来源存储桶和目标存储桶所在项目的名称。将
LOCATION替换为来源存储桶和目标存储桶的位置。例如us-west1。
如果您要列出特定来来源存储桶中的所有资产清单报告配置,请在请求中附加
filter查询参数:curl --request GET \ "https://storageinsights.googleapis.com/v1/projects/YOUR_PROJECT/locations/LOCATION/reportConfigs?filter=objectMetadataReportOptions.storageFilters.bucket=BUCKET_NAME" \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \
您需要进行如下替换:
将
YOUR_PROJECT替换为来源存储桶和目标存储桶所在项目的名称。将
LOCATION替换为来源存储桶和目标存储桶的位置。例如us-west1。将
BUCKET_NAME替换为包含您要列出的资产清单报告配置的来来源存储桶的名称。
下载资产清单报告
控制台
下载各个报告
资产清单报告以对象形式生成并存储在目标存储桶中,因此您可以像下载常规对象一样下载它们。
如需下载资产清单报告,请完成以下步骤:
- 在 Google Cloud 控制台中,转到 Cloud Storage 存储桶页面。
在存储桶列表中,点击包含要下载的库存报告的目标存储桶的名称。
在存储桶详细信息页面上,确保选中对象标签页。
点击与您要下载的库存报告关联的 下载。
如果您不知道目标存储桶,还可以通过生成报告的库存报告配置下载库存报告:
- 在 Google Cloud 控制台中,转到 Cloud Storage 存储桶页面。
在存储桶列表中,点击包含生成您要下载的报告的库存报告配置的源存储桶的名称。
在存储桶详细信息页面上,点击库存报告配置的名称。
在显示的报告配置详情页面上,转到库存报告历史记录部分,然后点击要下载的库存报告的目标对象路径。
系统会显示包含库存报告的目标存储桶的存储桶详情页面。
点击与您要下载的库存报告关联的 下载。
下载报告分片
如需下载拆分为一个或多个分片的资产清单报告,请完成以下步骤:
- 在 Google Cloud 控制台中,转到 Cloud Storage 存储桶页面。
在存储桶列表中,点击您在创建资产清单报告配置时指定的目标存储桶的名称。
在存储桶详情页面上,检查是否存在清单文件。如果存在清单文件,则表示已生成资产清单报告的所有分片。
示例清单文件名为
fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:00_manifest.json。在目标存储桶中,点击与清单文件关联的 下载。请记下您要从
report_shards_file_names字段下载的分片文件的名称。在目标存储桶中,点击与您要下载的分片文件关联的 下载。
命令行
下载各个报告
如需下载资产清单报告,请完成以下步骤:
如需列出资产清单报告配置生成的所有资产清单报告并检索其
REPORT_DETAIL_ID,请使用gcloud storage insights inventory-reports details list命令:gcloud storage insights inventory-reports details list CONFIG_NAME \ --filter=EXPRESSION \ --page-size=SIZE \ --sort-by=FIELD
您需要进行如下替换:
将
CONFIG_NAME替换为资产清单报告配置的唯一名称,格式为projects/PROJECT/locations/LOCATION/reportConfigs/REPORT_CONFIG_UUID。将
EXPRESSION替换为要应用于列出的每个资源项的布尔值过滤条件。如果表达式的计算结果为 True,则会列出该项。如需了解过滤表达式的更多详情和示例,请运行$ gcloud topic filters。将
SIZE替换为每页的资源数上限。默认值为 50。将
FIELD替换为排序所依据的资源字段键名称的英文逗号分隔列表。默认顺序是升序。 为字段添加表示该字段以降序排列的前缀~。
如果成功,该命令将返回类似于以下内容的输出:
REPORT_DETAIL_ID SNAPSHOT_TIME Report_2023-04-10T00-00 2023-04-10T00:53:03Z Report_2023-04-12T00-00 2023-04-12T00:52:54Z Report_2023-04-05T00-00 2023-04-05T00:53:01Z
要下载资产清单报告,您需要先检索 ReportDetail 对象的
reportPathPrefix属性。如需获取报告的reportPathPrefix,请使用gcloud storage insights inventory-reports details describe命令:gcloud storage insights inventory-reports details describe REPORT_DETAIL_NAME
将
REPORT_DETAIL_NAME替换为资产清单报告的名称,格式为projects/PROJECT/locations/LOCATION/reportConfigs/REPORT_CONFIG_UUID/reportDetails/REPORT_DETAIL_ID。
下载报告分片
如需下载拆分为一个或多个分片的资产清单报告,请完成以下步骤:
使用
gcloud storage cp命令下载资产清单报告清单文件:gcloud storage cp gs://BUCKET_NAME/MANIFEST_FILE_NAME DOWNLOAD_PATH
您需要进行如下替换:
将
BUCKET_NAME替换为目标存储桶的名称。将
MANIFEST_FILE_NAME替换为目标存储桶中的清单文件的名称,并采用以下命名惯例:REPORT_CONFIG_UUID_TARGET_DATETIME_manifest.json
其中:
REPORT_CONFIG_UUID是生成您要下载的报告分片的资产清单报告配置的自动生成 UUID。TARGET_DATETIME是生成资产清单报告的日期时间。
例如
fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:00_manifest.json。将
DOWNLOAD_PATH替换为您要将资产清单报告保存到的文件系统的路径。例如./example_report.csv。
如需下载分片文件,请使用
gcloud storage cp命令:gcloud storage cp gs://BUCKET_NAME/SHARD_FILE_NAME DOWNLOAD_PATH
您需要进行如下替换:
将
BUCKET_NAME替换为目标存储桶的名称。将
SHARD_FILE_NAME替换为您要下载的分片文件的网址编码名称。例如fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:54_0.csv。将
DOWNLOAD_PATH替换为您要将资产清单报告保存到的文件系统的路径。例如./example_report.csv。
客户端库
Java
如需了解详情,请参阅 Cloud Storage Java API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证。
REST API
JSON API
下载各个报告
如需下载资产清单报告,请完成以下步骤:
安装并初始化 gcloud CLI,以便为
Authorization标头生成访问令牌。如需列出资产清单报告配置生成的所有资产清单报告,请使用
cURL通过列出资产清单报告详细信息的请求调用 JSON API:curl --request GET \ "https://storageinsights.googleapis.com/v1/projects/YOUR_PROJECT/locations/LOCATION/reportConfigs/REPORT_CONFIG_UUID/reportDetails/" \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \
您需要进行如下替换:
将
YOUR_PROJECT替换为来源存储桶和目标存储桶所在项目的名称。将
LOCATION替换为来源存储桶和目标存储桶的位置。例如us-west1。将
REPORT_CONFIG_UUID替换为生成您要下载的报告的资产清单报告配置的自动生成的 UUID。
如需获取单份报告的详细信息,请使用
cURL通过GetReportDetails 请求调用 JSON API:curl --request GET \ "https://storageinsights.googleapis.com/v1/projects/YOUR_PROJECT/locations/LOCATION/reportConfigs/REPORT_CONFIG_UUID/reportDetails/REPORT_DETAIL_ID" \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \
您需要进行如下替换:
将
YOUR_PROJECT替换为来源存储桶和目标存储桶所在项目的名称。将
LOCATION替换为来源存储桶和目标存储桶的位置。例如us-west1。将
REPORT_CONFIG_UUID替换为生成您要下载的报告的资产清单报告配置的自动生成的 UUID。将
REPORT_DETAIL_ID替换为您要下载的资产清单报告的名称。
下载报告分片
如需下载拆分为一个或多个分片的资产清单报告,请完成以下步骤:
安装并初始化 gcloud CLI,以便为
Authorization标头生成访问令牌。如需下载资产清单报告的 清单文件,请使用
cURL通过GET对象请求调用 JSON API:curl -X GET \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/MANIFEST_FILE_NAME?alt=media" \
您需要进行如下替换:
将
BUCKET_NAME替换为目标存储桶的名称。将
MANIFEST_FILE_NAME替换为目标存储桶中的清单文件的名称,并采用以下命名惯例:REPORT_CONFIG_UUID_TARGET_DATETIME_manifest.json
其中:
REPORT_CONFIG_UUID是生成您要下载的报告分片的资产清单报告配置的自动生成 UUID。TARGET_DATETIME是生成资产清单报告的日期。
例如
fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:00_manifest.json。清单文件的
report_shards_file_names字段包含您可以下载的资产清单报告分片的名称。如需下载资产清单报告分片文件,请使用
curl通过Get对象请求调用 Cloud Storage JSON API:curl -X GET \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ -o "DOWNLOAD_PATH" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/SHARD_FILE_NAME?alt=media"
您需要进行如下替换:
将
DOWNLOAD_PATH替换为要保存对象的本地文件系统的路径。例如Desktop/dog.png。将
BUCKET_NAME替换为包含资产清单报告的目标存储桶的名称。例如my-bucket。将
SHARD_FILE_NAME替换为您要下载的分片文件的网址编码名称。例如fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:54_0.csv。
删除资产清单报告配置
控制台
如需删除资产清单报告配置,请完成以下步骤:
- 在 Google Cloud 控制台中,转到 Cloud Storage 存储桶页面。
在存储桶列表中,点击包含要删除的库存报告配置的源存储桶的名称。
在源存储桶的存储桶详情页面中,点击库存报告标签页。
点击要删除的库存报告配置的名称。
在显示的报告配置详细信息页面中,点击 删除。
命令行
如需删除资产清单报告配置,请使用 gcloud storage insights inventory-reports delete 命令:
gcloud storage insights inventory-reports delete CONFIG_NAME --force
将 CONFIG_NAME 替换为资产清单报告配置的唯一名称,格式为 projects/PROJECT/locations/LOCATION/reportConfigs/REPORT_CONFIG_UUID。
--force 标志会删除由给定资产清单报告配置生成的所有资产清单报告的元数据。资产清单报告对象本身不会被删除。
客户端库
Java
如需了解详情,请参阅 Cloud Storage Java API 参考文档。
如需向 Cloud Storage 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证。
REST API
JSON API
如需删除资产清单报告配置,请完成以下步骤:
安装并初始化 gcloud CLI,以便为
Authorization标头生成访问令牌。如需删除资产清单报告配置,请使用
cURL通过DeleteReportConfig 请求调用 JSON API:curl --request DELETE \ 'https://storageinsights.googleapis.com/v1/projects/YOUR_PROJECT/locations/LOCATION/reportConfigs/REPORT_CONFIG_UUID?force=true' \ --header 'Authorization: Bearer $(gcloud auth print-access-token)' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \
您需要进行如下替换:
将
YOUR_PROJECT替换为来源存储桶和目标存储桶所在项目的名称。将
LOCATION替换为来源存储桶和目标存储桶的位置。例如us-west1。将
REPORT_CONFIG_UUID替换为您要删除的资产清单报告配置的自动生成的 UUID。
force 查询参数会删除由给定资产清单报告配置生成的所有资产清单报告的元数据。系统不会删除资产清单报告对象本身。
高级:以 Hive 分区格式生成资产清单报告
创建资产清单报告配置时,您可以指定目标路径,这是目标存储桶中生成资产清单报告的位置。这样,您就可以以 Hive 分区格式生成资产清单报告。
您可以使用占位符关键字来指定目标路径。生成资产清单报告后,目标路径中的关键字会替换为相应的值。例如,目标路径 config={{report-config-id}}/date={{date}} 可以解析为 config=1A34-F2E456-12B456-1C3D/date=2022-05-20。
目标路径关键字
您可以指定包含在 {{ 和 }} 中的关键字 report-config-id、date 或 datetime,其中:
report-config-id是资产清单报告配置的 UUID。date是生成资产清单报告的日期。遵循 ISO 8601 格式。datetime是生成资产清单报告的日期和时间。遵循 ISO 8601 格式。
您可以使用以下任一工具指定关键字:
使用 Google Cloud 控制台时,请在输入目标路径(可选)部分中指定关键字。此部分会在您创建资产清单报告配置时显示。
使用 Google Cloud CLI 时,请使用
--destination标志指定占位关键字。使用 JSON API 时,请在 ReportConfig 对象的
storage_destination_options.destination_path字段中指定占位符关键字。
访问权限控制和安全
以下建议和注意事项与资产清单报告和配置的安全性和用法相关:
我们建议具有
roles/storage.admin角色的用户也具有storageinsights.reportConfigs.*权限,以便他们可以控制其存储桶中所有资源的使用情况,例如读取对象及其元数据。我们建议您通过仅向必要的个人授予
storageinsights.reportConfigs.*权限来限制对资产清单报告资源的访问。创建资产清单报告配置后,即使创建该配置的用户不再拥有所需权限,它仍会继续生成资产清单报告。如需停止生成资产清单报告,您可以在资产清单报告配置中修改结束日期,也可以完全删除配置。
后续步骤
- 如果您在生成资产清单报告时遇到问题,请参阅问题排查获取帮助。