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
-
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.
Verify that you have the permissions required to complete this guide.
Seleziona la scheda relativa alla modalità di utilizzo degli esempi in questo documento:
gcloud
Nella Google Cloud console, attiva Cloud Shell.
Nella parte inferiore della Google Cloud console, viene avviata una sessiona di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già inclusa e installata e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.
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 Google Cloud documentazione sull'autenticazione di.
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.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Se utilizzi una shell locale, crea le credenziali di autenticazione locali per il tuo account utente:
gcloud auth application-default login
Non devi eseguire questa operazione se utilizzi Cloud Shell.
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 Google Cloud documentazione sull'autenticazione di.
-
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.
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Autenticati per usare REST nella Google Cloud documentazione sull'autenticazione di.
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 Google Cloud documentazione sull'autenticazione di.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per leggere i dati di un report, chiedi all'amministratore di concederti il ruolo IAM Visualizzatore di App Optimize (roles/appoptimize.viewer) sul progetto proprietario della risorsa del 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, 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 del 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
Interpretare le metriche di costo.
Per ulteriori informazioni sui dati e per comprenderne i limiti, consulta
Comprendere i 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 del 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, generando i risultati dall'iteratore.
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.
REST
Invia una richiesta HTTP POST al metodo personalizzato :read dell'API REST.
Utilizza il seguente
curlcomando per 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 del 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 rimanere entro questo limite. SepageSizeviene omesso, viene utilizzata una dimensione predefinita.
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.Se la risposta include un campo
nextPageToken, il report contiene altre righe. 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 questa procedura finché la risposta non contiene più un
nextPageToken, a indicare che hai recuperato tutti i dati del report.