Riferimento alle variabili di flusso

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
info

Questa sezione fornisce informazioni di riferimento sulle variabili del flusso.

Apigee Edge definisce le seguenti variabili di flusso:

apigee              loadbalancing        route
apiproxy            message              router
application         messageid            servicecallout
client              organization         system
current             proxy                target
environment         ratelimit            variable
error               request              virtualhost
is                  response
                               

Ognuna di queste variabili è descritta nelle sezioni seguenti.

apigee

Una variabile di supporto che fornisce informazioni sul tempo di esecuzione del criterio.

La tabella seguente descrive le proprietà della variabile apigee:

Proprietà Tipo Lettura/scrittura Descrizione Inizio dell'ambito
apigee.metrics.policy.policy_name.timeTaken Numero intero Sola lettura Il tempo, in nanosecondi, necessario per l'esecuzione del criterio. Norme

apiproxy

Descrive il proxy API.

La tabella seguente descrive le proprietà della variabile apiproxy:

Proprietà Tipo Lettura/scrittura Descrizione Inizio dell'ambito
apiproxy.name Stringa Sola lettura Nome del proxy API. Ad esempio, "Il mio proxy". Richiesta proxy
apiproxy.revision Stringa Sola lettura Il numero di revisione di un proxy API. Ad esempio, "6". Richiesta proxy

Per ulteriori informazioni sull'utilizzo dei proxy API, consulta Informazioni sulle API e sui proxy API.

application

Un contenitore per la proprietà application.basepath.

La tabella seguente descrive le proprietà della variabile application:

Proprietà Tipo Lettura/scrittura Descrizione Inizio dell'ambito
application.basepath Stringa Sola lettura Il percorso di base del deployment (specificato durante il deployment dell'API). Richiesta proxy

client

L'applicazione o il sistema che ha inviato una richiesta al router Edge.

La tabella seguente descrive le proprietà della variabile client:

Proprietà Tipo Lettura/scrittura Descrizione Inizio dell'ambito
client.cn Stringa Sola lettura

Il nome comune specificato nel certificato TLS/SSL presentato dall'app client.

Richiesta proxy
client.country Stringa Sola lettura

Il paese nel certificato TLS/SSL presentato dall'app client.

Richiesta proxy
client.email.address Stringa Sola lettura

L'indirizzo email nel certificato TLS/SSL presentato dall'app client.

Richiesta proxy
client.host Stringa Sola lettura

L'indirizzo IP dell'host HTTP associato alla richiesta ricevuta da ProxyEndpoint.

Richiesta proxy
client.ip Stringa Sola lettura

L'indirizzo IP del client o del sistema che invia il messaggio al router Edge. Ad esempio, potrebbe essere l'IP del client originale o l'IP di un bilanciatore del carico.

Richiesta proxy
client.locality Stringa Sola lettura

La località (città) nel certificato TLS/SSL presentato dal client.

Richiesta proxy
client.organization Stringa Sola lettura L'organizzazione nel certificato TLS/SSL presentato dal client. (Non necessariamente equivalente all'organizzazione su Apigee Edge). Richiesta proxy
client.organization.unit Stringa Sola lettura

L'unità organizzativa nel certificato TLS/SSL presentato dal client.

Richiesta proxy
client.port Numero intero Sola lettura

La porta HTTP associata alla richiesta del client di origine a ProxyEndpoint.

Richiesta proxy
client.received.end.time Stringa Sola lettura

La data e l'ora, espresse in formato stringa, in cui il proxy ha terminato di ricevere la richiesta dal client di origine in ProxyEndpoint. Ad esempio: Wed, 21 Aug 2013 19:16:47 UTC.

Questo valore temporale è la rappresentazione in stringa della quantità del timestamp a 32 bit corrispondente. Ad esempio, "Wed, 21 Aug 2013 19:16:47 UTC" corrisponde al valore del timestamp 1377112607413.

Richiesta proxy
client.received.end.timestamp Lungo Sola lettura

Il valore timestamp che specifica quando il proxy ha terminato di ricevere la richiesta dal client di origine in ProxyEndpoint. Questo valore è un numero intero a 64 bit (long) contenente il numero di millisecondi trascorsi dalla mezzanotte del 1° gennaio 1970 UTC.

Richiesta proxy
client.received.start.time Stringa Sola lettura

L'ora, espressa in formato stringa, in cui il proxy ha iniziato a ricevere la richiesta dal client di origine in ProxyEndpoint. Ad esempio: Wed, 21 Aug 2013 19:16:47 UTC

Questo valore temporale è la rappresentazione in stringa della quantità del timestamp a 32 bit corrispondente. Ad esempio, "Wed, 21 Aug 2013 19:16:47 UTC" corrisponde al valore del timestamp 1377112607413.

Richiesta proxy
client.received.start.timestamp Lungo Sola lettura

Il valore del timestamp che specifica quando il proxy ha iniziato a ricevere la richiesta dal client di origine in ProxyEndpoint. Questo valore è un numero intero a 64 bit (long) contenente il numero di millisecondi trascorsi dalla mezzanotte del 1° gennaio 1970 UTC.

Richiesta proxy
client.scheme Stringa Sola lettura

Restituisce http o https a seconda del protocollo di trasporto utilizzato dall'app client per inviare il messaggio di richiesta.

Richiesta proxy
client.sent.end.time Stringa Sola lettura

L'ora, espressa in formato di stringa, in cui il proxy ha terminato l'invio della risposta da ProxyEndpoint al client. Ad esempio: "Wed, 21 Aug 2013 19:16:47 UTC".

Questo valore è una rappresentazione di stringa del corrispondente client.sent.end.timestamp a 32 bit. Ad esempio, "Wed, 21 Aug 2013 19:16:47 UTC" corrisponde al valore del timestamp 1377112607413.

