Questa pagina si applica ad Apigee e Apigee hybrid.
Visualizza la documentazione di
Apigee Edge.
Questa sezione descrive come creare e gestire le sessioni di debug e visualizzare i dati di richiesta e risposta utilizzando l'API e l'interfaccia utente Apigee.
Utilizza Debug offline per visualizzare e analizzare le sessioni di debug scaricate in precedenza.
Creazione di una sessione di debug
Lo strumento di debug è semplice da usare. Avvii una sessione di debug, quindi effettui una chiamata API ad Apigee e visualizzi i dati di richiesta e risposta nell'interfaccia utente.
Crea una sessione di debug utilizzando la UI o l'API Apigee come descritto nelle sezioni seguenti.
UI di Cloud Console
Debug v2 (nuovo)
Per creare una sessione di debug:
- Accedi alla consoleGoogle Cloud .
- Seleziona Sviluppo di proxy > Proxy API.
- Seleziona il proxy API di cui vuoi eseguire il debug. Viene visualizzato il riquadro Panoramica dell'editor proxy.
- Fai clic sulla scheda Debug.
- Fai clic su Avvia sessione di debug. Viene visualizzato il riquadro Avvia sessione di debug.
-
Nel riquadro Avvia sessione di debug:
- Seleziona l'ambiente in cui vuoi eseguire la sessione di debug.
-
(Facoltativo) Dall'elenco a discesa Filtro, seleziona un filtro da applicare a tutte le transazioni nella sessione di debug che stai creando. Il valore predefinito è
None (All transactions)
, che include tutte le transazioni nei dati di debug.Per informazioni sull'utilizzo dei filtri, vedi Utilizzare i filtri in una sessione di debug. Per informazioni sui filtri integrati, consulta Utilizzare i filtri predefiniti.
- Fai clic su Avvia.
L'interfaccia utente Apigee ora mostra il riquadro Sessione di debug in corso.


La sessione di debug registra le richieste per 10 minuti o finché non vengono acquisite 15 richieste. Puoi modificare il limite di 10 minuti se crei la sessione di debug utilizzando l'API. Il campo Termina entro mostra la quantità di tempo rimanente nella sessione.
Nel riquadro Debug non vengono visualizzate informazioni finché non invii una richiesta al proxy di cui stai eseguendo il debug nell'ambiente selezionato per la sessione di debug.
Una volta inviata, la richiesta viene visualizzata nel riquadro dell'elenco Transazioni. L'elenco Transazioni viene aggiornato ogni cinque secondi.


Debug v1
Per creare una sessione di debug nel nuovo editor proxy:
- Accedi alla consoleGoogle Cloud .
Seleziona Sviluppo di proxy > Proxy API.
Seleziona il proxy API di cui vuoi eseguire il debug. Viene visualizzata la panoramica dell'editor proxy.
- Fai clic sulla scheda Debug in alto a sinistra nella finestra.
- Fai clic su Avvia sessione di debug in alto a destra del riquadro Debug. Viene
visualizzata la finestra di dialogo Avvia sessione di debug.
Nella finestra di dialogo:
- Seleziona l'ambiente in cui vuoi eseguire la sessione di debug.
- (Facoltativo) Dall'elenco a discesa Filtro, seleziona un filtro da applicare a
tutte le transazioni nella sessione di debug che stai creando.
Il valore predefinito è
None (All transactions)
, che include tutte le transazioni nei dati di debug.Per informazioni sull'utilizzo dei filtri, vedi Utilizzare i filtri in una sessione di debug. Per informazioni sui filtri integrati, consulta Utilizzare i filtri predefiniti.
- Fai clic su Avvia.
L'interfaccia utente Apigee ora mostra la visualizzazione Sessione di debug in corso.

