Leggere i dati di un report

Dopo che l'API App Optimize crea un report, recupera i dati di costo e utilizzo del report. Questa operazione scarica queste informazioni come colonne e righe, strutturate in base alle dimensioni e alle metriche specificate quando hai richiesto il report.

Questa richiesta API è diversa dall'ottenimento dei metadati di un report, che restituisce solo le impostazioni di configurazione del report.

Prima di iniziare

  1. Accedi al tuo Google Cloud account. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
  2. Installa Google Cloud CLI.

  3. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  4. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init
  5. Verifica di disporre delle autorizzazioni necessarie per completare questa guida.

  6. Installa Google Cloud CLI.

  7. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  8. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init
  9. Verifica di disporre delle autorizzazioni necessarie per completare questa guida.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per leggere i dati di un report, chiedi all'amministratore di concederti il ruolo IAM App Optimize Viewer (roles/appoptimize.viewer) sul progetto proprietario della risorsa report. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Leggi i dati del report

Per leggere i dati di un report completato utilizzando l'API REST, invia una richiesta HTTP POST all'endpoint :read del report.

  1. Utilizza il seguente curl comando per leggere la prima pagina dei dati del report:

    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"
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del Google Cloud progetto proprietario della risorsa report che vuoi leggere.
    • REPORT_ID: l'ID del report da leggere. Questo ID è stato specificato durante la creazione del report e può essere ottenuto elencando i report.
    • PAGE_SIZE: il numero massimo di righe da restituire per pagina. Il server restituisce un massimo di 1000 righe per pagina, anche se specifichi un valore maggiore. Le risposte sono soggette anche a un limite di dimensioni di 10 MB, quindi potrebbero essere restituite meno righe per rientrare in questo limite. Se pageSize viene omesso, viene utilizzata una dimensione predefinita.
  2. Se la richiesta va a buon fine, l'API restituisce una risposta JSON contenente lo schema e le righe del report. Ecco un esempio di risposta riuscita:

    {
      "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"
    }
    

    Per comprendere i valori nel campo cost, consulta Interpretare le metriche di costo. Per ulteriori informazioni sui dati e per comprenderne i limiti, consulta Comprendere i dati.

  3. Se la risposta include un campo nextPageToken, il report contiene altre righe. Per recuperare la pagina successiva dei risultati, effettua un'altra richiesta POST che includa questo token nel campo pageToken del corpo JSON:

    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"
    

    Sostituisci quanto segue:

    • NEXT_PAGE_TOKEN: il valore di nextPageToken ricevuto nella risposta precedente.
    • PAGE_SIZE: il numero massimo di righe da restituire per pagina. Anche se puoi modificare questo valore tra le richieste di pagina, i limiti lato server rimangono validi.

    Ripeti questa procedura finché la risposta non contiene più un nextPageToken, a indicare che hai recuperato tutti i dati del report.

Passaggi successivi