通过列出项目中的所有报告配置,有效管理 App Optimize API 报告。 Google Cloud 这有助于您识别特定报告以读取其数据,或在不再需要时提前删除报告。
列表操作会返回报告元数据,包括每个报告的资源名称、范围、维度、指标和到期时间。如需 下载所请求的费用和使用情况信息,您需要 读取报告的数据。
准备工作
- 登录您的 Google Cloud 账号。如果您是 Google Cloud的新用户, 请创建一个账号,以评估我们的产品在 实际场景中的表现。新客户还可获享 $300 赠金,用于 运行、测试和部署工作负载。
-
安装 Google Cloud CLI。
-
如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI。
-
如需初始化 gcloud CLI,请运行以下命令:
gcloud init -
安装 Google Cloud CLI。
-
如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI。
-
如需初始化 gcloud CLI,请运行以下命令:
gcloud init
所需的角色
如需获得列出项目的报告资源所需的权限,请让您的管理员为您授予项目的 App Optimize Viewer (roles/appoptimize.viewer) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
您也可以通过自定义 角色或其他预定义 角色来获取所需的权限。
列出报告
如需使用 REST API 列出项目中的报告,请向报告收集端点发送 HTTP GET 请求。
使用以下 curl 命令列出项目的报告
:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://appoptimize.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/reports?pageSize=PAGE_SIZE"
替换以下内容:
PROJECT_ID:拥有您要列出的报告资源的 Google Cloud 项目 的 ID。PAGE_SIZE:每页返回的报告数量上限。 如果省略此参数,API 将使用默认值。服务器可能会返回少于请求数量的报告。
如果请求成功,API 会返回一个 JSON 响应,其中包含报告资源列表。以下是成功调用响应的示例:
{
"reports": [
{
"name": "projects/PROJECT_ID/locations/global/reports/my-first-report",
"dimensions": [
"location",
"product_display_name",
"project",
"sku"
],
"scopes": [
{
"project": "projects/PROJECT_ID"
}
],
"filter": "hour \u003e= now - duration(\"168h\")",
"expireTime": "2026-02-05T18:30:39.907639266Z",
"metrics": [
"cost"
]
},
{
"name": "projects/PROJECT_ID/locations/global/reports/my-second-report",
"dimensions": [
"location",
"product_display_name",
"project",
"resource",
"resource_type"
],
"scopes": [
{
"project": "projects/PROJECT_ID"
}
],
"filter": "hour \u003e= now - duration(\"168h\")",
"expireTime": "2026-02-05T18:50:25.273833857Z",
"metrics": [
"cost",
"cpu_mean_utilization"
]
}
]
}
reports 数组包含每个报告的元数据。如果请求失败,请查看 API 返回的错误消息。
如果响应包含 nextPageToken 字符串,则表示还有更多报告需要检索。
检查响应中是否有 nextPageToken 字段。如果存在该令牌,请运行以下 curl 请求来检索下一页,包括 pageToken 查询参数。您可以继续使用 pageSize 参数。
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://appoptimize.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/reports?pageToken=NEXT_PAGE_TOKEN&pageSize=PAGE_SIZE"
替换以下内容:
NEXT_PAGE_TOKEN:在之前的响应中收到的nextPageToken的值。PAGE_SIZE:您希望此请求使用的页面大小。
重复此过程,直到响应不再包含 nextPageToken,这表示您已检索所有报告。