PostClientFlow
client.sent.end.timestamp Lungo Sola lettura Il valore timestamp che specifica quando ProxyEndpoint ha terminato di restituire la risposta all'app client di origine. Questo valore è un numero intero a 64 bit (long) contenente il numero di millisecondi trascorsi dalla mezzanotte del 1° gennaio 1970 UTC. PostClientFlow
client.sent.start.time Stringa Sola lettura L'ora, espressa in formato di stringa, in cui ProxyEndpoint ha iniziato a restituire la risposta all'app client di origine. Ad esempio, "Wed, 21 Aug 2013 19:16:47 UTC".

Questo valore è una rappresentazione di stringa del corrispondente client.sent.start.timestamp a 32 bit. Ad esempio, "Wed, 21 Aug 2013 19:16:47 UTC" corrisponde al valore del timestamp 1377112607413.

PostClientFlow
client.sent.start.timestamp Lungo Sola lettura Quando il proxy ha iniziato a inviare la risposta al client da ProxyEndpoint. Questo valore è espresso come numero intero a 64 bit (long) contenente il numero di millisecondi trascorsi dalla mezzanotte del 1° gennaio 1970 UTC. PostClientFlow
client.ssl.enabled Stringa Sola lettura

"true" se ProxyEndpoint è configurato per TLS/SSL; altrimenti "false".

Richiesta proxy
client.state Stringa Sola lettura

Lo stato nel certificato TLS/SSL presentato dal client.

Richiesta proxy

current

Contiene informazioni sul flusso attuale del proxy API.

La tabella seguente descrive le proprietà della variabile current:

Proprietà Tipo Lettura/scrittura Descrizione Inizio dell'ambito
current.flow.name Stringa Sola lettura Il nome del flusso attualmente in esecuzione (ad esempio "PreFlow", "PostFlow" o il nome di un flusso condizionale). Richiesta proxy
current.flow.description Stringa Sola lettura La descrizione del flusso attualmente in esecuzione. Corrisponde al valore dell'elemento <Description> nella configurazione XML del flusso. Richiesta proxy

Puoi visualizzare queste proprietà nella visualizzazione Tracce dell'interfaccia utente di Edge. Tuttavia, queste proprietà non sono visibili per impostazione predefinita nella visualizzazione Trace dell'interfaccia utente classica.

environment

Un contenitore per la proprietà environment.name.

La tabella seguente descrive le proprietà della variabile environment:

Proprietà Tipo Lettura/scrittura Descrizione Inizio dell'ambito
environment.name Stringa Sola lettura Nome dell'ambiente in cui è stata eseguita la transazione. Richiesta proxy

error

Un oggetto contestuale che rappresenta un messaggio di errore nel flusso di errori.

La tabella seguente descrive le proprietà della variabile error:

Proprietà Tipo Lettura/scrittura Descrizione Inizio dell'ambito
error message Lettura/scrittura Errore di tipo message, che è un oggetto contestuale nel flusso di errori. Errore
error.content Stringa Lettura/scrittura Contenuto dell'errore. Errore
error.message Stringa Sola lettura

Messaggio associato a un errore, il cui valore è disponibile solo prima dell'esecuzione del flusso di errore.

Errore
error.status.code Numero intero Sola lettura

Il codice di stato HTTP associato all'errore. Ad esempio, "400".

Errore
error.reason.phrase Stringa Sola lettura

La frase del motivo associata all'errore. Ad esempio: "Richiesta non valida".

Errore
error.transport.message TransportMessage Sola lettura

Qualsiasi errore di tipo TransportMessage.

Errore
error.state Numero intero Sola lettura

Stato nel flusso in cui si è verificato un errore.

Errore
error.header.header_name Stringa Lettura/scrittura

Recupera o imposta l'intestazione della risposta.

Errore

fault

Una variabile di flusso impostata su un codice di errore di runtime quando un criterio genera un errore. I valori dei codici di errore sono specifici per ogni criterio.

Proprietà Tipo Lettura/scrittura Descrizione Inizio dell'ambito
fault.fault_name Stringa Sola lettura fault_name è il nome dell'errore, come descritto nella tabella Errori di runtime inclusa in ogni argomento di riferimento alle norme. Errore

is

Un contenitore per la proprietà is.error.

La tabella seguente descrive le proprietà della variabile is:

Proprietà Tipo Lettura/scrittura Descrizione Inizio dell'ambito
is.error Booleano Sola lettura

Indicatore di errore.

Richiesta proxy

loadbalancing

Fornisce informazioni sullo stato del bilanciamento del carico di TargetEndpoint.

La tabella seguente descrive le proprietà della variabile loadbalancing:

Proprietà Tipo Lettura/scrittura Descrizione Inizio dell'ambito
loadbalancing.failedservers Array di stringhe Sola lettura

Elenco di TargetServer non riusciti durante il bilanciamento del carico in TargetEndpoint.

Risposta target
loadbalancing.isfallback Booleano Sola lettura

"true" se il fallback è abilitato per il TargetServer invocato durante il bilanciamento del carico in TargetEndpoint.

Risposta target
loadbalancing.targetserver Stringa Sola lettura

TargetServer invocato durante il bilanciamento del carico in TargetEndpoint. Imposta solo se <Path> è impostato durante la definizione dell'elemento bilanciatore del carico.

Risposta target

message

Un oggetto contestuale con lo stesso valore di request nel flusso di richiesta o di response nel flusso di risposta o di error nel flusso di errore.

La tabella seguente descrive le proprietà della variabile message:

Proprietà Tipo Lettura/scrittura Descrizione Inizio dell'ambito
message message Lettura/scrittura

Un oggetto contestuale con lo stesso valore di request nel flusso di richiesta o di response nel flusso di risposta o di error nel flusso di errore.

Richiesta proxy
message.content Stringa Lettura/scrittura

Contenuto della richiesta, della risposta o del messaggio di errore.

Richiesta proxy
message.formparam.param_name Stringa Lettura/scrittura

Valore del parametro del modulo specificato.

Richiesta proxy
message.formparam.param_name.
 values
Raccolta Sola lettura

