获取报告的元数据

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

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

准备工作

gcloud

  • 安装 Google Cloud CLI。

  • 配置 gcloud CLI 以使用您的联合身份。

    如需了解详情,请参阅使用联合身份登录 gcloud CLI

  • 如需初始化 gcloud CLI,请运行以下命令:

    gcloud init
  • 初始化 gcloud CLI 后,对其进行更新并安装所需组件:

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

    Python

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

      1. 安装 Google Cloud CLI。

      2. 配置 gcloud CLI 以使用您的联合身份。

        如需了解详情,请参阅使用联合身份登录 gcloud CLI

      3. 为您的用户账号创建本地身份验证凭证:

        gcloud auth application-default login

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

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

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

    REST

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

      安装 Google Cloud CLI,然后 使用联合身份登录 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"
      ]
    }
    

    后续步骤