Daten eines Berichts lesen

Nachdem die App Optimize API einen Bericht erstellt hat, rufen Sie die Kosten- und Nutzungsdaten des Berichts ab. Diese Informationen werden als Spalten und Zeilen heruntergeladen, die gemäß den Dimensionen und Messwerten strukturiert sind, die Sie beim Anfordern des Berichts angegeben haben.

Diese API-Anfrage unterscheidet sich vom Abrufen der Metadaten eines Berichts, bei dem nur die Konfigurationseinstellungen des Berichts zurückgegeben werden.

Hinweis

gcloud

Aktivieren Sie Cloud Shell in der Google Cloud Console.

Cloud Shell aktivieren

Unten in der Google Cloud Console wird eine Cloud Shell Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.

Informationen zum Einrichten der Authentifizierung für eine Produktionsumgebung finden Sie in der Dokumentation zur Authentifizierung unter Standardanmeldedaten für Anwendungen für Code einrichten, der in Google Cloud ausgeführt wird. Google Cloud

Python

  1. Installieren Sie die Python-Clientbibliothek für die App Optimize API.
  2. Wenn Sie die Python-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten Sie dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.

    1. Installieren Sie die Google Cloud CLI.

    2. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

    3. Wenn Sie eine lokale Shell verwenden, erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Nutzerkonto:

      gcloud auth application-default login

      Wenn Sie Cloud Shell verwenden, ist dies nicht erforderlich.

      Wenn ein Authentifizierungsfehler zurückgegeben wird und Sie einen externen Identitätsanbieter (IdP) verwenden, prüfen Sie, ob Sie sich mit Ihrer föderierten Identität in der gcloud CLI angemeldet haben.

    Weitere Informationen finden Sie in der Dokumentation zur Authentifizierung unter ADC für eine lokale Entwicklungsumgebung einrichten Google Cloud .

    Informationen zum Einrichten der Authentifizierung für eine Produktionsumgebung finden Sie in der Dokumentation zur Authentifizierung unter Standardanmeldedaten für Anwendungen für Code einrichten, der in Google Cloud ausgeführt wird. Google Cloud

REST

Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.

    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.

Weitere Informationen finden Sie in der Google Cloud Dokumentation zur Authentifizierung unter Für die Verwendung von REST authentifizieren.

Informationen zum Einrichten der Authentifizierung für eine Produktionsumgebung finden Sie in der Dokumentation zur Authentifizierung unter Standardanmeldedaten für Anwendungen für Code einrichten, der in Google Cloud ausgeführt wird. Google Cloud

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle App Optimize-Betrachter (roles/appoptimize.viewer) für das Projekt zuzuweisen, das die Berichtsressource enthält, um die Berechtigungen zu erhalten, die Sie zum Lesen der Daten eines Berichts benötigen. 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.

Berichtsdaten lesen

Folgen Sie der Anleitung für Ihre bevorzugte Methode, um Daten aus einem abgeschlossenen Bericht zu lesen:

gcloud

Verwenden Sie den Befehl gcloud beta app-optimize reports read, um die Daten eines Berichts abzurufen.

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

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Google Cloud Projekts , das die Berichtsressource enthält, die Sie lesen möchten.
  • REPORT_ID: die ID des zu lesenden Berichts. Diese ID wurde beim Erstellen des Berichts angegeben und kann durch Auflisten von Berichten abgerufen werden.

Der Befehl gcloud verarbeitet die Paginierung automatisch und gibt alle angeforderten Ressourcen zurück.

Informationen zu den W0erten im cost Feld finden Sie unter Kostenmesswerte interpretieren. Weitere Informationen zu den Daten und ihren Einschränkungen finden Sie unter Daten verstehen.

Python

Der folgende Python-Code verwendet AppOptimizeClient.read_report(), um die Daten eines Berichts zu lesen.

from google.cloud import appoptimize_v1beta

project_id = "PROJECT_ID"
report_id = "REPORT_ID"

# Create the App Optimize client and read a report's data
client = appoptimize_v1beta.AppOptimizeClient()
request = appoptimize_v1beta.ReadReportRequest(
    name=f"projects/{project_id}/locations/global/reports/{report_id}"
)
result = client.read_report(request=request)