La sessione di debug registra le richieste per 10 minuti o finché non vengono acquisite 15 richieste. Puoi modificare il limite di 10 minuti se crei la sessione di debug utilizzando l'API. Il campo Termina entro mostra la quantità di tempo rimanente nella sessione.
Non vedrai alcuna informazione visualizzata nel riquadro Debug finché non invii una richiesta al proxy di cui esegui il debug nell'ambiente selezionato. ambiente per la sessione di debug.
Dopo aver inviato la richiesta, questa viene visualizzata nella parte inferiore del riquadro a sinistra.
Nota:durante una sessione di debug attiva, puoi avviare un'altra sessione nell'interfaccia utente Apigee. Per farlo, fai di nuovo clic su Avvia sessione di debug.
UI classica
Per creare una sessione di debug nell'editor proxy classico:
- Accedi alla UI Apigee.
- Seleziona Proxy API dalla visualizzazione principale.
Seleziona il proxy API di cui vuoi eseguire il debug.
Viene visualizzata la scheda Panoramica.
- Fai clic sulla scheda Debug in alto a destra nella pagina:
La visualizzazione Debug mostra:
- Nel riquadro Avvia una sessione di debug:
- Dall'elenco a discesa Env (Ambiente), seleziona l'ambiente e il numero di revisione del proxy API che vuoi eseguire il debug.
- (Facoltativo) Nell'elenco a discesa Filtro, seleziona un filtro da applicare a
tutte le transazioni nella sessione di debug che stai creando.
Il valore predefinito è
None
, che include tutte le transazioni nei dati di debug.Per informazioni sull'utilizzo dei filtri, vedi Utilizzare i filtri in una sessione di debug. Per informazioni sui filtri integrati, consulta Utilizzare i filtri predefiniti.
- Fai clic su Avvia sessione di debug.
L'interfaccia utente di Apigee ora mostra i dettagli della sessione di debug corrente, incluso il relativo ID, nel riquadro Dettagli debug.
Sebbene l'interfaccia utente abbia creato la sessione di debug, devi comunque inviare la richiesta prima che ci siano dati da raccogliere.
Nel riquadro Dettagli debug puoi:
Icona Funzione Descrizione Scarica Scarica i dati di debug della sessione attiva, che puoi visualizzare offline. Restituisci il dispositivo Torna al pannello precedente, dove puoi avviare un'altra sessione di debug. La sessione di debug corrente continua fino al raggiungimento del timeout o del conteggio delle transazioni. Elimina Elimina i dati della sessione di debug attualmente selezionata. In questo modo vengono eliminati i dati della sessione, ma le sessioni non vengono interrotte. Esiste un limite di timeout predefinito di 10 minuti per una sessione di debug avviata nell'interfaccia utente (è diverso per una sessione avviata con l'API).
Il timer inizia a funzionare non appena fai clic su Avvia sessione di debug, quindi puoi scegliere di attendere fino al passaggio successivo prima di fare clic su Avvia sessione di debug per massimizzare la quantità di dati raccolti.
L'esempio seguente mostra il riquadro Avvia una sessione di debug:
- Nel riquadro Invia richieste:
- Nel campo URL, inserisci l'endpoint a cui vuoi inviare una richiesta. (Facoltativo) Aggiungi parametri della stringa di query all'URL. Non puoi inviare richieste
diverse da
GET
.Come trovare l'URL dell'endpoint
- Vai ad Amministrazione > Ambienti > Gruppi.
- L'URL è il nome host dell'ambiente con cui vuoi eseguire la sessione di debug.
- Fai clic su Invia.
Apigee invia una richiesta all'URL specificato. Ogni volta che fai clic su Invia, l'interfaccia utente di Apigee registra la richiesta nel riquadro Dettagli di debug.
L'esempio seguente mostra diverse richieste riuscite (con un codice di stato HTTP
200
):Fai clic su Copia per copiare l'ID di debug per riferimento o query futuri.
Inoltre, l'interfaccia utente mostra i dati di debug nelle sezioni Mappa delle transazioni e Dettagli fase del riquadro Invia richieste e compila le sezioni Endpoint proxy, Intestazioni richiesta, Contenuto richiesta e Proprietà, come mostrato nell'esempio seguente:
Per ulteriori informazioni sulle fasi, sulla mappa delle transazioni e su altre sezioni della visualizzazione Invia richieste, consulta Come leggere un debug.
Il riquadro Invia richieste mostra solo i dati per le richieste basate sulla UI. Tieni presente, tuttavia, che il debug registra anche i dati per le richieste non avviate dalla UI.
La sessione di debug è ora attiva e registra i dati di tutte le richieste (a meno che non vengano filtrate). La sessione rimarrà attiva fino al raggiungimento del timeout o al superamento del numero di richieste registrate nella sessione.
- Nel campo URL, inserisci l'endpoint a cui vuoi inviare una richiesta. (Facoltativo) Aggiungi parametri della stringa di query all'URL. Non puoi inviare richieste
diverse da
- Puoi creare un numero qualsiasi di sessioni di debug nella UI. Per saperne di più, vedi Avviare un'altra sessione di debug.
API
Per creare una sessione di debug utilizzando l'API, invia una richiesta POST
alla seguente risorsa:
https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/apis/$API/revisions/$REV/debugsessions
In via facoltativa, puoi:
- Imposta la durata di una sessione di debug (in secondi) passando la proprietà
timeout
come parametro di query o nel corpo della richiesta. Se vengono specificati entrambi, ha la precedenza il valoretimeout
specificato nel corpo della richiesta. - Filtra i dati in una sessione di debug passando la proprietà
filter
nel corpo della richiesta.
L'esempio seguente mostra come creare una sessione di debug utilizzando l'API.
curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions" \ -X POST \ -H "Authorization: Bearer $TOKEN"
Dove $TOKEN
è impostato sul tuo token di accesso OAuth 2.0, come descritto in
Ottenere un token di accesso OAuth 2.0. Per informazioni sulle opzioni curl
utilizzate in questo esempio, consulta la sezione
Utilizzare curl. Per una descrizione delle variabili di ambiente utilizzate,
consulta Impostazione delle variabili di ambiente per le richieste API Apigee.
Di seguito è riportato un esempio di risposta:
{ "name":"56382416-c4ed-4242-6381-591bbf2788cf", "validity":300, "count":10, "tracesize":5120, "timeout":"600" }
Le richieste successive al proxy API (fino al raggiungimento della durata della sessione o del numero massimo di richieste) verranno valutate e potenzialmente archiviate nei dati della sessione di debug.
Per saperne di più, consulta l'API Create debug session.
Impostazione della durata di una sessione di debug utilizzando l'API
Per impostare la durata di una sessione di debug utilizzando l'API, includi quanto segue come payload nella richiesta di creazione della sessione di debug:
{ "timeout":"debug_session_length_in_seconds" }
L'esempio seguente crea una sessione di debug della durata di soli 42 secondi:
curl https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions" -X "POST" \ -H "Authorization: Bearer $TOKEN" \ -d ' { "timeout":"42" } '
Puoi impostare la timeout
di una sessione solo nelle richieste di creazione di sessioni di debug. Non puoi
modificare la durata di una sessione dopo averla creata.
Il valore predefinito di timeout
è 300 (5 minuti). Il valore massimo è 600 secondi
(10 minuti).
Copia l'URL del proxy
L'URL proxy viene utilizzato per inviare richieste al proxy API.
UI di Cloud Console
Debug v2 (nuovo)
Per trovare e copiare l'URL del proxy:
- Nel riquadro Debug session (Sessione di debug), campo URL, fai clic su Copia.
- Se non è aperta una sessione di debug:
- Nella console Google Cloud , vai a Gestione > Ambienti > Gruppi di ambienti.
- L'URL è il nome host dell'ambiente con cui vuoi eseguire la sessione di debug. Selezionalo e poi copialo.
Per selezionare un URL proxy diverso:
- Nel riquadro Sessione di debug, nel campo URL, fai clic su Modifica.
- Apporta le modifiche che vuoi e poi fai clic su Aggiorna.
- Se non è aperta una sessione di debug:
- Trova l'URL del proxy.
- Fai clic su Altro, quindi fai clic su Modifica.
- Apporta le modifiche che vuoi e poi fai clic su Aggiorna.
Debug v1
Per trovare e copiare l'URL del proxy:
- Nella console Google Cloud , vai a Gestione > Ambienti > Gruppi di ambienti.
- L'URL è il nome host dell'ambiente con cui vuoi eseguire la sessione di debug. Selezionalo e poi copialo.
Per modificare l'URL del proxy:
- Trova l'URL del proxy.
- Fai clic su Altro, e poi su Modifica.
- Apporta le modifiche che vuoi e poi fai clic su Aggiorna.
UI classica
Per trovare e copiare l'URL dell'endpoint:
- Nell'interfaccia utente Apigee, vai ad Amministrazione > Ambienti > Gruppi. Verrà visualizzata la console Google Cloud , pagina Gestione > Ambienti > Gruppi di ambienti.
- L'URL è il nome host dell'ambiente con cui vuoi eseguire la sessione di debug. Selezionalo e poi copialo.
Per modificare l'URL di destinazione:
- Trova l'URL dell'endpoint.
- Fai clic su Altro, quindi fai clic su Modifica.
- Apporta le modifiche che vuoi e poi fai clic su Aggiorna.
Avvio di un'altra sessione di debug nell'interfaccia utente
Puoi creare un numero qualsiasi di sessioni di debug nella UI.
UI di Cloud Console
Durante una sessione di debug attiva, puoi avviare un'altra sessione nell'interfaccia utente Apigee. Per farlo, fai clic su
Chiudi nel riquadro Sessione di debug:

