Dopo che l'API App Optimize crea un report, recuperi i dati di costo e utilizzo del report. Questa operazione scarica le 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
-
Verify that you have the permissions required to complete this guide.
Seleziona la scheda relativa a come intendi utilizzare gli esempi in questo documento:
gcloud
Installa Google Cloud CLI.
Configura gcloud CLI per utilizzare la tua identità federata.
Per ulteriori informazioni, vedi Accedi a gcloud CLI con la tua identità federata.
Per inizializzare gcloud CLI, esegui questo comando:
gcloud initDopo aver inizializzato gcloud CLI, aggiornala e installa i componenti richiesti:
gcloud components update gcloud components install beta
Per informazioni sulla configurazione dell'autenticazione per un ambiente di produzione, consulta Configura le Credenziali predefinite dell'applicazione per il codice in esecuzione su Google Cloud nella documentazione sull'autenticazione di Google Cloud .
Python
- Installa la libreria client Python per l'API App Optimize.
-
Per utilizzare gli esempi di Python in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
-
Installa Google Cloud CLI.
-
Configura gcloud CLI per utilizzare la tua identità federata.
Per ulteriori informazioni, vedi Accedi a gcloud CLI con la tua identità federata.
-
Crea le credenziali di autenticazione locali per il tuo account utente:
gcloud auth application-default login
Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Configura ADC per un ambiente di sviluppo locale nella documentazione sull'autenticazione di Google Cloud .
Per informazioni sulla configurazione dell'autenticazione per un ambiente di produzione, consulta Configura le Credenziali predefinite dell'applicazione per il codice in esecuzione su Google Cloud nella documentazione sull'autenticazione di Google Cloud .
-
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI, quindi accedi a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Autenticati per usare REST nella documentazione sull'autenticazione di Google Cloud .
Per informazioni sulla configurazione dell'autenticazione per un ambiente di produzione, consulta Configura le Credenziali predefinite dell'applicazione per il codice in esecuzione su Google Cloud nella documentazione sull'autenticazione di Google Cloud .
Ruoli obbligatori
Per ottenere le autorizzazioni
necessarie per leggere i dati di un report,
chiedi all'amministratore di concederti il ruolo IAM
Visualizzatore App Optimize (roles/appoptimize.viewer) nel 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.
Leggere i dati del report
Per leggere i dati di un report completato, segui le istruzioni per il metodo che preferisci:
gcloud
Utilizza il comando gcloud beta app-optimize reports read per recuperare i dati di un report.
gcloud beta app-optimize reports read REPORT_ID \
--project=PROJECT_ID \
--location=global
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.
Il comando gcloud gestisce automaticamente la paginazione, restituendo tutte le risorse richieste.
Per comprendere i valori nel campo cost, consulta
Interpretazione delle metriche di costo.
Per saperne di più sui dati e comprenderne i limiti, vedi
Informazioni sui dati.
Python
Il seguente codice Python utilizza AppOptimizeClient.read_report() per leggere
i dati di un report.
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)
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.
La libreria client gestisce automaticamente la paginazione, restituendo i risultati dell'iteratore.
Per comprendere i valori nel campo cost, consulta
Interpretazione delle metriche di costo.
Per saperne di più sui dati e comprenderne i limiti, vedi
Informazioni sui dati.
REST
Invia una richiesta POST HTTP al metodo personalizzato :read dell'API REST.
Utilizza il seguente comando
curlper inviare la richiesta di lettura della 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. Anche le risposte sono soggette a un limite di dimensione di 10 MB, pertanto potrebbero essere restituite meno righe per rientrare in questo limite. SepageSizeviene omesso, viene utilizzata una dimensione predefinita.
Se la richiesta riesce, l'API restituisce una risposta JSON contenente lo schema e le righe del report. Ecco un esempio di risposta corretta:
{ "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 Interpretazione delle metriche di costo. Per saperne di più sui dati e comprenderne i limiti, vedi Informazioni sui dati.Se la risposta include un campo
nextPageToken, il report contiene righe aggiuntive. Per recuperare la pagina successiva dei risultati, invia un'altra richiestaPOSTche includa questo token nel campopageTokendel 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 dinextPageTokenricevuto 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 la procedura finché la risposta non contiene più un
nextPageToken, a indicare che hai recuperato tutti i dati del report.