# Display the report data
print(result)

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Google Cloud Projekts , das die Berichtsressource enthält, die Sie lesen möchten.
  • REPORT_ID: die ID des zu lesenden Berichts. Diese ID wurde beim Erstellen des Berichts angegeben und kann durch Auflisten von Berichten abgerufen werden.

Die Clientbibliothek verarbeitet die Paginierung automatisch und liefert Ergebnisse aus dem Iterator.

Informationen zu den W0erten im cost Feld finden Sie unter Kostenmesswerte interpretieren. Weitere Informationen zu den Daten und ihren Einschränkungen finden Sie unter Daten verstehen.

REST

Senden Sie eine HTTP-POST-Anfrage an die benutzerdefinierte Methode :read der REST API.

  1. Verwenden Sie den folgenden curl-Befehl, um diese Anfrage zu senden und die erste Seite der Berichtsdaten zu lesen:

    curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      -d '{"pageSize": PAGE_SIZE}' \
      "https://appoptimize.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/reports/REPORT_ID:read"
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID des Google Cloud Projekts , das die Berichtsressource enthält, die Sie lesen möchten.
    • REPORT_ID: die ID des zu lesenden Berichts. Diese ID wurde beim Erstellen des Berichts angegeben und kann durch Auflisten von Berichten abgerufen werden.
    • PAGE_SIZE: die maximale Anzahl der Zeilen, die pro Seite zurückgegeben werden sollen. Der Server gibt maximal 1.000 Zeilen pro Seite zurück, auch wenn Sie einen größeren Wert angeben. Für Antworten gilt außerdem ein Größenlimit von 10 MB. Daher werden möglicherweise weniger Zeilen zurückgegeben, um dieses Limit einzuhalten. Wenn pageSize nicht angegeben ist, wird eine Standardgröße verwendet.
  2. Wenn die Anfrage erfolgreich ist, gibt die API eine JSON-Antwort mit dem Berichtsschema und den Zeilen zurück. Hier ein Beispiel für eine erfolgreiche Antwort:

    {
      "rows": [
        [
          "//apphub.googleapis.com/projects/123456789/locations/us-central1/applications/my-app-1",
          {
            "currency_code": "USD",
            "units": "106",
            "nanos": 321590000
          }
        ],
        [
          "//apphub.googleapis.com/projects/123456789/locations/us-central1/applications/my-app-2",
          {
            "currency_code": "USD",
            "units": "797",
            "nanos": 641691000
          }
        ]
      ],
      "columns": [
        {
          "name": "application",
          "type": "STRING"
        },
        {
          "name": "cost",
          "type": "RECORD",
          "columns": [
            {
              "name": "currency_code",
              "type": "STRING"
            },
            {
              "name": "units",
              "type": "INT64"
            },
            {
              "name": "nanos",
              "type": "INT64"
            }
          ]
        }
      ],
      "nextPageToken": "AABBCCddeeffGGHHiiJJkkLL"
    }
    

    Informationen zu den W0erten im cost Feld finden Sie unter Kostenmesswerte interpretieren. Weitere Informationen zu den Daten und ihren Einschränkungen finden Sie unter Daten verstehen.

  3. Wenn die Antwort ein Feld nextPageToken enthält, enthält der Bericht zusätzliche Zeilen. Um die nächste Seite mit Ergebnissen abzurufen, senden Sie eine weitere POST-Anfrage, die dieses Token im Feld pageToken des JSON-Texts enthält:

    curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      -d '{"pageToken": "NEXT_PAGE_TOKEN", "pageSize": PAGE_SIZE}' \
      "https://appoptimize.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/reports/REPORT_ID:read"
    

    Ersetzen Sie Folgendes:

    • NEXT_PAGE_TOKEN: der Wert von nextPageToken, der in der vorherigen Antwort empfangen wurde.
    • PAGE_SIZE: die maximale Anzahl der Zeilen, die pro Seite zurückgegeben werden sollen. Sie können diesen Wert zwischen Seitenanfragen ändern. Es gelten jedoch weiterhin die serverseitigen Limits.

    Wiederholen Sie diesen Vorgang, bis die Antwort kein nextPageToken mehr enthält. Das bedeutet, dass Sie alle Berichtsdaten abgerufen haben.

Nächste Schritte