L'interfaccia utente torna al riquadro Avvia una sessione di debug, dove puoi avviare una nuova sessione di debug.
UI classica
Durante una sessione di debug attiva, puoi avviare un'altra sessione nell'interfaccia utente Apigee. Per farlo, fai clic sull'icona freccia indietro (
) nel riquadro Dettagli debug:L'interfaccia utente torna al riquadro Avvia una sessione di debug, dove puoi avviare una nuova sessione di debug.
Quando termina una sessione di debug?
Non puoi semplicemente interrompere una sessione di debug attiva. Tuttavia, puoi eliminare i dati di una sessione attiva, come descritto in Eliminare i dati della sessione di debug.
Quando crei una sessione di debug, due proprietà determinano quando termina:
- timeout:il periodo di tempo per il quale raccogli i dati durante una sessione. La durata predefinita dipende da come hai avviato la sessione (tramite la UI o l'API). Il valore massimo è 600 secondi (o 10 minuti).
- count:il numero massimo di richieste registrate in una singola sessione per processore di messaggi. Poiché il numero di processori di messaggi nella maggior parte dei cluster è variabile, gli effetti del conteggio possono essere imprevedibili. Apigee non consiglia di personalizzare questa impostazione.
Quando viene raggiunto il timeout o il conteggio, la sessione di debug per il processore di messaggi termina.
I seguenti termini vengono utilizzati per descrivere lo stato di una sessione di debug:
- Una sessione attiva è una sessione di debug che non ha ancora raggiunto il timeout o superato il conteggio. Una sessione attiva registra ancora i dati delle richieste che non vengono filtrate.
- Una sessione completata è una sessione di debug che ha raggiunto il timeout o superato il conteggio; una sessione completata non registra più dati sulle nuove richieste e i suoi dati vengono eliminati entro 24 ore dal momento in cui la sessione è terminata.
Come leggere una sessione di debug
Questa sezione fornisce una panoramica di una sessione di debug.
Vedi anche:
UI di Cloud Console
Debug v2 (nuovo)
Lo strumento di debug è composto da due parti principali: il riquadro delle transazioni e i dettagli delle fasi:
- Il riquadro della transazione utilizza icone per contrassegnare ogni passaggio importante che si verifica durante una transazione proxy API, tra cui l'esecuzione dei criteri, i passaggi condizionali e le transizioni. Passa il mouse sopra qualsiasi icona per visualizzare le informazioni di riepilogo. I passaggi del flusso di richiesta vengono visualizzati lungo la parte superiore della mappa delle transazioni, mentre i passaggi del flusso di risposta lungo la parte inferiore.
- Il riquadro Dettagli fase elenca le informazioni sull'elaborazione interna del proxy, incluse le variabili impostate o lette, le intestazioni di richiesta e risposta e molto altro ancora. Fai clic su un'icona per visualizzare i dettagli della fase per quel passaggio.
Debug v1
Questa versione dello strumento di debug utilizza un diagramma di Gantt per visualizzare i passaggi della richiesta e della risposta.
UI classica
Lo strumento di debug è composto da due parti principali: la mappa delle transazioni e i dettagli delle fasi:
- La mappa delle transazioni utilizza icone per contrassegnare ogni passaggio importante che si verifica durante una transazione proxy API, inclusi l'esecuzione delle norme, i passaggi condizionali e le transizioni. Passa il mouse sopra qualsiasi icona per visualizzare le informazioni di riepilogo. I passaggi del flusso di richiesta vengono visualizzati nella parte superiore della mappa delle transazioni e i passaggi del flusso di risposta nella parte inferiore.
- La sezione Dettagli fase dello strumento elenca informazioni sull'elaborazione interna del proxy, incluse le variabili impostate o lette, le intestazioni di richiesta e risposta e molto altro. Fai clic su un'icona per visualizzare i dettagli della fase per quel passaggio.
Riquadro Transazione
Il riquadro della transazione mostra i passaggi della richiesta e della risposta.
UI di Cloud Console
Debug v2 (nuovo)
Di seguito è riportato un riquadro delle transazioni dello strumento di debug di esempio con i segmenti di elaborazione del proxy principale etichettati:


Debug v1
Per visualizzare i dettagli di una transazione (richiesta e risposta) nella visualizzazione Debug, fai clic sulla riga della transazione per visualizzare un diagramma di Gantt nel riquadro a destra che mostra i passaggi della richiesta e della risposta.
L'asse orizzontale del diagramma indica i momenti in cui si è verificato ogni passaggio, misurati in millisecondi. Ogni passaggio è rappresentato da un rettangolo che si estende dall'ora di inizio all'ora di fine del passaggio.
Puoi scorrere una sessione di debug utilizzando i pulsanti Indietro e Avanti in basso a destra nel riquadro di debug. Fai clic su:
- Indietro per spostare la riga selezionata al passaggio precedente del grafico.
- Avanti per spostare la riga selezionata al passaggio successivo del grafico.
Nell'esempio mostrato sopra, il grafico visualizza due criteri eseguiti nella risposta:
- ResponsePayload
- Aggiungere CORS
Puoi fare clic su uno di questi passaggi per visualizzarne i dettagli. Ad esempio, se hai fatto clic sulla policy Aggiungi CORS, vedrai i dettagli come quelli mostrati di seguito accanto al grafico di Gantt.
Se poi decidi di modificare qualcosa nella configurazione delle norme, puoi fare clic su Sviluppa per passare alla visualizzazione Sviluppa, dove vedrai le stesse due norme nel post-flusso di risposta.
UI classica
Ecco una mappa di esempio dello strumento di debug con i segmenti principali di elaborazione del proxy etichettati:
Mappa delle transazioni dello strumento di debug
Legenda del riquadro delle transazioni
Di seguito sono descritte le icone nel riquadro delle transazioni:
UI di Cloud Console
Debug v2 (nuovo)
Questa sezione descrive le icone nel riquadro delle transazioni:
Icone delle norme
Ogni tipo di policy ha un'icona univoca. Queste icone ti consentono di vedere dove i criteri vengono eseguiti nell'ordine corretto e se l'esecuzione è riuscita o meno. Puoi fare clic sull'icona di una policy per visualizzare i risultati della sua esecuzione e se sono previsti o meno. Ad esempio, puoi vedere se il messaggio è stato trasformato correttamente o se è in fase di memorizzazione nella cache.
I criteri standard potenziano le tue API per controllare il traffico, migliorare le prestazioni, rafforzare la sicurezza e aumentare l'utilità delle tue API, senza richiedere la scrittura di codice o la modifica dei servizi di backend.
I criteri estensibili ti consentono di aggiungere logica personalizzata ai proxy API. Puoi utilizzare queste norme per aggiungere funzionalità non fornite dalle norme standard.
Per saperne di più su norme e categorie, consulta Panoramica del riferimento alle norme.
Per filtrare la tabella:
- Seleziona un tipo di policy e/o una categoria di policy.
- Fai clic sull'intestazione della colonna Nome per ordinare la tabella in base al nome del criterio.
- Digita una parola chiave per cercare un nome di criterio.
Icona | Nome | Tipo | Categoria |
---|---|---|---|
manage_search | Norme ParseDialogflowRequest | Estensibile | Dialog flow |
chat_add_on | Norme SetDialogflowResponse | Estensibile | Dialog flow |
stacked_line_chart | Norme DataCapture | Estensibile | Estensione |
display_external_input | Norme ExternalCallout | Standard | Estensione |
flowsheet | Norme FlowCallout | Estensibile | Estensione |
automazione | Criterio IntegrationCallout | Estensibile | Estensione |
![]() |
Norme JavaCallout | Estensibile | Estensione |
![]() |
Norme JavaScript | Estensibile | Estensione |
add_notes | Norme MessageLogging | Estensibile | Estensione |
chat_paste_go | Norme PublishMessage | Standard | Estensione |
![]() |
Norme PythonScript | Estensibile | Estensione |
integration_instructions | Norme ServiceCallout | Estensibile | Estensione |
automazione | Criterio SetIntegrationRequest | Estensibile | Estensione |
waterfall_chart | Norme TraceCapture | Estensibile | Estensione |
cloud_done | AccessEntity policy | Estensibile | Mediazione |
account_tree | Norme relative alle condizioni di asserzione | Standard | Mediazione |
edit_square | Norme AssignMessage | Estensibile | Mediazione |
login | Norme ExtractVariables | Estensibile | Mediazione |
![]() |
Norme GraphQL | Standard | Mediazione |
sync_alt | Norme HTTPModifier | Standard | Mediazione |
sync_alt | Policy JSONtoXML | Standard | Mediazione |
account_tree | Norme KeyValueMapOperations | Estensibile | Mediazione |
sync_alt | Norme MonetizationLimitsCheck | Estensibile | Mediazione |
cloud_done | Norme OASValidation | Standard | Mediazione |
report | Norme RaiseFault | Standard | Mediazione |
sync_alt | Norme ReadPropertySet | Standard | Mediazione |
cloud_done | Norme SOAPMessageValidation | Standard | Mediazione |
sync_alt | Norme XMLtoJSON | Standard | Mediazione |
cloud_done | Policy XSLTransform | Estensibile | Mediazione |
lock | Norme AccessControl | Standard | Sicurezza |
sicurezza | Norme BasicAuthentication | Estensibile | Sicurezza |
connect_without_contact | Criterio CORS | Standard | Sicurezza |
lock | Norme DecodeJWS | Estensibile | Sicurezza |
lock | Norme DecodeJWT | Standard | Sicurezza |
passkey | Norme DeleteOAuthV2Info | Estensibile | Sicurezza |
lock | GenerateSamlAssertion policy | Estensibile | Sicurezza |
lock | Norme GenerateJWS | Estensibile | Sicurezza |
lock | Norme GenerateJWT | Estensibile | Sicurezza |
passkey | Norme GetOAuthV2Info | Estensibile | Sicurezza |
lock | Norma HMAC | Standard | Sicurezza |
sicurezza | Policy JSONThreatProtection | Estensibile | Sicurezza |
passkey | Norme OAuthV2 | Estensibile | Sicurezza |
sicurezza | Norme RegularExpressionProtection | Estensibile | Sicurezza |
passkey | Norme RevokeOAuthV2 | Estensibile | Sicurezza |
passkey | Norme SetOAuthV2Info | Estensibile | Sicurezza |
lock | ValidateSamlAssertion policy | Estensibile | Sicurezza |
chiave | Norme VerifyAPIKey | Estensibile | Sicurezza |
passkey | VerificaIAM policy | Estensibile | Sicurezza |
lock | Norme VerifyJWS | Estensibile | Sicurezza |
lock | Norma VerifyJWT | Standard | Sicurezza |
sicurezza | Norme XMLThreatProtection | Estensibile | Sicurezza |
memorizzato nella cache | Policy InvalidateCache | Estensibile | Gestione del traffico |
memorizzato nella cache | Norme LookupCache | Estensibile | Gestione del traffico |
memorizzato nella cache | Norme PopulateCache | Estensibile | Gestione del traffico |
bar_chart_4_bars | Criteri per le quote | Estensibile | Gestione del traffico |
repartition | Criteri ResetQuota | Estensibile | Gestione del traffico |
memorizzato nella cache | Norme ResponseCache | Estensibile | Gestione del traffico |
emergency_home | Norme SpikeArrest | Standard | Gestione del traffico |
Altre icone
La tabella seguente descrive lo scopo delle altre icone che vedrai nel riquadro delle transazioni. Queste icone contrassegnano ciascuno dei passaggi di elaborazione importanti nel flusso del proxy.
Per filtrare la tabella:
- Seleziona un tipo di icona.
- Fai clic sull'intestazione della colonna Nome per ordinare la tabella in base al nome dell'icona.
- Digita una parola chiave per cercare il nome di un'icona.
Icona | Nome | Tipo | Descrizione |
---|---|---|---|
monitorare | App client | Transazione standard | L'app client che invia una richiesta a ProxyEndpoint del proxy API. |
cerchio | Endpoint di transizione | Transazione standard | Il cerchio contrassegna gli endpoint di transizione nel flusso del proxy. Sono presenti quando arriva una richiesta dal client, quando la richiesta viene inviata alla destinazione, quando la risposta torna dalla destinazione e quando la risposta viene inviata di nuovo al client. |
stat_0 | Segmento di flusso | Transazione standard |
Il rombo indica l'inizio di un segmento di flusso nel flusso del proxy API. I segmenti di flusso sono: richiesta ProxyEndpoint, richiesta TargetEndpoint, risposta TargetEndpoint e risposta ProxyEndpoint. Un segmento include PreFlow, Conditional Flows e PostFlow. Per maggiori informazioni, consulta la sezione Flussi condizionali. |
![]() |
Flusso condizionale vero | Transazione standard |
Un flusso condizionale che restituisce true (come un'istruzione
Tieni presente che alcune condizioni sono generate da Apigee. Ad esempio, la seguente è un'espressione che Apigee utilizza per verificare se si è verificato un errore in ProxyEndpoint:
|
![]() |
Flusso condizionale false | Transazione standard |
Un flusso condizionale che restituisce false. Per un'introduzione ai flussi condizionali, consulta Flussi condizionali. Tieni presente che alcune condizioni sono generate da Apigee. Ad esempio, la seguente è un'espressione che Apigee utilizza per verificare se si è verificato un errore in TargetEndpoint:
|
![]() |
Informazioni sul flusso | Transazione standard | Rappresenta le informazioni contestuali sull'esecuzione del proxy API, che variano a seconda del punto del flusso. Sono inclusi i dettagli sulla configurazione del proxy, lo stato di esecuzione attuale (ad es. PreFlow, PostFlow, flow hooks), dettagli di esecuzione delle norme, e variabili compilate durante l'esecuzione delle norme, per indicare lo stato specifico del proxy in quel momento. |
done_all | Esecuzione flusso | Transazione standard | Indica l'inizio o la fine dell'esecuzione di un flusso, indicando il periodo di tempo di un segmento di flusso distinto, per delimitare visivamente i confini del flusso e indicare la sequenza di esecuzione del flusso. |
commit | Elaborazione del flusso | Transazione standard | Indica l'elaborazione attiva all'interno di un flusso, che rappresenta il periodo durante il quale vengono eseguite le norme e la logica del flusso. |
bar_chart | Dati acquisiti da Apigee Analytics | Transazione standard | Indica che le azioni di Analytics sono state eseguite in background. |
location_on | Servizio di backend | Transazione standard | Servizio di backend che riceve la richiesta. Il target di backend chiamato dal proxy API. |
![]() |
Disabilitato | Stato passaggio | Viene visualizzata su un'icona di policy quando una policy è disattivata. Un criterio può essere disattivato con l'API pubblica. Consulta il riferimento per la configurazione dei proxy API. |
![]() |
Errore | Stato passaggio | Viene visualizzato su un'icona di policy quando la condizione del passaggio della policy restituisce il valore false (vedi Condizioni con variabili di flusso) o sull'icona della policy RaiseFault ogni volta che viene eseguita una policy RaiseFault. |
![]() |
Ignorata | Stato passaggio | Viene visualizzato su un'icona del criterio quando il criterio non è stato eseguito perché la condizione del passaggio è stata valutata come false. Per ulteriori informazioni, consulta la sezione Condizioni con variabili di flusso. |
Debug v1
Questa versione utilizza un diagramma di Gantt per visualizzare i passaggi della richiesta e della risposta; non è disponibile alcuna legenda.
UI classica
La tabella seguente descrive lo scopo delle icone che vedrai nella mappa delle transazioni. Queste icone contrassegnano ciascuno dei passaggi di elaborazione importanti nel flusso del proxy.
Icone della mappa delle transazioni
![]() |
L'app client che invia una richiesta a ProxyEndpoint del proxy API. |
![]() |
I cerchi contrassegnano gli endpoint di transizione nel flusso del proxy. Sono presenti quando arriva una richiesta dal client, quando la richiesta viene inviata alla destinazione, quando la risposta torna dalla destinazione e quando la risposta torna al client. |
![]() |
Le barre alte indicano l'inizio di un segmento di flusso nel flusso del proxy API. I segmenti del flusso sono: richiesta ProxyEndpoint, richiesta TargetEndpoint, risposta TargetEndpoint e risposta ProxyEndpoint. Un segmento include PreFlow, Conditional Flows e PostFlow. Per ulteriori informazioni, consulta la sezione Configurazione dei flussi. |
![]() |
Indica che le azioni di Analytics sono state eseguite in background. |
![]() |
Un flusso condizionale che restituisce true. Per un'introduzione ai flussi condizionali, vedi Configurazione dei flussi. Tieni presente che alcune condizioni sono generate da Apigee. Ad esempio, la seguente è un'espressione che Apigee utilizza per verificare se si è verificato un errore in ProxyEndpoint: ((error.state equals PROXY_REQ_FLOW) or (error.state equals
PROXY_RESP_FLOW))
|
![]() |
Un flusso condizionale che restituisce false. Per un'introduzione ai flussi condizionali, vedi Configurazione dei flussi. Tieni presente che alcune condizioni sono generate da Apigee. Ad esempio, la seguente è un'espressione che Apigee utilizza per verificare se si è verificato un errore in TargetEndpoint: (((error.state equals TARGET_REQ_FLOW) or (error.state equals
TARGET_RESP_FLOW)) or ((error.state equals REQ_SENT) or (error.state equals
RESP_START)))
|
|
Norme. Ogni tipo di policy ha un'icona univoca. Questo è per il criterio AssignMessage. Queste icone ti consentono di vedere dove vengono eseguite le policy nell'ordine corretto e se vengono eseguite correttamente o meno. Puoi fare clic sull'icona di una policy per visualizzare i risultati della sua esecuzione e se sono previsti o meno. Ad esempio, puoi vedere se il messaggio è stato trasformato correttamente o se è in fase di memorizzazione nella cache. L'esecuzione corretta delle norme è chiaramente indicata da segni di spunta. In caso di errore, sull'icona viene visualizzato un punto esclamativo rosso. |
![]() |
Il target di backend chiamato dal proxy API. |
![]() |
La cronologia indica il tempo (in millisecondi) necessario per completare l'elaborazione. Il confronto dei segmenti di tempo trascorso ti aiuta a isolare i criteri che richiedono più tempo per l'esecuzione e che rallentano le chiamate API. |
![]() |
Epsilon indica un intervallo di tempo inferiore a un millisecondo. |
![]() |
Disabilitata. Viene visualizzata su un'icona di policy quando una policy è disattivata. Un criterio può essere disattivato con l'API pubblica. Consulta il riferimento per la configurazione dei proxy API. |
![]() |
Errore. Viene visualizzato sull'icona di un criterio quando la condizione del passaggio del criterio restituisce il valore false (vedi Variabili e condizioni del flusso), o sull'icona del criterio RaiseFault ogni volta che viene eseguito un criterio RaiseFault. |
![]() |
Ignorata. Viene visualizzato su un'icona del criterio quando il criterio non è stato eseguito perché la condizione del passaggio è stata valutata come false. Per ulteriori informazioni, consulta la sezione Variabili e condizioni del flusso. |
Riquadro dei dettagli della fase
Il riquadro dei dettagli della fase indica lo stato del proxy in ogni passaggio di elaborazione.
UI di Cloud Console
Debug v2 (nuovo)
Il riquadro dei dettagli della fase ti fornisce molte informazioni sullo stato del proxy in ogni fase di elaborazione. Ecco alcuni dei dettagli forniti. Fai clic su un'icona nello strumento di debug per visualizzare i dettagli del passaggio selezionato oppure utilizza i pulsanti > Avanti o < Indietro per passare da un passaggio all'altro.
La tabella seguente descrive i dettagli forniti nel riquadro dei dettagli della fase.
Phase Detail | Descrizione |
Variabili |
Elenca le variabili di flusso che sono state lette e a cui è stato assegnato un valore da un criterio. Vedi anche Utilizzare le variabili di flusso. |
Intestazioni delle richieste | Elenca le intestazioni delle richieste HTTP. |
Richiedere contenuti | Mostra il corpo della richiesta HTTP. |
Proprietà | Le proprietà rappresentano lo stato interno del proxy API. Questi non vengono mostrati per impostazione predefinita. |
Endpoint di destinazione | Indica quale TargetEndpoint è stato selezionato per l'esecuzione. |
Intestazioni della risposta | Elenca le intestazioni della risposta HTTP. |
Contenuto della risposta | Mostra il corpo della risposta HTTP. |
Debug v1
Fai clic sui passaggi nel grafico di Gantt per visualizzare i dettagli della fase o esegui il debug di una sessione utilizzando i pulsanti > Avanti o < Indietro.
UI classica
La sezione Dettagli fase dello strumento fornisce molte informazioni sullo stato del proxy in ogni fase di elaborazione. Ecco alcuni dei dettagli forniti nei dettagli della fase. Fai clic su qualsiasi icona nello strumento di debug per visualizzare i dettagli del passaggio selezionato oppure utilizza i pulsanti Avanti/Indietro per spostarti da un passaggio all'altro.
Phase Detail | Descrizione |
Endpoint proxy | Indica quale flusso ProxyEndpoint è stato selezionato per l'esecuzione. Un proxy API può avere più endpoint proxy denominati. |
Variabili |
Elenca le variabili di flusso che sono state lette e a cui è stato assegnato un valore da un criterio. Vedi anche Utilizzo delle variabili di flusso. Nota:
|
Intestazioni delle richieste | Elenca le intestazioni delle richieste HTTP. |
Richiedere contenuti | Mostra il corpo della richiesta HTTP. |
Proprietà | Le proprietà rappresentano lo stato interno del proxy API. Questi non vengono mostrati per impostazione predefinita. |
Endpoint di destinazione | Indica quale TargetEndpoint è stato selezionato per l'esecuzione. |
Intestazioni della risposta | Elenca le intestazioni della risposta HTTP. |
Contenuto della risposta | Mostra il corpo della risposta HTTP. |
PostClientFlow | Mostra informazioni su PostClientFlow, che viene eseguito dopo che la richiesta è restituita all'app client richiedente. Solo i criteri MessageLogging possono essere collegati a PostClientFlow. PostClientFlow viene attualmente utilizzato principalmente per misurare l'intervallo di tempo tra i timestamp di inizio e fine del messaggio di risposta. |
Cronologia
La sequenza temporale indica la durata (in millisecondi) del tempo di elaborazione necessario per il completamento. Il confronto dei segmenti di tempo trascorso ti aiuta a isolare i criteri che richiedono più tempo per l'esecuzione e che rallentano le chiamate API.
Epsilon indica un intervallo di tempo inferiore a un millisecondo.
UI di Cloud Console
Debug v2 (nuovo)


Debug v1


UI classica


Espandere e comprimere gruppi
Questa sezione descrive come espandere e comprimere i gruppi nel riquadro Transazione.
UI di Cloud Console
Debug v2 (nuovo)
I passaggi della transazione, sia per la richiesta che per la risposta, sono raggruppati in base a come sono stati configurati in precedenza nella scheda Sviluppo; per flusso condiviso. Ad esempio: pre-proxy, post-proxy, pre-target e post-target.
Ogni raggruppamento mostra chiaramente le norme, le condizioni, i flussi condivisi e le informazioni sui flussi pertinenti.
I flussi condivisi sono raggruppati e compressi per impostazione predefinita.
Nel riquadro Transazione sono disponibili le seguenti azioni:
Elemento | Nome | Descrizione |
---|---|---|
![]() <img <="" alt="collapse all slider" class="screenshot" src="/static/apigee/docs/api-platform/debug/images/collapse_all_slider.png" td="" width="" /> |
Espandi tutto Comprimi tutto |
Espandi o comprimi tutti i gruppi. |
![]() ![]() |
Espandi Comprimi |
Espandi o comprimi un gruppo. |
Vedi anche:
Debug v1
L'espansione e il collasso dei gruppi non sono disponibili in questa versione.
UI classica
L'espansione e il collasso dei gruppi non sono disponibili in questa versione.
Cerca
La ricerca ti consente di trovare una parola o una frase nella richiesta o nella risposta.
UI di Cloud Console
Debug v2 (nuovo)
La ricerca ti consente di trovare una parola o una frase nella richiesta o nella risposta.
Tieni presente quanto segue:
- La ricerca non distingue tra maiuscole e minuscole
- La ricerca si applica a una singola transazione, ovvero non esegue la ricerca in tutte le transazioni dell'intera sessione di debug.
- La ricerca espande le sezioni compresse, ma non mostra le informazioni sui nodi filtrati dalle selezioni delle Opzioni di visualizzazione.
Per effettuare una ricerca:
- Digita il testo nella casella di ricerca.
-
Premi Invio.
I risultati della ricerca sono evidenziati nel riquadro Transazione e nel riquadro Dettagli fase.
- Fai clic su keyboard_arrow_up Indietro o keyboard_arrow_down Avanti per passare al passaggio successivo o precedente.


Debug v1
La ricerca non è disponibile in questa versione.
UI classica
La ricerca non è disponibile in questa versione.
Zoom
Lo zoom ti consente di controllare la visualizzazione del riquadro Transazione.
UI di Cloud Console
Debug v2 (nuovo)
Lo zoom controlla la visualizzazione del riquadro Transazione nel seguente modo:


Icona | Descrizione |
---|---|
100% | Livello di zoom attuale. Il valore predefinito è 100%. |
fit_screen | Adatta allo schermo |
zoom_in | Aumenta lo zoom |
zoom_out | Diminuisci lo zoom |
youtube_searched_for | Reimpostazione zoom |
Debug v1
Lo zoom non è disponibile in questa versione.
UI classica
Lo zoom non è disponibile in questa versione.
Debug con lo strumento di debug
Il debug consente di visualizzare molti dettagli interni di un proxy API. Ad esempio:
- Puoi vedere a colpo d'occhio quali criteri vengono eseguiti correttamente o meno.
- Supponiamo che in una delle dashboard Analytics tu abbia notato che il rendimento di una delle tue API sta diminuendo in modo anomalo. Ora puoi utilizzare Debug per identificare il punto in cui si verifica il collo di bottiglia. Debug indica il tempo, in millisecondi, necessario per il completamento di ogni fase di elaborazione. Se noti che un passaggio richiede troppo tempo, puoi intraprendere un'azione correttiva.
- Puoi controllare le intestazioni inviate al backend, visualizzare le variabili impostate dai criteri e così via.
- Verificando il percorso di base, puoi assicurarti che un criterio indirizzi il messaggio al server corretto.
Filtrare i dati in una sessione di debug
Quando crei una sessione di debug, puoi aggiungere un filtro in modo che Apigee restituisca solo i dati che ti interessano. Un filtro è un'istruzione condizionale che Apigee valuta in base ai messaggi di richiesta e risposta per determinare se i relativi dati di debug devono essere inclusi nella sessione di debug. Ad esempio, puoi filtrare tutte le richieste con un codice di risposta HTTP inferiore a 599 o confrontare i valori nella richiesta con le variabili personalizzate.
Tieni presente quanto segue:
- Le richieste non incluse in una sessione di debug perché filtrate non vengono conteggiate ai fini del numero massimo di transazioni nella sessione di debug.
- Apigee non supporta l'aggiunta di filtri nella stringa di query.
- Non puoi aggiungere un filtro a una sessione di debug una volta avviata. Per aggiungere un filtro, devi creare una sessione di debug.
Utilizzo dei filtri
Utilizza un filtro quando crei una sessione di debug utilizzando l'API o l'interfaccia utente Apigee, come descritto nelle sezioni seguenti.
UI di Cloud Console
Quando crei una sessione di debug nell'interfaccia utente, nell'elenco a discesa Filtri puoi scegliere un filtro predefinito da applicare nel riquadro Avvia una sessione di debug oppure scegliere Filtro personalizzato e crearne uno tuo con la sintassi dei filtri.
UI classica
Quando crei una sessione di debug nell'interfaccia utente, nell'elenco a discesa Filtri puoi scegliere un filtro predefinito da applicare nel riquadro Avvia una sessione di debug oppure scegliere Filtro personalizzato e crearne uno tuo con la sintassi dei filtri.
API
Per creare una sessione di debug con un filtro utilizzando l'API, includi quanto segue come payload nella richiesta di creazione della sessione di debug:
{ "filter":"filter_body" }
Per informazioni sulla creazione dei filtri, consulta Sintassi dei filtri.
L'esempio seguente crea una sessione di debug che include solo le transazioni in cui
l'intestazione A
è uguale a 42
e l'intestazione B
è uguale a 43
oppure
il codice di errore è ExpectedEOF
:
curl -H "Authorization: Bearer $TOKEN" -X "POST" https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions -d ' { "filter":"(request.header.A == '42' && request.header.B == '43') || fault.code == 'jsonparser.ExpectedEOF'" } '
Puoi definire un filtro solo nelle richieste di creazione della sessione di debug. Non puoi aggiungere un filtro a una sessione di debug esistente né rimuoverlo da una sessione di debug attiva.
Sintassi filtro
I filtri supportano la stessa sintassi utilizzata dalle condizioni Apigee, come descritto in Riferimento alle condizioni. È incluso quanto segue:
- Raggruppamento
- AND logico (
&&
) e OR (|"
) - Espressioni di percorso
- Operatori e operandi
- Valori letterali
(
null
,true
efalse
)
Inoltre, i filtri possono accedere a tutte le variabili di flusso descritte nel riferimento alle variabili di flusso, nonché alle variabili personalizzate. Gli esempi seguenti mostrano solo alcune delle variabili di flusso possibili che puoi utilizzare nei filtri:
# Response codes: response.status.code <= 599 response.status.code >=301 && response.status.code <=420 # Requests/responses: request.verb == "GET" request.header.A == 'B' || request.queryparam.X == 'Y' # Query parameters: request.queryparam.myparam == 'fish' (request.queryparam.param1 == 'X' || request.queryparam.param2 == 'Y') && request.queryparam.param3 == 'Z' # Faults: fault.code != 'messaging.runtime.RouteFailed' fault.name == 'IPDeniedAccess'
Per informazioni sull'utilizzo delle variabili personalizzate, consulta How to use custom attributes in Apigee nella community Apigee.
Filtri dell'interfaccia utente predefiniti
La UI di Apigee fornisce un insieme di filtri comuni in modo da non dover scrivere filtri personalizzati. I filtri predefiniti sono riassunti nella tabella seguente.
Nome filtro | Descrizione |
---|---|
Response Time Greater Than |
Controlla la presenza di problemi di latenza in cui:
Ad esempio: target.duration > 420 && client.duration > 1000 Per ulteriori informazioni, vedi
|
Response Code |
Verifica se il codice di risposta HTTP corrisponde al valore specificato. Ad esempio: response.status.code <= 599 |
Header |
Verifica se l'intestazione della richiesta specificata è uguale al valore specificato; ad esempio: request.header.cache-control.1 == "16544" |
Path |
Verifica se la richiesta corrisponde al percorso specificato. Puoi utilizzare la corrispondenza con i caratteri jolly nel valore. Ad esempio: request.path == /myproxy/customer/4* |
Query Param |
Verifica se il parametro di query della richiesta specificato è uguale al valore specificato; ad esempio: request.queryparam.lang == "language:en-us" |
Custom |
Consente di inserire le tue espressioni. Puoi utilizzare qualsiasi oggetto nei riferimenti alle variabili di flusso e la sintassi nei riferimenti alle condizioni. Inoltre, puoi utilizzare variabili personalizzate. Per saperne di più sulla creazione di filtri personalizzati, consulta Sintassi dei filtri. |
Visualizzare le sessioni di debug
Apigee salva i dati della sessione di debug per 24 ore. Non puoi configurare questo valore; dopo 24 ore, i dati non saranno più disponibili. Prima di questo periodo, puoi visualizzare le sessioni di debug.
Visualizza le sessioni di debug recenti utilizzando la UI o l'API Apigee, come descritto nelle sezioni seguenti.
UI di Cloud Console
Debug v2 (nuovo)
Per visualizzare le sessioni di debug utilizzando la console Google Cloud
- Accedi alla consoleGoogle Cloud .
Fai clic su Sviluppo proxy > Proxy API.
- Fai clic sul proxy di cui vuoi eseguire il debug.
- Fai clic sulla scheda Debug.
- La sezione Sessioni di debug recenti mostra un elenco delle sessioni di debug disponibili.
Fai clic sul link relativo alla sessione che vuoi visualizzare.
Debug v1
Per visualizzare le sessioni di debug utilizzando il nuovo editor proxy:
- Accedi alla consoleGoogle Cloud .
Seleziona Sviluppo di proxy > Proxy API.
- Seleziona il proxy di cui vuoi eseguire il debug.
- Fai clic sulla scheda Debug.
- La sezione Sessioni di debug recenti mostra un elenco delle sessioni di debug disponibili.
Fai clic sul link relativo alla sessione che vuoi visualizzare.
UI classica
Per visualizzare le sessioni di debug utilizzando l'editor proxy classico:
- Accedi alla UI Apigee.
- Seleziona Proxy API dalla visualizzazione principale.
- Seleziona il proxy di cui vuoi eseguire il debug.
- Fai clic sulla scheda Debug in alto a destra nella visualizzazione Deployment.
- Nel riquadro Sessioni di debug recenti:
- Dall'elenco a discesa Env, seleziona l'ambiente del proxy API di cui vuoi visualizzare la sessione di debug.
- Dall'elenco a discesa Rev (Revisione), seleziona il numero di revisione del proxy API di cui vuoi visualizzare la sessione di debug.
La UI di Apigee mostra un elenco delle sessioni di debug disponibili.
Fai clic sul link relativo alla sessione che vuoi visualizzare.
L'interfaccia utente Apigee carica la sessione di debug e compila il riquadro Invia richieste con i dati di debug.
API
Utilizzando l'API, puoi:
- Visualizzare tutte le sessioni di debug
- Visualizzare tutte le transazioni per una sessione di debug
- Visualizzare i dati delle transazioni per una sessione di debug
Visualizzare tutte le sessioni di debug utilizzando l'API
Per visualizzare tutte le sessioni di debug recenti definite per una revisione del proxy API in un ambiente, invia una richiesta GET alla seguente risorsa:
https://apigee.googleapis.com/v1/organizations/org/environments/env/apis/api/revisions/rev/debugsessions
Se vuoi, puoi specificare uno dei seguenti parametri di ricerca per controllare la quantità di dati restituiti:
- pageSize: numero massimo di sessioni di debug da elencare. Le dimensioni della pagina sono impostate su 25 per impostazione predefinita.
- pageToken: token di pagina, restituito da una chiamata precedente, che puoi utilizzare per recuperare la pagina successiva.
L'esempio seguente mostra come visualizzare le sessioni di debug per la revisione 1 del proxy API helloworld
nell'ambiente test
.
curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions" \ -X GET \ -H "Authorization: Bearer $TOKEN"
Dove $TOKEN
è impostato sul tuo token di accesso OAuth 2.0, come descritto in
Ottenere un token di accesso OAuth 2.0. Per informazioni sulle opzioni curl
utilizzate in questo esempio, consulta la sezione
Utilizzare curl. Per una descrizione delle variabili di ambiente utilizzate,
consulta Impostazione delle variabili di ambiente per le richieste API Apigee.
La risposta include un oggetto sessions
che contiene un elenco di sessioni di debug attualmente
attive, come mostrato nel seguente esempio:
{ "sessions": [ { "id": "a423ac73-0902-4cfa-4242-87a353a84d87", "timestamp_ms": 1566330186000 }, { "id": "f1eccbbe-1fa6-2424-83e4-3d063b47728a", "timestamp_ms": 1566330286000 } ] }
Nella risposta sono incluse solo le sessioni di debug che contengono almeno una transazione; le sessioni di debug che non hanno transazioni non sono incluse in questo elenco.
Per saperne di più, consulta API List Debug sessions.
Visualizzare tutte le transazioni per una sessione di debug utilizzando l'API
Per visualizzare un elenco delle transazioni per una sessione di debug, invia una richiesta GET alla seguente risorsa:
https://apigee.googleapis.com/v1/organizations/org/environments/env/apis/api/revisions/rev/debugsessions/debugsession/data
Dove debugsession è l'ID di una sessione di debug restituito quando visualizzi le sessioni di debug.
L'esempio seguente mostra come visualizzare le transazioni per una sessione di debug per la revisione 1 dell'API helloworld
nell'ambiente test
.
curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions/a423ac73-0902-4cfa-4242-87a353a84d87/data" \ -X GET \ -H "Authorization: Bearer $TOKEN"
Dove $TOKEN
è impostato sul tuo token di accesso OAuth 2.0, come descritto in
Ottenere un token di accesso OAuth 2.0. Per informazioni sulle opzioni curl
utilizzate in questo esempio, consulta la sezione
Utilizzare curl. Per una descrizione delle variabili di ambiente utilizzate,
consulta Impostazione delle variabili di ambiente per le richieste API Apigee.
La risposta include un array di ID transazione, come mostrato nell'esempio seguente:
[ "myorg-test-ver-5qxdb-64", "myorg-test-ver-5qxdb-65", "myorg-test-ver-5qxdb-66", "myorg-test-ver-5qxdb-67", "myorg-test-ver-5qxdb-68", "myorg-test-ver-5qxdb-69", "myorg-test-ver-5qxdb-70", "myorg-test-ver-5qxdb-71", "myorg-test-ver-5qxdb-72" ]
Per saperne di più, consulta API List debug session data.
Visualizzare i dati delle transazioni per una sessione di debug utilizzando l'API
Per visualizzare i dati delle transazioni per una sessione di debug, invia una richiesta GET alla seguente risorsa:
https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}/debugsessions/{debugsession}/data/{transactionId}
Dove debugsession è l'ID di una sessione di debug restituito quando visualizzi le sessioni di debug e transactionId è l'ID transazione restituito quando visualizzi un elenco di transazioni per una sessione di debug.
I dati delle transazioni salvati durante una sessione di debug sono formattati in JSON. Puoi caricare questi dati nello strumento di debug offline.
L'esempio seguente mostra come scaricare i dati delle transazioni per una sessione di debug per la revisione 1 dell'API helloworld
nell'ambiente test
.
curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions/a423ac73-0902-4cfa-4242-87a353a84d87/data/myorg-test-ver-5qxdb-64" \ -X GET \ -H "Authorization: Bearer $TOKEN"
Dove $TOKEN
è impostato sul tuo token di accesso OAuth 2.0, come descritto in
Ottenere un token di accesso OAuth 2.0. Per informazioni sulle opzioni curl
utilizzate in questo esempio, consulta la sezione
Utilizzare curl. Per una descrizione delle variabili di ambiente utilizzate,
consulta Impostazione delle variabili di ambiente per le richieste API Apigee.
La risposta è costituita da un payload JSON contenente i dati della transazione specificata, come descritto in Struttura dei dati di download.
I dati di debug contengono tutte le informazioni sulla richiesta e sulla risposta per ogni parte del flusso in un formato JSON proprietario. Puoi salvare questi dati e utilizzarli in un secondo momento nello strumento di debug offline.
Se non sono state aggiunte richieste alla sessione prima della sua chiusura, la risposta avrà il seguente aspetto:
[]
Per saperne di più, consulta API Get debug session data.
Selezionare le opzioni di visualizzazione nell'interfaccia utente
Questa sezione descrive come selezionare le opzioni di visualizzazione per filtrare i contenuti mostrati nella UI.
UI di Cloud Console
Per scegliere le opzioni di visualizzazione per la sessione di debug, seleziona o deseleziona le opzioni nel riquadro Opzioni di visualizzazione. Queste opzioni di visualizzazione vengono salvate per ogni utente durante la sessione di debug.


Opzione | Descrizione |
---|---|
Mostra policy disattivate | Mostra le policy disattivate. Un criterio può essere disattivato con l'API pubblica. Consulta il riferimento per la configurazione dei proxy API. |
Mostra policy saltate | Mostra le policy ignorate. Un criterio ignorato si verifica quando il criterio non è stato eseguito perché la condizione del passaggio è stata valutata come false. Per ulteriori informazioni, consulta la sezione Condizioni con variabili di flusso. |
Mostra tutte le FlowInfo | Rappresentano le transizioni all'interno di un segmento di flusso. |
Mostra tutte le condizioni del flusso | Rappresentano le condizioni valutate per ogni flusso. |
UI classica
Per scegliere le opzioni di visualizzazione per la sessione di debug, seleziona o deseleziona le opzioni nel riquadro Opzioni di visualizzazione:
Opzione | Descrizione |
---|---|
Mostra policy disattivate | Mostra le policy disattivate. Un criterio può essere disattivato con l'API pubblica. Consulta il riferimento per la configurazione dei proxy API. |
Mostra fasi saltate | Mostra le fasi saltate. Una fase ignorata si verifica quando le norme non sono state eseguite perché la condizione del passaggio è stata valutata come false. Per ulteriori informazioni, consulta la sezione Condizioni con variabili di flusso. |
Mostra tutte le FlowInfo | Rappresentano le transizioni all'interno di un segmento di flusso. |
Confronta automaticamente la fase selezionata | Confronta la fase selezionata con quella precedente. Disattiva questa opzione per visualizzare solo la fase selezionata. |
Mostra variabili | Mostra o nascondi le variabili che sono state lette e/o a cui è stato assegnato un valore. |
Mostra proprietà | Le proprietà rappresentano lo stato interno del proxy API. (Nascosto per impostazione predefinita.) |
Condividere una sessione di debug
Puoi condividere una sessione di debug con altri utenti che hanno accesso alla tua organizzazione e le autorizzazioni necessarie. Per farlo, invia loro l'URL visualizzato nel browser quando visualizzi la sessione di debug. Il link è valido solo per 24 ore dopo la creazione della sessione di debug.
Download dei dati della sessione di debug in corso…
Puoi scaricare un file dei risultati di debug non elaborati per la visualizzazione offline. Il file scaricato mostra i dettagli completi della sessione di debug, inclusi i contenuti di tutte le intestazioni, le variabili e i criteri.
I dati della sessione di debug sono disponibili per il download o la visualizzazione nell'interfaccia utente solo per 24 ore. Dopo questo punto, Apigee elimina i dati della sessione.
Per visualizzare i dati della sessione di debug scaricati, utilizza lo strumento di debug offline.
UI di Cloud Console
Debug v2 (nuovo)
Per scaricare la sessione di debug corrente nella console Google Cloud , fai clic su Scarica nella visualizzazione Debug.


Debug v1
Per scaricare la sessione di debug corrente nel nuovo editor proxy, fai clic su Scarica sessione nel riquadro a sinistra della visualizzazione Debug.
Tieni presente che una sessione di debug viene eliminata entro 24 ore dal completamento, quindi se vuoi visualizzarla dopo questo periodo di tempo, devi scaricarla prima.
UI classica
Per scaricare i dati della sessione di debug corrente utilizzando l'editor proxy classico:
- Sessione attiva:fai clic sull'icona di download (
) nel riquadro Dettagli di debug.
- Sessione precedente:fai clic sul nome della sessione nel riquadro Sessioni di debug recenti, come descritto in Visualizzazione delle sessioni di debug. Poi
fai clic su
nel riquadro Dettagli debug.
API
Per visualizzare gli ID di tutte le transazioni per la sessione di debug corrente utilizzando l'API Apigee, inserisci questo comando:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions/SESSION_ID/data
dove SESSION_ID è l'ID della sessione di debug che vuoi scaricare.
Consulta Elencare gli ID transazione di una sessione di debug.
Per ottenere i dati di debug per una transazione utilizzando l'API Apigee, inserisci il seguente comando:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions/SESSION_ID/data/TRANSACTION_ID
Scarica la struttura dei dati
La struttura di download dei dati della sessione di debug è diversa per l'interfaccia utente Apigee e l'API Apigee.
UI di Cloud Console
Quando scarichi i dati utilizzando la UI di Apigee, la struttura dei dati:
- Include tutte le transazioni dell'intera sessione
- Memorizza le transazioni in un array
Messages
- Include i metadati sulla sessione (come oggetto
DebugSession
)
UI classica
Quando scarichi i dati utilizzando la UI di Apigee, la struttura dei dati:
- Include tutte le transazioni dell'intera sessione
- Memorizza le transazioni in un array
Messages
- Include i metadati sulla sessione (come oggetto
DebugSession
)
API
Non puoi utilizzare l'API Apigee per visualizzare contemporaneamente i dati di un'intera sessione; puoi solo utilizzare l'API per visualizzare i dati delle singole transazioni, come descritto in Visualizzare le sessioni di debug.
Ad esempio:
{ "completed": true, "point": [ ... ... }
Scaricare esempi di dati
L'esempio seguente evidenzia un oggetto metadati DebugSession
nei dati scaricati. Questo oggetto è seguito dall'array Messages
che contiene le transazioni
nella sessione.
{ "DebugSession": { "Retrieved": "2019-06-08T13:08:13.395Z", "Organization": "myorg", "Environment": "prod", "API": "myproxy", "Revision": "1", "SessionId": "a2a271aa-4242-4ac6-97cb-aec8dcb115a9" }, "Messages": [ { "completed": true, "point": [ { "id": "Paused" }, { "id": "Resumed" }, { "id": "StateChange", "results": [ { "ActionResult": "DebugInfo", "properties": { "property": [ { "name": "To", "value": "REQ_HEADERS_PARSED" }, { "name": "From", "value": "REQ_START" } ] }, "timestamp": "8-6-19 13:08:37:718" }, { "ActionResult": "RequestMessage", "headers": [ { "name": "accept", "value": "*/*" }, { "name": "accept-encoding", "value": "gzip,gzip,deflate,br" }, { "name": "content-length", "value": "0" }, { "name": "host", "value": "myorg.example.domain.net" }, { "name": "user-agent", "value": "Google-Apigee" }, { "name": "x-b3-sampled", "value": "0" }, { "name": "x-b3-spanid", "value": "d4ee579206759662" }, { "name": "x-b3-traceid", "value": "adc1e171777c237dd4ee579206759662" }, { "name": "x-forwarded-for", "value": "66.102.8.98" }, { "name": "x-forwarded-proto", "value": "https" }, { "name": "x-request-id", "value": "54e05cba-4242-4490-4242-60c45c156f90" } ], "uRI": "/myproxy", "verb": "GET" } ] }, { "id": "FlowInfo", "results": [ { "ActionResult": "DebugInfo", "properties": { "property": [ { "name": "environment.name", "value": "prod" }, { "name": "environment.qualifiedname", "value": "myorg__prod" }, { "name": "environment.orgname", "value": "myorg" } ] }, "timestamp": "8-6-19 13:08:37:718" } ] }, { "id": "FlowInfo", "results": [ { "ActionResult": "DebugInfo", "properties": { "property": [ { "name": "organization.name", "value": "myorg" } ] }, "timestamp": "8-6-19 13:08:37:718" } ] }, { "id": "FlowInfo", "results": [ { "ActionResult": "DebugInfo", "properties": { "property": [ { "name": "apiproxy.qualifiedname", "value": "myproxy__1" }, { "name": "apiproxy.basepath", "value": "/" }, { "name": "apiproxy.revision", "value": "1" }, { "name": "apiproxy.name", "value": "myproxy" } ] }, "timestamp": "8-6-19 13:08:37:718" } ] }, ... ... } ] }
Se la sessione di debug non includeva richieste, l'array Message
è vuoto,
come mostrato nell'esempio seguente:
{ "DebugSession": { "Retrieved": "2019-06-08T13:08:13.395Z", "Organization": "myorg", "Environment": "prod", "API": "myproxy", "Revision": "1", "SessionId": "a2a271aa-4242-4ac6-97cb-aec8dcb115a9" }, "Messages": [] }
Eliminazione dei dati per una sessione di debug
Elimina i dati per una sessione di debug utilizzando la UI o l'API Apigee, come descritto nelle sezioni seguenti.
UI di Cloud Console
Debug v2 (nuovo)
Per eliminare una sessione di debug nella Google Cloud console:
- Nella scheda Debug, fai clic sulla riga della sessione che vuoi eliminare.
- Nel riquadro Sessione di debug, fai clic su Elimina.


Debug v1
Per eliminare una sessione di debug nel nuovo Editor proxy:
- Seleziona la riga della sessione che vuoi eliminare.
- Fai clic sul menu con tre puntini alla fine della riga e seleziona Elimina.
UI classica
Fai clic su
nel riquadro Dettagli debug per la sessione di debug.
API
Per eliminare tutti i dati della sessione di debug utilizzando l'API, invia una richiesta DELETE alla seguente risorsa:
https://apigee.googleapis.com/v1/organizations/org/environments/env/apis/api/revisions/rev/debugsessions/debugsession/data
Dove debugsession è l'ID di una sessione di debug restituito quando visualizzi le sessioni di debug.
L'esempio seguente mostra come eliminare i dati della sessione di debug per la revisione 1 dell'API helloworld
nell'ambiente test
.
curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions/a423ac73-0902-4cfa-4242-87a353a84d87/data" \ -X DELETE \ -H "Authorization: Bearer $TOKEN"
Dove $TOKEN
è impostato sul tuo token di accesso OAuth 2.0, come descritto in
Ottenere un token di accesso OAuth 2.0. Per informazioni sulle opzioni curl
utilizzate in questo esempio, consulta la sezione
Utilizzare curl. Per una descrizione delle variabili di ambiente utilizzate,
consulta Impostazione delle variabili di ambiente per le richieste API Apigee.
In caso di esito positivo, il corpo della risposta sarà vuoto.
I dati della sessione di debug vengono conservati solo per 24 ore. Se non lo elimini esplicitamente prima di questo periodo, Apigee lo elimina per te.