获取报告的元数据

如需检查报告的设置(例如范围和指标)或查看报告的过期时间,请使用 App Optimize API 获取报告的元数据。

此 API 请求不会返回报告中的实际数据行。如需下载此信息,您需要读取报告的数据

准备工作

gcloud

在 Google Cloud 控制台中,激活 Cloud Shell。

激活 Cloud Shell

Cloud Shell 会话随即会在 Google Cloud 控制台的底部启动,并显示命令行提示符。Cloud Shell 是一个已安装 Google Cloud CLI 且已为当前项目设置值的 Shell 环境。该会话可能需要几秒钟时间来完成初始化。

如需了解如何为生产环境设置身份验证,请参阅 Google Cloud 身份验证文档中的 为在 Google Cloud上运行的代码设置应用默认凭据

Python

  1. 安装 App Optimize API 的 Python 客户端库
  2. 如需在本地开发环境中使用本页面上的 Python 示例,请安装并初始化 gcloud CLI,然后使用您的用户凭据设置应用默认凭据。

    1. 安装 Google Cloud CLI。

    2. 如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI

    3. 如果您使用的是本地 shell,请为您的用户账号创建本地身份验证凭证:

      gcloud auth application-default login

      如果您使用的是 Cloud Shell,则无需执行此操作。

      如果系统返回身份验证错误,并且您使用的是外部身份提供方 (IdP),请确认您已 使用联合身份登录 gcloud CLI

    如需了解详情,请参阅 Google Cloud 身份验证文档中的 为本地开发环境设置 ADC

    如需了解如何为生产环境设置身份验证,请参阅 Google Cloud 身份验证文档中的 为在 Google Cloud上运行的代码设置应用默认凭据

REST

如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭证。

    安装 Google Cloud CLI。

    如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI

如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证

如需了解如何为生产环境设置身份验证,请参阅 Google Cloud 身份验证文档中的 为在 Google Cloud上运行的代码设置应用默认凭据

所需的角色

如需获得读取报告元数据所需的权限,请让您的管理员为您授予拥有报告资源的项目的 App Optimize Viewer (roles/appoptimize.viewer) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

获取报告元数据

如需检索报告的元数据,请按照您喜欢的方法对应的说明操作:

gcloud

使用 gcloud beta app-optimize reports describe 命令获取报告的元数据。

gcloud beta app-optimize reports describe REPORT_ID \
  --project=PROJECT_ID \
  --location=global

替换以下内容:

  • PROJECT_ID:要检索的报告资源所属的 Google Cloud 项目的 ID。
  • REPORT_ID:要检索的报告的 ID。此 ID 是在创建报告时指定的,可以通过列出报告来获取。

Python

以下 Python 代码使用 AppOptimizeClient.get_report() 获取报告的元数据。

from google.cloud import appoptimize_v1beta

project_id = "PROJECT_ID"
report_id = "REPORT_ID"
name = f"projects/{project_id}/locations/global/reports/{report_id}"

# Create the App Optimize client and request the report's metadata
client = appoptimize_v1beta.AppOptimizeClient()
request = appoptimize_v1beta.GetReportRequest(name=name)
response = client.get_report(request=request)

# Display the metadata
print(response)

替换以下内容:

  • PROJECT_ID:要检索的报告资源所属的 Google Cloud 项目的 ID。
  • REPORT_ID:要检索的报告的 ID。此 ID 是在创建报告时指定的,可以通过列出报告来获取。

REST

使用以下 curl 命令获取报告元数据:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://appoptimize.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/reports/REPORT_ID"

替换以下内容:

  • PROJECT_ID:要检索的报告资源所属的 Google Cloud 项目的 ID。
  • REPORT_ID:要检索的报告的 ID。此 ID 是在创建报告时指定的,可以通过列出报告来获取。

如果请求成功,API 会返回包含报告元数据的 JSON 响应。以下是成功响应的示例,其中包含所选的维度和指标、项目范围以及报告的预定过期时间:

{
  "name": "projects/PROJECT_ID/locations/global/reports/REPORT_ID",
  "dimensions": [
    "location",
    "product_display_name",
    "project",
    "resource",
    "resource_type"
  ],
  "scopes": [
    {
      "project": "projects/PROJECT_ID"
    }
  ],
  "filter": "hour >= now - duration(\"168h\")",
  "expireTime": "2026-02-05T18:50:25.273833857Z",
  "metrics": [
    "cost",
    "cpu_mean_utilization"
  ]
}

后续步骤