列出報表

列出 Google Cloud 專案中的所有報表設定,有效管理 App Optimize API 報表。這樣一來,您就能找出特定報表來讀取資料,或在報表到期前刪除不再需要的報表。

清單作業會傳回報表中繼資料,包括每個報表的資源名稱、範圍、維度、指標和到期時間。如要下載所要求的費用和用量資訊,請讀取報表資料

事前準備

gcloud

在 Google Cloud 控制台中啟用 Cloud Shell。

啟用 Cloud Shell

Google Cloud 主控台底部會開啟一個 Cloud Shell 工作階段,並顯示指令列提示。Cloud Shell 是已安裝 Google Cloud CLI 的殼層環境,並已針對您目前的專案設定好相關值。工作階段可能要幾秒鐘的時間才能初始化。

如要瞭解如何設定正式環境的驗證機制,請參閱 Google Cloud 驗證說明文件中的「 為在 Google Cloud上執行的程式碼設定應用程式預設憑證 」。

Python

  1. 安裝 App Optimize API 適用的 Python 用戶端程式庫
  2. 如要在本機開發環境中使用本頁的 Python 範例,請安裝並初始化 gcloud CLI,然後使用您的使用者憑證設定應用程式預設憑證。

    1. 安裝 Google Cloud CLI。

    2. 若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

    3. 如果您使用本機殼層,請為使用者帳戶建立本機驗證憑證:

      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上執行的程式碼設定應用程式預設憑證 」。

必要的角色

如要取得列出專案報表資源所需的權限,請要求管理員授予您專案的應用程式最佳化檢視者 (roles/appoptimize.viewer) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

列出報表

如要列出專案中的報表,請按照偏好方法的操作說明執行:

gcloud

使用 gcloud beta app-optimize reports list 指令列出專案中的報表。

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

PROJECT_ID 替換為您要列出報表資源的專案 ID。 Google Cloud

gcloud 指令會自動處理分頁,並傳回所有要求的資源。

Python

下列 Python 程式碼使用 AppOptimizeClient.list_reports(),顯示專案中的報表清單。

from google.cloud import appoptimize_v1beta

project_id = "PROJECT_ID"

# Create the App Optimize client and request the project's reports
client = appoptimize_v1beta.AppOptimizeClient()
request = appoptimize_v1beta.ListReportsRequest(
    parent=f"projects/{project_id}/locations/global"
)
page_result = client.list_reports(request=request)

# Iterate over the list of reports and display each one
for response in page_result:
    print(response)

PROJECT_ID 替換為您要列出報表資源的專案 ID。 Google Cloud

用戶端程式庫會自動處理分頁,並從疊代器產生結果。

REST

使用下列 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 為止,這表示您已擷取所有報表。

後續步驟