Tutti i valori del parametro del modulo specificato nel messaggio.

Richiesta proxy
message.formparam.param_name.
 values.count
Numero intero Sola lettura

Conteggio dei valori dei parametri del modulo specificati nel messaggio./p>

Richiesta proxy
message.formparams.count Numero intero Sola lettura

Conteggio di tutti i parametri del modulo nel messaggio.

Richiesta proxy
message.formparams.names Raccolta Sola lettura

Valore di tutti i parametri del modulo nel messaggio.

Richiesta proxy
message.formstring Stringa Sola lettura

Valore della stringa del modulo nel messaggio.

Richiesta proxy
message.header.header_name Stringa Lettura/scrittura

Recupera o imposta il valore dell'intestazione HTTP specificata nel messaggio. Se l'intestazione contiene una virgola, durante la lettura riceverai solo il segmento di testo fino alla prima virgola. Se vuoi l'intera intestazione, utilizza il modulo request.header.header_name.
 values

Richiesta proxy
message.header.header_name.N Stringa Lettura/scrittura

Il valore dell'N-esima intestazione specifica nel messaggio, richiesta o risposta, a seconda dello stato del flusso. Apigee Edge suddivide i valori del testo dell'intestazione con le virgole. Tieni presente che l'indice di cui viene utilizzato il valore per N è basato su 1, non su 0.

Ad esempio, se l'intestazione Cache-control è "public,maxage=16544", then il valore restituito di message.header.cache-control.1 è "maxage=16544".

Richiesta proxy
message.header.header_name.
 values
Raccolta Sola lettura

Tutti i valori del nome dell'intestazione HTTP specificato nel messaggio.

Richiesta proxy
message.header.header_name.
 values.count
Numero intero Sola lettura

Conteggio dei valori del nome dell'intestazione HTTP specificato nel messaggio.

Richiesta proxy
message.headers.count Numero intero Sola lettura

Conteggio di tutte le intestazioni HTTP nel messaggio.

Richiesta proxy
message.headers.names Raccolta Sola lettura

Valore di tutte le intestazioni HTTP nel messaggio

Richiesta proxy
message.path Stringa Lettura/scrittura

Il percorso completo del messaggio di richiesta nell'URL, esclusi i parametri di query.

Richiesta proxy
message.queryparam.param_name Stringa Sola lettura

Restituisce il parametro di query del messaggio specificato.

Richiesta proxy
message.queryparam.param_name.N Stringa Lettura/scrittura

Il valore del parametro di query Nth nel messaggio. Ad esempio, se request.querystring è "a=hello&a=world", il valore restituito di message.queryparam.a.1 è "hello".

Come esempio di scrittura di più valori per un singolo nome di parametro di query, ad esempio "type=siteid:1&type=language:us-en&type=currency:USD", imposta quanto segue:

  • message.queryparam.type.1 a "siteid:1"
  • message.queryparam.type.2 a "language:en-us"
  • message.queryparam.type.3 a "currency:USD"
Richiesta proxy
message.queryparam.param_name.
 values
Raccolta Sola lettura

Tutti i valori di un determinato parametro di query nel messaggio, formattato come elenco separato da virgole.

Ad esempio, se la stringa di query è a=hello&a=world, il valore di message.queryparam.a.values è "['ciao', 'mondo']".

Richiesta proxy
message.queryparam.param_name.
 values.count
Numero intero Sola lettura

Il conteggio totale di un parametro di query specificato associato alla richiesta inviata a ProxyEndpoint dall'app client.

Richiesta proxy
message.queryparams.count Numero intero Sola lettura

Il conteggio totale di tutti i parametri di query associati alla richiesta inviata a ProxyEndpoint dall'app client.

Richiesta proxy
message.queryparams.names Raccolta Sola lettura

Un elenco di tutti i nomi dei parametri di query associati alla richiesta inviata a ProxyEndpoint dall'app client.

Per eseguire l'iterazione sui nomi dei parametri di query utilizzando JavaScript, consulta il seguente post della community Apigee: Come eseguire l'iterazione della raccolta da "request.queryparams.names" in JS? nella community di Apigee.

Richiesta proxy
message.querystring Stringa Sola lettura

Una stringa contenente tutti i nomi e i valori dei parametri di query associati alla richiesta inviata a ProxyEndpoint dall'app client.

Ad esempio, per la richiesta "http://api.apifactory.com/inventors?name=nick&surname=danger", il valore di message.querystring è "name=nick&surname=danger".

Richiesta proxy
message.reason.phrase Stringa Sola lettura

ReasonPhrase del messaggio di risposta del target.

Risposta target
message.status.code Numero intero Sola lettura

Codice di stato HTTP del messaggio di risposta dal target.

Risposta target
message.transport.message TransportMessage Sola lettura

Messaggio di tipo TransportMessage, che è un oggetto contestuale.

Richiesta proxy
message.uri Stringa Sola lettura

