列出 Google Cloud 專案中的所有報表設定,有效管理 App Optimize API 報表。這樣一來,您就能找出特定報表來讀取資料,或在報表到期前刪除不再需要的報表。
清單作業會傳回報表中繼資料,包括每個報表的資源名稱、範圍、維度、指標和到期時間。如要下載所要求的費用和用量資訊,請讀取報表資料。
事前準備
-
登入 Google Cloud 帳戶。如果您是 Google Cloud新手,歡迎 建立帳戶,親自評估產品在實際工作環境中的成效。新客戶還能獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
Verify that you have the permissions required to complete this guide.
選取您打算如何使用本文件中的範例:
gcloud
在 Google Cloud 控制台中啟用 Cloud Shell。
Google Cloud 主控台底部會開啟一個 Cloud Shell 工作階段,並顯示指令列提示。Cloud Shell 是已安裝 Google Cloud CLI 的殼層環境,並已針對您目前的專案設定好相關值。工作階段可能要幾秒鐘的時間才能初始化。
如要瞭解如何設定正式環境的驗證機制,請參閱 Google Cloud 驗證說明文件中的「 為在 Google Cloud上執行的程式碼設定應用程式預設憑證 」。
Python
- 安裝 App Optimize API 適用的 Python 用戶端程式庫。
-
如要在本機開發環境中使用本頁的 Python 範例,請安裝並初始化 gcloud CLI,然後使用您的使用者憑證設定應用程式預設憑證。
-
安裝 Google Cloud CLI。
-
若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
-
如果您使用本機殼層,請為使用者帳戶建立本機驗證憑證:
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 為止,這表示您已擷取所有報表。