获取报告的元数据

如需检查报告的设置(例如范围和指标)或查看报告的过期时间,请使用 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"
  ]
}

后续步骤