Il percorso URI completo (che segue l'URL del dominio) inclusi i parametri di query.

Ad esempio, per la richiesta "http://api.apifactory.com/inventors?name=nikola&surname=tesla", questa variabile restituisce "inventors?name=nikola&surname=tesla".

Richiesta proxy
message.verb Stringa Sola lettura

Il verbo HTTP (GET, PUT, POST, DELETE e così via) associato alla richiesta.

Richiesta proxy
message.version Stringa Lettura/scrittura

La versione HTTP associata alla richiesta inviata a ProxyEndpoint dall'applicazione client.

Richiesta proxy

Per ulteriori informazioni sui messaggi, consulta Riferimento per le funzioni dei modelli di messaggio.

messageid

Un contenitore per l'ID univoco a livello globale della richiesta.

La tabella seguente descrive le proprietà della variabile messageid:

Proprietà Tipo Lettura/scrittura Descrizione Inizio dell'ambito
messageid Stringa Sola lettura

Contiene l'ID univoco globale per la richiesta, che include il nome host del router. Questo ID consente di monitorare le richieste ricevute sul router dopo che sono state inviate all'elaboratore di messaggi.

Questo ID viene registrato nei log degli errori di Edge per correlare messageid agli errori.

Richiesta proxy

organization

Un contenitore per la proprietà organization.name.

La tabella seguente descrive le proprietà della variabile organization:

Proprietà Tipo Lettura/scrittura Descrizione Inizio dell'ambito
organization.name Stringa Sola lettura

Nome dell'organizzazione.

Richiesta proxy

Per ulteriori informazioni sulle organizzazioni, consulta Informazioni sulle organizzazioni.

proxy

La configurazione del proxy API.

La tabella seguente descrive le proprietà della variabile proxy:

Proprietà Tipo Lettura/scrittura Descrizione Inizio dell'ambito
proxy.basepath Stringa Sola lettura

Il valore del percorso base nella configurazione del proxy API. Il percorso di base è il frammento di URI che segue l'host nell'URL. Gli URI del flusso condizionale seguono il percorso di base.

Nell'URL "http://myorg-test.apigee.net/v2/weatherapi/forecastrss?w=12797282":

  • L'host è "myorg-test.apigee.net" (che include il nome e l'ambiente dell'organizzazione)
  • Il percorso di base è "/v2/weatherapi"

L'unico modo per scoprirlo è esaminare la definizione del proxy API o controllare il valore della variabile proxy.basepath. Il suffisso del percorso del proxy segue il percorso di base ("/forecastrss"), insieme a eventuali parametri di query.

Se nella configurazione del proxy API definisci un percorso di base dinamico, ad esempio "/v2/*/weatherapi", questa variabile viene impostata sul percorso dinamico ("/v2/*/weatherapi"), anche se il percorso di base si risolve in un valore statico, ad esempio "/v2/foo/weatherapi".

Richiesta proxy
proxy.client.ip Stringa Sola lettura

L'indirizzo X-Forwarded-For della chiamata in entrata, ovvero l'indirizzo IP che Edge ha ricevuto dall'ultimo handshake TCP esterno. Potrebbe trattarsi del client chiamante o di un bilanciatore del carico.

Richiesta proxy
proxy.name Stringa Sola lettura

L'attributo name configurato per ProxyEndpoint.

Richiesta proxy
proxy.pathsuffix Stringa Sola lettura

Il valore del suffisso del percorso di base del proxy API inviato dal client e ricevuto in ProxyEndpoint.

Il percorso base è definito come il componente del percorso che identifica in modo univoco il proxy API. L'URL pubblico di un proxy API è costituito dal nome della tua organizzazione, dall'ambiente in cui è implementato il proxy, dal percorso di base, dal suffisso del percorso di base e da eventuali parametri di query.

Ad esempio, in una richiesta a http://myorg-test.apigee.net/v2/weatherapi/forecastrss?w=12797282, il suffisso del percorso di base è "/forecastrss".

Richiesta proxy
proxy.url Stringa Sola lettura

Recupera l'URL completo associato alla richiesta di proxy ricevuta da ProxyEndpoint, inclusi eventuali parametri di query presenti. L'host dell'URL sarà sempre localhost se il proxy viene invocato con <LocalTargetConnection> per eseguire il collegamento in catena dei proxy.

Per un esempio che crea un URL request utilizzando l'host originale, consulta Messaggi di richiesta di accesso.

Richiesta proxy

Per ulteriori informazioni sull'utilizzo dei proxy API, consulta Informazioni sulle API e sui proxy API.

ratelimit

Viene compilato quando viene eseguito un criterio Quota o SpikeArrest.

La tabella seguente descrive le proprietà della variabile ratelimit:

Proprietà Tipo Lettura/scrittura Descrizione Inizio dell'ambito
ratelimit.policy_name.allowed.count Lungo Sola lettura Restituisce il conteggio della quota consentita. PostClientFlow
ratelimit.policy_name.used.count Lungo Sola lettura Restituisce la quota corrente utilizzata all'interno di un intervallo di quota. PostClientFlow
ratelimit.policy_name.available.count Lungo Sola lettura Restituisce il numero di quote disponibili nell'intervallo di quota. PostClientFlow
ratelimit.policy_name.exceed.count Lungo Sola lettura Restituisce 1 dopo il superamento della quota. PostClientFlow
ratelimit.policy_name.total.exceed.count Lungo Sola lettura Restituisce 1 dopo il superamento della quota. PostClientFlow
ratelimit.policy_name.expiry.time Lungo Sola lettura

Restituisce l'ora UTC (in millisecondi), che determina quando scade la quota e quando inizia il nuovo intervallo di quota.

Quando il tipo del criterio di quota è rollingwindow, questo valore non è valido perché l'intervallo della quota non scade mai.

PostClientFlow
ratelimit.policy_name.identifier Stringa Sola lettura Restituisce il riferimento all'identificatore (client) associato al criterio PostClientFlow
ratelimit.policy_name.class.allowed.count Lungo Sola lettura Restituisce il numero di quote consentite definito nella classe PostClientFlow
ratelimit.policy_name.class.used.count Lungo Sola lettura Restituisce la quota utilizzata all'interno di un corso PostClientFlow
ratelimit.policy_name.class.available.count Lungo Sola lettura Restituisce il numero di quote disponibili nel corso PostClientFlow
ratelimit.policy_name.class.exceed.count Lungo Sola lettura Restituisce il conteggio delle richieste che superano il limite nel corso nell'intervallo di quota corrente PostClientFlow
ratelimit.policy_name.class.total.exceed.count Lungo Sola lettura Restituisce il conteggio totale delle richieste che superano il limite nel corso in tutti gli intervalli di quota, quindi è la somma di class.exceed.count per tutti gli intervalli di quota. PostClientFlow
ratelimit.policy_name.failed Booleano Sola lettura

Indica se il criterio ha avuto esito positivo o meno (true o false).

PostClientFlow

Per ulteriori informazioni, consulta le seguenti risorse:

request

La richiesta completa, inclusi eventuali payload.

Per ulteriori informazioni sui dati delle richieste, consulta In che modo i dati delle richieste vengono trasmessi al server di backend?

La tabella seguente descrive le proprietà della variabile request:

Proprietà Tipo Lettura/scrittura Descrizione Inizio dell'ambito
request message Sola lettura

La richiesta completa, inclusi eventuali payload.

Richiesta proxy
request.content Stringa Lettura/scrittura

Recupera o imposta il payload del messaggio di richiesta.

Richiesta proxy
request.formparam.param_name Stringa Lettura/scrittura

Recupera o imposta il valore del parametro del modulo specificato nella richiesta inviata dall'applicazione client.

Richiesta proxy
request.formparam.param_name.
 values
Raccolta Sola lettura

Tutti i valori di un determinato parametro del modulo nella richiesta, formattati come elenco separato da virgole.

Ad esempio, se il payload è "a=hello&x=greeting&a=world", il valore di request.formparam.a.values è "['hello', 'world']".

Richiesta proxy
request.formparam.param_name.
 values.count
Numero intero Sola lettura

Conteggio di tutti i valori per il parametro del modulo specificato associato alla richiesta.

Richiesta proxy
request.formparam.param_name.N Stringa Lettura/scrittura

Il valore del parametro del modulo N-esimo nel messaggio. Ad esempio, se la stringa del modulo è "a=hello&a=world", il valore restituito di request.formparam.a.1 è "hello".

Richiesta proxy
request.formparams.count Numero intero Sola lettura

Conteggio di tutti i parametri del modulo associati alla richiesta inviata dall'applicazione client.

Richiesta proxy
request.formparams.names Raccolta Sola lettura

Un elenco di tutti i nomi dei parametri del modulo associati alla richiesta.

Richiesta proxy
request.formstring Stringa Sola lettura

Il valore formparam completo nella richiesta inviata dall'app client.

Ad esempio, "name=test&type=first&group=A".

Richiesta proxy
request.header.header_name Stringa Lettura/scrittura

Recupera o imposta il valore di una determinata intestazione trovata nella richiesta. Se l'intestazione contiene una virgola, durante la lettura riceverai solo il segmento di testo fino alla prima virgola.

Se vuoi l'intera intestazione, utilizza il formato request.header.header_name.values.

Richiesta proxy
request.header.header_name.N Stringa Lettura/scrittura

Il valore dell'N-esimo valore dell'intestazione nella richiesta. Apigee Edge suddivide i valori del testo dell'intestazione con virgole. Tieni presente che l'indice di cui viene utilizzato il valore per N è basato su 1, non su 0.

Ad esempio, se l'intestazione Cache-control è "public, maxage=16544", il valore restituito di request.header.cache-control.1 è "maxage=16544".

Richiesta proxy
request.header.header_name.
 values
Raccolta Sola lettura

Tutti i valori di una determinata intestazione nella richiesta.

Richiesta proxy
request.header.header_name.
 values.count
Numero intero Sola lettura

Conteggio di tutti i valori di una determinata intestazione nella richiesta.

Richiesta proxy
request.headers.count Numero intero Sola lettura

Conteggio di tutte le intestazioni nella richiesta.

Richiesta proxy
request.headers.names Raccolta Sola lettura

Nomi di tutte le intestazioni nella richiesta.

Richiesta proxy
request.path Stringa Sola lettura

Il percorso della risorsa senza proxy (escluso l'host) al servizio di backend, esclusi i parametri di query.

Ad esempio, se l'URI del servizio di backend è "https://example.com/rest/api/latest", il valore di request.path è "/rest/api/latest".

Richiesta proxy
request.queryparam.param_name Stringa Lettura/scrittura

Il valore di un determinato parametro di query trovato nella richiesta.

Richiesta proxy
request.queryparam.param_name.N Stringa Lettura/scrittura

Il valore del parametro di query Nth nella richiesta.

Ad esempio, se request.querystring è "a=hello&a=world", il valore restituito di is request.queryparam.a.1 è "hello".

Come esempio di scrittura di più valori per un singolo nome di parametro di query, ad esempio "type=siteid:1&type=language:us-en&type=currency:USD", imposta quanto segue:

  • request.queryparam.type.1 a "siteid:1"
  • request.queryparam.type.2 a "language:en-us"
  • request.queryparam.type.3 a "currency:USD"
Richiesta proxy
request.queryparam.param_name.
 values
Raccolta Sola lettura

Tutti i valori di un determinato parametro di query nella richiesta, formattati come elenco separato da virgole.

Ad esempio, se request.querystring è "a=hello&b=lovely&a=world", il valore di request.queryparam.a.values è "['hello', 'world']".

Richiesta proxy
request.queryparam.param_name.
 values.count
Numero intero Sola lettura

Il conteggio di tutti i valori di un determinato parametro di query nella richiesta.

Richiesta proxy
request.queryparams.count Numero intero Sola lettura

Il conteggio di tutti i parametri di query nella richiesta.

Richiesta proxy
request.queryparams.names Raccolta Sola lettura

I nomi di tutti i parametri di query nella richiesta.

Per eseguire l'iterazione sui nomi dei parametri di query utilizzando JavaScript, consulta Come eseguire l'iterazione della raccolta da "request.queryparams.names" in JS? nella community Apigee.

Richiesta proxy
request.querystring Stringa Sola lettura

L'elenco completo dei parametri di query nella richiesta inviata dall'app client.

Ad esempio, se la richiesta è "http://host.com/123?name=first&surname=second&place=address", questa variabile restituisce "name=first&surname=second&place=address".

Richiesta proxy
request.transportid Stringa Sola lettura

L'ID della richiesta come tipo TransportMessage, che è un oggetto contestuale.

Richiesta proxy
request.transport.message Transport-Message Sola lettura

Richiesta di tipo TransportMessage, che è un oggetto contestuale.

Richiesta proxy
request.uri Stringa Sola lettura

In un proxy API, il proxy <BasePath> in ProxyEndpoint (oltre all'URL di base del proxy) viene mappato all'URL del servizio di destinazione in TargetEndpoint. Ad esempio:

<ProxyEndpoint>
...
  <BasePath>/my-mock-proxy</BasePath>

Punti per

<TargetEndpoint>
...
  <HTTPTargetConnection>
    http://mocktarget.apigee.net
  </HTTPTargetConnection>

Nella richiesta, request.uri è il percorso di base del proxy + il resto dell'indirizzo, inclusi i parametri di query.

Nella risposta, request.uri è il resto dell'indirizzo, inclusi i parametri di query, dopo HTTPTargetConnection.

La differenza è dovuta al fatto che la richiesta originale è arrivata al proxy, che poi ha effettuato un'altra richiesta al servizio di destinazione.

Supponiamo che venga effettuata la seguente chiamata al nostro proxy di esempio, che ha un percorso di base "/my-mock-proxy":

http://my_org-test.apigee.net/my-mock-proxy/user?user=Dude

E le chiamate proxy:

http://mocktarget.apigee.net

A questo URL viene aggiunto "/user?user=Dude".

  • Richiesta: request.uri = "/my-mock-proxy/user?user=Dude"
  • Risposta: request.uri = "/user?user=Dude"
Richiesta proxy (diversa nella risposta)
request.url Stringa Sola lettura

L'URL completo della richiesta inviata all'endpoint di destinazione, inclusi i parametri della stringa di query, ma non il numero di porta (se specificato).

Ad esempio, se effettui una chiamata a un proxy di esempio "http://my_org-test.apigee.net/my-mock-proxy/user?user=Dude" e l'endpoint di destinazione è "http://example.com:8080", il valore è:

  • Richiesta: n/a
  • Risposta: "http://example.com/user?user=Dude"
Risposta target
request.verb Stringa Sola lettura

Il verbo HTTP utilizzato per la richiesta. Ad esempio, "GET", "PUT" e "DELETE".

Richiesta proxy
request.version Stringa Sola lettura

La versione HTTP della richiesta. Ad esempio, "1.1".

Richiesta proxy

response

La risposta completa, incluso qualsiasi payload presente.

La tabella seguente descrive le proprietà della variabile response:

Proprietà Tipo Lettura/scrittura Descrizione Inizio dell'ambito
response message Lettura/scrittura

Messaggio di risposta completo restituito dal target.

Risposta target
response.content Stringa Lettura/scrittura

Contenuti del payload del messaggio di risposta restituito dalla destinazione.

Risposta target
response.formparam.param_name Stringa Lettura/scrittura

Il valore di un parametro del modulo nella risposta.

Risposta target
response.formparam.param_name.
 values.count
Numero intero Sola lettura

Conteggio di tutti i valori del parametro del modulo specificato nella risposta.

Risposta target
response.formparams.count Numero intero Sola lettura

Conteggio di tutti i parametri del modulo nella risposta.

Risposta target
response.formparams.names Raccolta Sola lettura

I nomi di tutti i parametri del modulo nella risposta.

Risposta target
response.header.header_name Stringa Lettura/scrittura

Recupera o imposta il valore di un'intestazione HTTP specificata nella risposta.

Se il testo dell'intestazione include una virgola, Apigee Edge deduce più valori. In questo caso, response.header.header_name restituisce solo il primo valore.

Per leggere l'intera intestazione, utilizza il modulo response.header.header_name.values.

Risposta target
response.header.header_name.
 values
Raccolta Sola lettura

Tutti i valori di un'intestazione HTTP specificata nella risposta.

Risposta target
response.header.header_name.
 values.count
Numero intero Sola lettura

Conteggio di tutti i valori dell'intestazione HTTP specificata nella risposta.

Risposta target
response.header.header_name.N Stringa Lettura/scrittura

Il valore dell'ennesimo valore dell'intestazione nella risposta. Apigee Edge suddivide i valori del testo dell'intestazione con virgole. Tieni presente che l'indice di cui viene utilizzato il valore per N è basato su 1, non su 0.

Ad esempio, se l'intestazione Cache-control è "public, maxage=16544", response.header.cache-control.1 restituisce "maxage=16544".

Risposta target
response.headers.count Numero intero Sola lettura

Conteggio di tutte le intestazioni nella risposta.

Risposta target
response.headers.names Raccolta Sola lettura

I nomi di tutte le intestazioni nella risposta.

Risposta target
response.reason.phrase Stringa Lettura/scrittura

La frase del motivo della risposta per una determinata richiesta.

Risposta target
response.status.code Numero intero Lettura/scrittura

Il codice di risposta restituito per una richiesta. Puoi utilizzare questa variabile per eseguire l'override del codice di stato della risposta, memorizzato in message.status.code. Per saperne di più, consulta message.

Risposta target
response.transport.message Stringa Sola lettura

Risposta di tipo TransportMessage, che è un oggetto contestuale.

Risposta target

route

Specifica i nomi di <RouteRule> e TargetEndpoint.

La tabella seguente descrive le proprietà della variabile route:

Proprietà Tipo Lettura/scrittura Descrizione Inizio dell'ambito
route.name Stringa Sola lettura

Il nome del <RouteRule> eseguito in ProxyEndpoint. Ad esempio, "default". Una regola di routing fa riferimento a un endpoint di destinazione del proxy API da eseguire.

Richiesta target
route.target Stringa Sola lettura

Il nome di TargetEndpoint che è stato eseguito. Ad esempio, "predefinito".

Richiesta target

router

Un contenitore per la proprietà router.uuid, che è stata ritirata.

La tabella seguente descrive le proprietà della variabile router:

Proprietà Tipo Lettura/scrittura Descrizione Inizio dell'ambito
router.uuid Stringa Sola lettura

È deprecato e restituisce null. In precedenza, l'UUID del router che gestisce il proxy.

Richiesta proxy

servicecallout

Descrive TargetEndpoint per un criterio ServiceCallout.

La tabella seguente descrive le proprietà della variabile servicecallout:

Proprietà Tipo Lettura/scrittura Descrizione Inizio dell'ambito
servicecallout.policy_name.expectedcn Stringa Lettura/scrittura

Il nome comune previsto dell'endpoint di destinazione a cui si fa riferimento in un criterio ServiceCallout. Questo ha significato solo quando TargetEndpoint fa riferimento a un endpoint TLS/SSL.

Richiesta proxy
servicecallout.policy_name.target.url Stringa Lettura/scrittura

L'URL di TargetEndpoint per un determinato criterio ServiceCallout.

Richiesta proxy
servicecallout.requesturi Stringa Lettura/scrittura

L'URI TargetEndpoint per un criterio ServiceCallout. L'URI è l'URL di TargetEndpoint senza la specifica del protocollo e del dominio.

Richiesta proxy

system

Specifica l'indirizzo IP del sistema, nonché i dettagli del proxy.

La tabella seguente descrive le proprietà della variabile system:

Proprietà Tipo Lettura/scrittura Descrizione Inizio dell'ambito
system.interface.interface_name Stringa Sola lettura

Indirizzo IP del sistema.

Richiesta proxy
system.pod.name Stringa Sola lettura

Il nome del pod in cui è in esecuzione il proxy.

Richiesta proxy
system.region.name Stringa Sola lettura

Il nome della regione del data center in cui è in esecuzione il proxy.

Richiesta proxy
system.time Stringa Sola lettura

L'ora in cui è stata letta questa variabile. Ad esempio, "Wed, 21 Aug 2013 19:16:47 UTC".

Questo valore è la rappresentazione stringa del valore corrispondente di system.timestamp. Ad esempio, "Wed, 21 Aug 2013 19:16:47 UTC" corrisponde al valore del timestamp "1377112607413".

Richiesta proxy
system.time.year Numero intero Sola lettura

La parte relativa all'anno di system.time.

Richiesta proxy
system.time.month Numero intero Sola lettura

La parte relativa al mese di system.time.

Richiesta proxy
system.time.day Numero intero Sola lettura

La parte del giorno del mese di system.time.

Richiesta proxy
system.time.dayofweek Numero intero Sola lettura

La parte del giorno della settimana di system.time.

Richiesta proxy
system.time.hour Numero intero Sola lettura

La parte oraria di system.time.

Richiesta proxy
system.time.minute Numero intero Sola lettura

La parte in minuti di system.time.

Richiesta proxy
system.time.second Numero intero Sola lettura

La seconda parte di system.time.

Richiesta proxy
system.time.millisecond Numero intero Sola lettura

La parte in millisecondi di system.time.

Richiesta proxy
system.time.zone Stringa Sola lettura

Fuso orario del sistema.

Richiesta proxy
system.timestamp Lungo Sola lettura

Il numero intero a 64 bit (long) che rappresenta il momento in cui questa variabile è stata letta. Il valore è il numero di millisecondi trascorsi dalla mezzanotte del 1° gennaio 1970 UTC. Ad esempio, "1534783015000".

Richiesta proxy
system.uuid Stringa Sola lettura

L'UUID del processore di messaggi che gestisce il proxy.

Richiesta proxy

target

Descrive il target della richiesta.

La tabella seguente descrive le proprietà della variabile target:

Proprietà Tipo Lettura/scrittura Descrizione Inizio dell'ambito
target.basepath Stringa Sola lettura

Il percorso della risorsa (escluso il dominio) al servizio di destinazione, esclusi i parametri di query, definito in TargetEndpoint del proxy.

Ad esempio, supponiamo che un proxy API chiami il seguente target:

<TargetEndpoint name="default">
...
  <HTTPTargetConnection>
    <URL>http://mocktarget.apigee.net/user?user=Dude</URL>
  </HTTPTargetConnection>

In questo esempio, target.basepath è "/user".

Se il target fosse:

<TargetEndpoint name="default">
...
  <HTTPTargetConnection>
    <URL>http://mocktarget.apigee.net</URL>
  </HTTPTargetConnection>

target.basepath sarà nullo.

Richiesta target
target.copy.pathsuffix Booleano Lettura/scrittura

Se "true", la richiesta inoltrata da ProxyEndpoint a TargetEndpoint mantiene il suffisso del percorso (il frammento del percorso dell'URI che segue l'URI definito nel percorso di base di ProxyEndpoint).

Richiesta target
target.copy.queryparams Booleano Lettura/scrittura

Se "true", la richiesta inoltrata da ProxyEndpoint a TargetEndpoint conserva i parametri di query.

Richiesta target
target.country Stringa Sola lettura

Paese del certificato TLS/SSL presentato dal server di destinazione

Risposta target
target.cn Stringa Sola lettura

Il nome comune dell'endpoint target. Questo valore è significativo solo quando TargetEndpoint fa riferimento a un endpoint TLS/SSL.

Richiesta target
target.email.address Stringa Sola lettura

Indirizzo email del certificato TLS/SSL presentato dal server di destinazione

Risposta target
target.expectedcn Stringa Lettura/scrittura

Il nome comune previsto dell'endpoint di destinazione. Questo ha significato solo quando TargetEndpoint fa riferimento a un endpoint TLS/SSL.

Richiesta proxy
target.host Stringa Sola lettura

Il nome di dominio del servizio di destinazione che restituisce la risposta al proxy API.

Risposta target
target.ip Stringa Sola lettura

L'indirizzo IP del servizio di destinazione che restituisce la risposta al proxy API.

Risposta target
target.locality Stringa Sola lettura

Località (città) del certificato TLS/SSL presentato dal server di destinazione

Risposta target
target.name Stringa Sola lettura

Destinazione a cui il messaggio arriva da targetendpoint.

Richiesta target
target.organization Stringa Sola lettura

Organizzazione del certificato TLS/SSL presentato dal server di destinazione.

Risposta target
target.organization.unit Stringa Sola lettura

Unità organizzativa del certificato TLS/SSL presentato dal server di destinazione.

Risposta target
target.port Numero intero Sola lettura

Il numero di porta del servizio target che restituisce la risposta al proxy API.

Risposta target
target.received.end.time Stringa Sola lettura

L'ora, espressa in formato stringa, in cui TargetEndpoint ha terminato di ricevere la risposta dal target. Ad esempio, "Wed, 21 Aug 2013 19:16:47 UTC".

Questo valore temporale è la rappresentazione in stringa della quantità del timestamp a 32 bit corrispondente. Ad esempio, "Wed, 21 Aug 2013 19:16:47 UTC" corrisponde al valore del timestamp "1377112607413".

Risposta target
target.received.end.
  timestamp
Lungo Sola lettura

Il valore del timestamp che specifica quando TargetEndpoint ha terminato di ricevere la risposta dal target. Ad esempio, "1534783015000". Questo valore è un numero intero a 64 bit (long) che specifica il numero di millisecondi trascorsi dalla mezzanotte del 1° gennaio 1970 UTC.

Risposta target
target.received.start.time Stringa Sola lettura

L'ora, espressa in formato di stringa, in cui TargetEndpoint ha iniziato a ricevere la risposta dal target. Ad esempio, "Wed, 21 Aug 2013 19:16:47 UTC".

Questo valore temporale è la rappresentazione in stringa della quantità del timestamp a 32 bit corrispondente. Ad esempio, "Wed, 21 Aug 2013 19:16:47 UTC" corrisponde al valore del timestamp "1377112607413".

Risposta target
target.received.start.
  timestamp
Lungo Sola lettura

Il valore del timestamp che specifica quando TargetEndpoint ha iniziato a ricevere la risposta dal target. Ad esempio, "1534783015000". Questo valore è un numero intero a 64 bit (long) che specifica il numero di millisecondi trascorsi dalla mezzanotte del 1° gennaio 1970 UTC.

Risposta target
target.scheme Stringa Sola lettura

Ambito inizia: Risposta target
Tipo: Stringa
Autorizzazione: Lettura/scrittura

Restituisce http o https a seconda del messaggio di richiesta.

Richiesta target
target.sent.end.time Stringa Sola lettura

L'ora, espressa in formato di stringa, in cui il proxy ha smesso di inviare la richiesta all'URL specificato in TargetEndpoint. Ad esempio, "Wed, 21 Aug 2013 19:16:47 UTC".

Questo valore temporale è la rappresentazione in stringa della quantità del timestamp a 32 bit corrispondente. Ad esempio, "Wed, 21 Aug 2013 19:16:47 UTC" corrisponde al valore del timestamp "1377112607413".

Richiesta target
target.sent.end.timestamp Lungo Sola lettura

Il valore del timestamp che specifica quando il proxy ha terminato di inviare la richiesta all'URL specificato in TargetEndpoint. Ad esempio, "1377112607413". Questo valore è un numero intero (long) di 64 bit contenente il numero di millisecondi trascorsi dalla mezzanotte del 1° gennaio 1970 UTC.

Richiesta target
target.sent.start.time Stringa Sola lettura

L'ora, espressa in formato di stringa, in cui il proxy ha iniziato a inviare la richiesta all'URL specificato in TargetEndpoint. Ad esempio, "Wed, 21 Aug 2013 19:16:47 UTC".

Questo valore temporale è la rappresentazione in stringa della quantità del timestamp a 32 bit corrispondente. Ad esempio, "Wed, 21 Aug 2013 19:16:47 UTC" corrisponde al valore del timestamp "1377112607413".

Richiesta target
target.sent.start.timestamp Lungo Sola lettura

Il valore del timestamp che specifica quando il proxy ha iniziato a inviare la richiesta all'URL specificato in TargetEndpoint. Ad esempio, "1534783015000". Questo valore è un numero intero (long) di 64 bit che specifica il numero di millisecondi trascorsi dalla mezzanotte del 1° gennaio 1970 UTC.

Richiesta target
target.ssl.enabled Booleano Sola lettura

Indica se TargetEndpoint è in esecuzione su TLS/SSL.

Richiesta proxy
target.state Stringa Sola lettura

Stato del certificato TLS/SSL presentato dal server di destinazione.

Risposta target
target.url Stringa Lettura/scrittura

L'URL configurato nel file XML TargetEndpoint o l'URL target dinamico (se target.url è impostato durante il flusso di messaggi). La variabile non include parametri di ricerca o elementi di percorso aggiuntivi. Restituisce null se viene chiamato fuori dall'ambito o se non è impostato.

Richiesta target

variable

Un contenitore per la proprietà variable.expectedcn.

La tabella seguente descrive le proprietà della variabile variable:

Proprietà Tipo Lettura/scrittura Descrizione Inizio dell'ambito
variable.expectedcn Stringa Lettura/scrittura

Variabile esposta per il nome comune se è in esecuzione su TLS/SSL.

Richiesta proxy

Per ulteriori informazioni sull'utilizzo di TLS, consulta la Introduzione a TLS/SSL.

virtualhost

Specifica i dettagli dell'host virtuale.

La tabella seguente descrive le proprietà della variabile virtualhost:

Proprietà Tipo Lettura/scrittura Descrizione Inizio dell'ambito
virtualhost.aliases.values Array di stringhe Sola lettura

Alias host dell'host virtuale che viene colpito durante una determinata richiesta.

Richiesta proxy
virtualhost.name Stringa Sola lettura

Nome dell'host virtuale che gestisce la richiesta del client di origine.

Richiesta proxy
virtualhost.ssl.enabled Booleano Sola lettura

Restituisce "true" se TLS/SSL è abilitato nella configurazione dell'host virtuale.

Richiesta proxy

Per ulteriori informazioni sull'utilizzo degli host virtuali, consulta Configurare gli host virtuali.