Daten eines Berichts lesen

Nachdem die App Optimize API einen Bericht erstellt hat, rufen Sie die Kosten- und Nutzungsdaten des Berichts ab. Bei diesem Vorgang werden diese Informationen als Spalten und Zeilen heruntergeladen, die entsprechend 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 Google Cloud -Authentifizierung unter Standardanmeldedaten für Anwendungen für Code einrichten, der auf Google Cloudausgeführt wird .

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, müssen Sie das nicht tun.

      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 Google Cloud -Authentifizierung unter ADC für eine lokale Entwicklungsumgebung einrichten.

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

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 Dokumentation zur Google Cloud -Authentifizierung unter Für die Verwendung von REST authentifizieren.

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

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle App Optimize Viewer (roles/appoptimize.viewer) für das Projekt zuzuweisen, in dem sich die Berichtsressource befindet, 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

So lesen Sie Daten aus einem abgeschlossenen Bericht:

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, zu dem die Berichtsressource gehört, 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 übernimmt die Paginierung automatisch und gibt alle angeforderten Ressourcen zurück.

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

Python

Im folgenden Python-Code wird AppOptimizeClient.read_report() verwendet, 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, zu dem die Berichtsressource gehört, 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 gibt Ergebnisse aus dem Iterator zurück.

Informationen zu den Werten im Feld cost 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 Befehl curl, um die erste Seite der Berichtsdaten abzurufen:

    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, zu dem die Berichtsressource gehört, 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. Antworten unterliegen außerdem einem 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 ist 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 Werten im Feld cost finden Sie unter Kostenmesswerte interpretieren. Weitere Informationen zu den Daten und ihren Einschränkungen finden Sie unter Daten verstehen.

  3. Wenn die Antwort das Feld nextPageToken enthält, enthält der Bericht zusätzliche Zeilen. Wenn Sie die nächste Ergebnisseite abrufen möchten, 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, die serverseitigen Limits gelten jedoch weiterhin.

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

Nächste Schritte