Bericht erstellen und lesen
Hier erfahren Sie, wie Sie einen App Optimize API-Bericht zu Ihren Google CloudAusgaben erstellen, die Berichterstellung überwachen und die resultierenden Daten lesen, wenn sie für Sie verfügbar sind. In dieser Kurzanleitung verwenden Sie die REST API.
Hinweis
-
Für die Beispiele in diesem Leitfaden benötigen Sie ein Google Cloud Projekt mit aktiven Ressourcen, die analysiert werden sollen. Für die App Optimize API sind Abrechnungs- und Nutzungsdaten erforderlich, um aussagekräftige Ergebnisse zu liefern. Berichte, die für neue oder leere Projekte ausgeführt werden, sind leer.
Dieses Projekt wurde von Ihnen ausgewählt und wird durch PROJECT_ID identifiziert. Der Einfachheit halber wird in diesem Leitfaden das Projekt sowohl die Berichtsressource hosten als auch den Datenbereich bereitstellen.
Mit der App Optimize API können Berichte in einem Projekt erstellt werden, in denen Daten aus einem anderen Quellprojekt oder aus Anwendungen in Einzelprojekt- oder Ordnergrenzen analysiert werden. Wenn Sie einen Bericht zu einer App Hub-Anwendung erstellen, die aus mehreren Projekten bestehen kann, benötigen Sie die erforderlichen Berechtigungen für Monitoring und Abrechnung für alle zugehörigen Projekte der Anwendung, um den Bericht zu erstellen.
-
Prüfen Sie, ob die App Optimize API für das Projekt aktiviert ist, mit dem Sie die Berichtsressource erstellen und verwalten. In den Beispielen in dieser Dokumentation ist das das Projekt, das durch
PROJECT_IDidentifiziert wird. - Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init -
Prüfen Sie, ob Sie die Berechtigungen haben, die für diese Anleitung erforderlich sind.
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init -
Prüfen Sie, ob Sie die Berechtigungen haben, die für diese Anleitung erforderlich sind.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Projekt mit aktiven Ressourcen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen und Lesen eines Berichts mit dieser Kurzanleitung benötigen:
-
App Optimize-Administrator (
roles/appoptimize.admin) -
Betrachter (
roles/viewer) oder eine andere Rolle, diebilling.resourceCosts.getgewährt
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Weitere Informationen zu den für die App Optimize API erforderlichen Berechtigungen und Rollen finden Sie unter Zugriffssteuerung mit IAM.
Bericht erstellen
In diesem Beispiel wird ein Bericht zu den Gesamtausgaben in der ausgewählten PROJECT_ID erstellt. Im Bericht werden die Kosten nach jedem verwendetenGoogle Cloud -Produkt aufgeschlüsselt, z. B. Compute Engine und Cloud Storage, sowie nach der jeweiligen SKU und dem jeweiligen Standort. Der Bericht umfasst die Daten der letzten drei Tage.
Senden Sie eine HTTP-POST-Anfrage an den Ressourcenpfad projects.locations.reports der REST API, um die Berichtsressource zu erstellen.
So erstellen Sie den Bericht:
Verwenden Sie den folgenden
curl-Befehl, um die Anfrage zu senden:curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "scopes": [ { "project": "projects/PROJECT_ID" } ], "dimensions": [ "location", "product_display_name", "project", "sku" ], "metrics": [ "cost" ], "filter": "hour >= now - duration(\"72h\")" }' \ "https://appoptimize.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/reports?report_id=REPORT_ID"Ersetzen Sie Folgendes:
PROJECT_ID: Projekt-ID in Google Cloud .REPORT_ID: Eine eindeutige ID für Ihren neuen Bericht, z. B.my-first-report
Die API gibt ein LRO-Objekt (Long-Running Operation) zurück, das den Prozess der Berichterstellung darstellt. Hier ist eine Beispielantwort:
{ "name": "projects/PROJECT_ID/locations/global/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.appoptimize.v1beta.OperationMetadata" }, "done": false }Der Status
"done": falsegibt an, dass der Bericht noch generiert wird. Notieren Sie sich dieOPERATION_ID, da Sie sie im nächsten Schritt benötigen.Da die Berichterstellung einige Zeit in Anspruch nehmen kann, müssen Sie den LRO abfragen, bis er angibt, dass der Generierungsprozess abgeschlossen ist und die Daten des Berichts zum Herunterladen bereit sind.
Wenn Sie den Status des Generierungsvorgangs prüfen möchten, senden Sie eine HTTP-
GET-Anfrage an den Ressourcennamen des Vorgangs:curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://appoptimize.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/operations/OPERATION_ID"Sehen Sie sich die Antwort an. Wenn
"done"falseist, warte 5 bis 15 Sekunden und wiederhole diesen Schritt. Wenn"done"gleichtrueist, ist der Bericht fertig.Das folgende Beispiel zeigt eine Antwort, wenn der Vorgang abgeschlossen ist:
{ "name": "projects/PROJECT_ID/locations/global/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.appoptimize.v1beta.OperationMetadata" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.appoptimize.v1beta.Report", "name": "projects/PROJECT_ID/locations/global/reports/REPORT_ID", "scopes": [ { "project": "projects/PROJECT_ID" } ], "dimensions": [ "location", "product_display_name", "project", "sku" ], "metrics": [ "cost" ], "filter": "hour >= now - duration(\"72h\")", "expireTime": "2026-02-04T22:05:05Z" } }
Berichtsdaten lesen
Verwenden Sie die benutzerdefinierte Methode :read, um die Berichtsdaten abzurufen, sobald der LRO abgeschlossen ist:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{}' \
"https://appoptimize.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/reports/REPORT_ID:read"
Die Antwort enthält die Berichtsdatenzeilen und Spaltendefinitionen. Hier ist ein Beispiel für eine erfolgreiche Antwort:
{
"rows": [
[
"us-central1",
"Compute Engine",
"projects/PROJECT_ID",
"6EC2-384A-47D9",
{
"currency_code": "USD",
"units": "25",
"nanos": 750000000
}
],
[
"us-central1",
"Cloud Storage",
"projects/PROJECT_ID",
"9ADA-9ADC-2FBE",
{
"currency_code": "USD",
"units": "5",
"nanos": 100000000
}
],
[
"europe-west1",
"Compute Engine",
"projects/PROJECT_ID",
"6EC2-384A-47D9",
{
"currency_code": "USD",
"units": "18",
"nanos": 500000000
}
],
[
"us-central1",
"Compute Engine",
"projects/PROJECT_ID",
"F61D-4D51-AAFC",
{
"currency_code": "USD",
"units": "12",
"nanos": 200000000
}
]
],
"columns": [
{
"name": "location",
"type": "STRING",
"mode": "NULLABLE"
},
{
"name": "product_display_name",
"type": "STRING",
"mode": "NULLABLE"
},
{
"name": "project",
"type": "STRING",
"mode": "NULLABLE"
},
{
"name": "sku",
"type": "STRING",
"mode": "NULLABLE"
},
{
"name": "cost",
"type": "RECORD",
"mode": "NULLABLE",
"columns": [
{
"name": "currency_code",
"type": "STRING",
"mode": "NULLABLE"
},
{
"name": "units",
"type": "INT64",
"mode": "NULLABLE"
},
{
"name": "nanos",
"type": "INT64",
"mode": "NULLABLE"
}
]
}
],
"next_page_token": ""
}
Berichte mit vielen Zeilen werden paginiert. Informationen zum Verarbeiten mehrerer Seiten finden Sie unter Berichtsdaten lesen.
Informationen zum Interpretieren der Werte im Feld cost finden Sie unter Kostenmesswerte interpretieren.
Weitere Informationen zu den Daten und ihren Einschränkungen finden Sie unter Daten verstehen.
Bereinigen
Die App Optimize API löscht Ihren Bericht automatisch 24 Stunden nach der Erstellung. Wenn Sie den Bericht früher löschen möchten, senden Sie eine HTTP-DELETE-Anfrage an den Ressourcenendpunkt des Berichts:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://appoptimize.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/reports/REPORT_ID"
Nächste Schritte
- Weitere Informationen zu Berichten
- Weitere Möglichkeiten zum Verwalten von Berichten:
- Weitere Informationen finden Sie in der Übersicht über die App Optimize API.