取得報表的中繼資料

如要檢查報表的範圍和指標等設定,或查看報表的到期時間,請使用 App Optimize API 取得報表的中繼資料。

這項 API 要求不會傳回報表中的實際資料列。如要下載這項資訊,請閱讀報表資料

事前準備

gcloud

  • 安裝 Google Cloud CLI。

  • 設定 gcloud CLI,使用您的聯合身分。

    詳情請參閱「使用聯合身分登入 gcloud CLI」。

  • 執行下列指令,初始化 gcloud CLI:

    gcloud init
  • 初始化 gcloud CLI 後,請更新 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上執行的程式碼設定應用程式預設憑證 」。

    必要的角色

    如要取得讀取報表中繼資料所需的權限,請要求系統管理員授予您報表資源所屬專案的應用程式最佳化檢視者 (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"
      ]
    }
    

    後續步驟