Vous consultez la documentation d'Apigee Edge.
Accédez à la documentation sur Apigee X. info
Cette section fournit des informations de référence sur les variables de flux.
Apigee Edge définit les variables de flux suivantes :
apigee
loadbalancing
route
apiproxy
message
router
application
messageid
servicecallout
client
organization
system
current
proxy
target
environment
ratelimit
variable
error
request
virtualhost
is
response
Chacune de ces variables est décrite plus en détail dans les sections suivantes.
apigee
Une variable d'aide qui fournit des informations sur la durée d'exécution de la règle.
Le tableau suivant décrit les propriétés de la variable apigee
:
Propriété | Type | Lecture/Écriture | Description | Début du champ d'application |
---|---|---|---|---|
apigee.metrics.policy.policy_name.timeTaken |
Entier | Lecture seule | Durée d'exécution de la règle, en nanosecondes. | Règle |
apiproxy
Décrit le proxy d'API.
Le tableau suivant décrit les propriétés de la variable apiproxy
:
Propriété | Type | Lecture/Écriture | Description | Début du champ d'application |
---|---|---|---|---|
apiproxy.name |
Chaîne | Lecture seule | Nom du proxy d'API. Exemple : "Mon proxy". | Requête de proxy |
apiproxy.revision |
Chaîne | Lecture seule | Numéro de révision d'un proxy d'API. Exemple : "6". | Requête de proxy |
Pour en savoir plus sur l'utilisation des proxys d'API, consultez la section Comprendre les API et les proxys d'API.
application
Conteneur pour la propriété application.basepath
.
Le tableau suivant décrit les propriétés de la variable application
:
Propriété | Type | Lecture/Écriture | Description | Début du champ d'application |
---|---|---|---|---|
application.basepath |
Chaîne | Lecture seule | Chemin de base du déploiement (spécifié lors du déploiement de l'API). | Requête de proxy |
client
Application ou système qui a envoyé une requête au routeur Edge.
Le tableau suivant décrit les propriétés de la variable client
:
Propriété | Type | Lecture/Écriture | Description | Début du champ d'application |
---|---|---|---|---|
client.cn |
Chaîne | Lecture seule |
Nom commun spécifié dans le certificat TLS/SSL présenté par l'application cliente. |
Requête de proxy |
client.country |
Chaîne | Lecture seule |
Pays spécifié dans le certificat TLS/SSL présenté par l'application cliente. |
Requête de proxy |
client.email.address |
Chaîne | Lecture seule |
Adresse e-mail spécifiée dans le certificat TLS/SSL présenté par l'application cliente. |
Requête de proxy |
client.host |
Chaîne | Lecture seule |
Adresse IP de l'hôte HTTP associée à la requête reçue par le ProxyEndpoint. |
Requête de proxy |
client.ip |
Chaîne | Lecture seule |
Adresse IP du client ou du système qui envoie le message au routeur Edge. Il peut s'agir, par exemple, de l'adresse IP du client d'origine ou d'une adresse IP d'équilibreur de charge. |
Requête de proxy |
client.locality |
Chaîne | Lecture seule |
Localité (ville) du certificat TLS/SSL présenté par le client. |
Requête de proxy |
client.organization |
Chaîne | Lecture seule | Organisation spécifiée dans le certificat TLS/SSL présenté par le client. (Pas nécessairement équivalente à l'organisation sur Apigee Edge.) | Requête de proxy |
client.organization.unit |
Chaîne | Lecture seule |
Unité organisationnelle spécifiée dans le certificat TLS/SSL présenté par le client. |
Requête de proxy |
client.port |
Entier | Lecture seule |
Port HTTP associé à la requête du client d'origine au ProxyEndpoint. |
Requête de proxy |
client.received.end.time |
Chaîne | Lecture seule |
Heure, exprimée sous forme de chaîne, à laquelle le proxy a fini de recevoir la requête du client d'origine au ProxyEndpoint. Par exemple : mer, 21 août 2013 19:16:47 UTC. Cette valeur temporelle est la représentation sous forme de chaîne de la quantité d'horodatage 32 bits correspondante. Par exemple, "mer, 21 août 2013 19:16:47 UTC" correspond à la valeur d'horodatage 1377112607413. |
Requête de proxy |
client.received.end.timestamp |
Long | Lecture seule |
Valeur d'horodatage spécifiant le moment où le proxy a fini de recevoir la requête du client d'origine au ProxyEndpoint. Cette valeur est un entier (long) de 64 bits contenant le nombre de millisecondes écoulées depuis minuit, le 1er janvier 1970 UTC. |
Requête de proxy |
client.received.start.time |
Chaîne | Lecture seule |
Heure, exprimée sous forme de chaîne, à laquelle le proxy a commencé à recevoir la requête du client d'origine au ProxyEndpoint. Par exemple : mer, 21 août 2013 19:16:47 UTC. Cette valeur temporelle est la représentation sous forme de chaîne de la quantité d'horodatage 32 bits correspondante. Par exemple, "mer, 21 août 2013 19:16:47 UTC" correspond à la valeur d'horodatage 1377112607413. |
Requête de proxy |
client.received.start.timestamp |
Long | Lecture seule |
Valeur d'horodatage spécifiant le moment où le proxy a commencé à recevoir la requête du client d'origine au ProxyEndpoint. Cette valeur est un entier (long) de 64 bits contenant le nombre de millisecondes écoulées depuis minuit, le 1er janvier 1970 UTC. |
Requête de proxy |
client.scheme |
Chaîne | Lecture seule |
Renvoie HTTP ou HTTPS en fonction du transport utilisé par l'application cliente pour envoyer le message de requête. |
Requête de proxy |
client.sent.end.time |
Chaîne | Lecture seule |
Heure, exprimée sous forme de chaîne, à laquelle le proxy a fini d'envoyer la réponse du ProxyEndpoint au client. Par exemple : "mer, 21 août 2013 19:16:47 UTC". Cette valeur est une représentation sous forme de chaîne du |
PostClientFlow |
client.sent.end.timestamp |
Long | Lecture seule | Valeur d'horodatage spécifiant le moment où le ProxyEndpoint a fini de renvoyer la réponse à l'application cliente d'origine. Cette valeur est un entier (long) de 64 bits contenant le nombre de millisecondes écoulées depuis minuit, le 1er janvier 1970 UTC. | PostClientFlow |
client.sent.start.time |
Chaîne | Lecture seule | Heure, exprimée sous forme de chaîne, lorsque le ProxyEndpoint a commencé à renvoyer la réponse à l'application cliente d'origine. Par exemple, "Mer, 21 août 2013 19:16:47 UTC".
Cette valeur est une représentation sous forme de chaîne du |
PostClientFlow |
client.sent.start.timestamp |
Long | Lecture seule | Moment où le proxy a commencé à envoyer la réponse au client depuis le ProxyEndpoint. Cette valeur est exprimée sous la forme d'un entier (long) de 64 bits contenant le nombre de millisecondes écoulées depuis minuit, le 1er janvier 1970 UTC. | PostClientFlow |
client.ssl.enabled |
Chaîne | Lecture seule |
"true" si le ProxyEndpoint est configuré pour TLS/SSL, "false" dans le cas contraire. |
Requête de proxy |
client.state |
Chaîne | Lecture seule |
État spécifié dans le certificat TLS/SSL présenté par le client. |
Requête de proxy |
current
Contient des informations sur le flux de proxy d'API actuel.
Le tableau suivant décrit les propriétés de la variable current
:
Propriété | Type | Lecture/Écriture | Description | Début du champ d'application |
---|---|---|---|---|
current.flow.name |
Chaîne | Lecture seule | Nom du flux en cours d'exécution (par exemple, "PreFlow", "PostFlow" ou le nom d'un flux conditionnel). | Requête de proxy |
current.flow.description |
Chaîne | Lecture seule | Description du flux en cours d'exécution. Il s'agit de la valeur de l'élément <Description> dans la configuration XML du flux. |
Requête de proxy |
Vous pouvez afficher ces propriétés dans la vue Trace de l'UI Edge. Toutefois, ces propriétés ne sont pas visibles par défaut dans la vue Trace de l'UI classique.
environment
Conteneur pour la propriété environment.name
.
Le tableau suivant décrit les propriétés de la variable environment
:
Propriété | Type | Lecture/Écriture | Description | Début du champ d'application |
---|---|---|---|---|
environment.name |
Chaîne | Lecture seule | Nom de l'environnement dans lequel la transaction a été exécutée. | Requête de proxy |
error
Objet contextuel représentant un message d'erreur dans le flux d'erreur.
Le tableau suivant décrit les propriétés de la variable error
:
Propriété | Type | Lecture/Écriture | Description | Début du champ d'application |
---|---|---|---|---|
error |
message |
Lecture/Écriture | Erreur de type message , qui est un objet contextuel dans le flux d'erreur. |
Erreur |
error.content |
Chaîne | Lecture/Écriture | Contenu de l'erreur. | Erreur |
error.message |
Chaîne | Lecture seule |
Message associé à une erreur dont la valeur n'est disponible qu'avant l'exécution du flux d'erreur. |
Erreur |
error.status.code |
Entier | Lecture seule |
Code d'état HTTP associé à l'erreur. Exemple : "400". |
Erreur |
error.reason.phrase |
Chaîne | Lecture seule |
Expression de motif associée à l'erreur. (par exemple, "Bad Request"). |
Erreur |
error.transport.message |
TransportMessage | Lecture seule |
Toute erreur de type TransportMessage. |
Erreur |
error.state |
Entier | Lecture seule |
État dans le Flux où une erreur s'est produite. |
Erreur |
error.header.header_name |
Chaîne | Lecture/Écriture |
Obtenir ou définir l'en-tête de réponse. |
Erreur |
fault
Variable de flux définie sur un code d'erreur d'exécution lorsqu'une règle génère une erreur. Les valeurs du code d'erreur sont spécifiques à chaque règle.
Propriété | Type | Lecture/Écriture | Description | Début du champ d'application |
---|---|---|---|---|
fault.fault_name |
Chaîne | Lecture seule | fault_name est le nom de l'erreur, comme décrit dans le tableau Erreurs d'exécution inclus dans chaque rubrique de référence de la règle. | Erreur |
is
Conteneur pour la propriété is.error
.
Le tableau suivant décrit les propriétés de la variable is
:
Propriété | Type | Lecture/Écriture | Description | Début du champ d'application |
---|---|---|---|---|
is.error |
Booléen | Lecture seule |
Indicateur d'erreur. |
Requête de proxy |
loadbalancing
Fournit des informations sur l'état de l'équilibrage de charge de TargetEndpoint.
Le tableau suivant décrit les propriétés de la variable loadbalancing
:
Propriété | Type | Lecture/Écriture | Description | Début du champ d'application |
---|---|---|---|---|
loadbalancing.failedservers |
Tableau de chaînes | Lecture seule |
Liste des TargetServers défaillants lors de l'équilibrage de charge sur TargetEndpoint. |
Réponse cible |
loadbalancing.isfallback |
Booléen | Lecture seule |
"true" si le remplacement est activé pour le TargetServer appelé lors de l'équilibrage de charge sur TargetEndpoint. |
Réponse cible |
loadbalancing.targetserver |
Chaîne | Lecture seule |
TargetServer appelé lors de l'équilibrage de charge sur TargetEndpoint. Défini uniquement si l'élément |
Réponse cible |
message
Objet contextuel, avec la même valeur que request
dans le flux de requête, ou response
dans le flux de réponse, ou error
dans le flux d'erreurs.
Le tableau suivant décrit les propriétés de la variable message
:
Propriété | Type | Lecture/Écriture | Description | Début du champ d'application |
---|---|---|---|---|
message |
message |
Lecture/Écriture |
Objet contextuel, avec la même valeur que |
Requête de proxy |
message.content |
Chaîne | Lecture/Écriture |
Contenu de la requête, de la réponse ou du message d'erreur. |
Requête de proxy |
message.formparam.param_name |
Chaîne | Lecture/Écriture |
Valeur du paramètre de formulaire spécifié. |
Requête de proxy |
message.formparam.param_name. |
Collection | Lecture seule |
Toutes les valeurs du paramètre de formulaire spécifié dans le message. |
Requête de proxy |
message.formparam.param_name. |
Entier | Lecture seule |
Décompte des valeurs des paramètres de formulaire spécifiés dans le message. |
Requête de proxy |
message.formparams.count |
Entier | Lecture seule |
Décompte de tous les paramètres de formulaire dans le message. |
Requête de proxy |
message.formparams.names |
Collection | Lecture seule |
Valeur de tous les paramètres de formulaire dans le message. |
Requête de proxy |
message.formstring |
Chaîne | Lecture seule |
Valeur de chaîne de formulaire dans le message. |
Requête de proxy |
message.header.header_name |
Chaîne | Lecture/Écriture |
Récupère ou définit la valeur de l'en-tête HTTP spécifié dans le message. Si l'en-tête contient une virgule, à la lecture, vous ne recevrez que le segment du texte jusqu'à la première virgule. Si vous souhaitez avoir l'en-tête complet, utilisez le formulaire |
Requête de proxy |
message.header.header_name.N |
Chaîne | Lecture/Écriture |
La valeur de la Nième valeur d'en-tête particulière dans le message, à savoir une requête ou une réponse, selon l'état du flux. Apigee Edge divise les valeurs de texte d'en-tête par des virgules. Notez que l'index dont la valeur est utilisée pour N est en base 1, et non 0. Par exemple, si l'en-tête |
Requête de proxy |
message.header.header_name. |
Collection | Lecture seule |
Toutes les valeurs du nom d'en-tête HTTP spécifié dans le message. |
Requête de proxy |
message.header.header_name. |
Entier | Lecture seule |
Décompte des valeurs du nom d'en-tête HTTP spécifié dans le message. |
Requête de proxy |
message.headers.count |
Entier | Lecture seule |
Décompte de tous les en-têtes HTTP dans le message. |
Requête de proxy |
message.headers.names |
Collection | Lecture seule |
Valeur de tous les en-têtes HTTP dans le message |
Requête de proxy |
message.path |
Chaîne | Lecture/Écriture |
Chemin d'accès complet au message de la requête dans l'URL, à l'exclusion des paramètres de requête. |
Requête de proxy |
message.queryparam.param_name |
Chaîne | Lecture seule |
Renvoie le paramètre de requête de message spécifié. |
Requête de proxy |
message.queryparam.param_name.N |
Chaîne | Lecture/Écriture |
Valeur du Nième paramètre de requête dans le message. Par exemple, si À titre d'exemple, pour écrire plusieurs valeurs pour un seul nom de paramètre de requête tel que "type=siteid:1&type=language:us-en&type=currency:USD", définissez les éléments suivants :
|
Requête de proxy |
message.queryparam.param_name. |
Collection | Lecture seule |
Toutes les valeurs d'un paramètre de requête particulier dans le message, mises en forme en tant que liste d'éléments séparés par une virgule. Par exemple, si la chaîne de requête est |
Requête de proxy |
message.queryparam.param_name. |
Entier | Lecture seule |
Nombre total d'un paramètre de requête spécifié associé à la requête envoyée au ProxyEndpoint depuis l'application cliente. |
Requête de proxy |
message.queryparams.count |
Entier | Lecture seule |
Nombre total de tous les paramètres de requête associés à la requête envoyée au ProxyEndpoint depuis l'application cliente. |
Requête de proxy |
message.queryparams.names |
Collection | Lecture seule |
Liste de tous les noms de paramètre de requête associés à la requête envoyée au ProxyEndpoint depuis l'application cliente. Pour itérer les noms de paramètre de requête à l'aide de JavaScript, consultez le post destiné à la communauté Apigee suivant : Comment itérer une collection à partir de "request.queryparams.names" dans JS ? dans la Communauté Apigee. |
Requête de proxy |
message.querystring |
Chaîne | Lecture seule |
Chaîne contenant l'ensemble des noms et valeurs des paramètres de requête associés à la requête envoyée au ProxyEndpoint depuis l'application cliente. Par exemple, pour la requête "http://api.apifactory.com/inventors?name=nick&surname=danger", la valeur de |
Requête de proxy |
message.reason.phrase |
Chaîne | Lecture seule |
ReasonPhrase du message de réponse de la cible. |
Réponse cible |
message.status.code |
Entier | Lecture seule |
Code d'état HTTP du message de réponse de la cible. |
Réponse cible |
message.transport.message |
TransportMessage | Lecture seule |
Message de type TransportMessage qui est un objet contextuel. |
Requête de proxy |
message.uri |
Chaîne | Lecture seule |
Chemin d'URI complet (après l'URL du domaine), y compris les paramètres de requête. Par exemple, pour la requête "http://api.apifactory.com/inventors?name=nikola&surname=tesla", cette variable renvoie "inventors?name=nikola&surname=tesla". |
Requête de proxy |
message.verb |
Chaîne | Lecture seule |
Verbe HTTP ( |
Requête de proxy |
message.version |
Chaîne | Lecture/Écriture |
Version HTTP associée à la requête envoyée au ProxyEndpoint depuis l'application cliente. |
Requête de proxy |
Pour en savoir plus sur les messages, consultez la Documentation de référence sur la fonction de modèle de message.
messageid
Conteneur pour l'ID unique de la requête.
Le tableau suivant décrit les propriétés de la variable messageid
:
Propriété | Type | Lecture/Écriture | Description | Début du champ d'application |
---|---|---|---|---|
messageid |
Chaîne | Lecture seule |
Contient l'ID unique de la requête, qui inclut le nom d'hôte du routeur. Cet ID permet de suivre les requêtes reçues au niveau du routeur après leur envoi au processeur de messages. Cet ID est consigné dans les journaux d'erreur Edge pour mettre en corrélation le |
Requête de proxy |
organization
Conteneur pour la propriété organization.name
.
Le tableau suivant décrit les propriétés de la variable organization
:
Propriété | Type | Lecture/Écriture | Description | Début du champ d'application |
---|---|---|---|---|
organization.name |
Chaîne | Lecture seule |
Nom de l'organisation. |
Requête de proxy |
Pour en savoir plus sur les organisations, consultez la section Comprendre les organisations.
proxy
Configuration du proxy d'API.
Le tableau suivant décrit les propriétés de la variable proxy
:
Propriété | Type | Lecture/Écriture | Description | Début du champ d'application |
---|---|---|---|---|
proxy.basepath |
Chaîne | Lecture seule |
Valeur du chemin de base dans la configuration de votre proxy d'API. Le chemin de base correspond au fragment d'URI qui suit l'hôte dans l'URL. Les URI des flux conditionnels suivent le chemin de base. Dans l'URL "http://myorg-test.apigee.net/v2/weatherapi/forecastrss?w=12797282" :
La seule façon de connaître cette information est de consulter la définition du proxy d'API ou de vérifier la valeur de la variable proxy.basepath. Le suffixe du chemin de proxy suit le chemin de base ("/forecastrss"), ainsi que tous les paramètres de requête. Si vous définissez un chemin de base dynamique dans la configuration de votre proxy d'API, tel que "/v2/*/weatherapi", cette variable est alors définie sur le chemin dynamique ("/v2/*/weatherapi"), même si le chemin de base renvoie une valeur statique, telle que "/v2/foo/weatherapi". |
Requête de proxy |
proxy.client.ip |
Chaîne | Lecture seule |
Adresse |
Requête de proxy |
proxy.name |
Chaîne | Lecture seule |
Attribut de nom configuré pour le ProxyEndpoint. |
Requête de proxy |
proxy.pathsuffix |
Chaîne | Lecture seule |
Valeur du suffixe de chemin de base du proxy d'API envoyé par le client et reçu au niveau du ProxyEndpoint. Le chemin de base est défini comme le chemin d'accès qui identifie de manière unique le proxy d'API. L'URL publique d'un proxy d'API est composée du nom de votre organisation, de l'environnement dans lequel le proxy est déployé, du chemin de base, du suffixe de chemin de base et des paramètres de requête. Par exemple, dans une requête adressée à |
Requête de proxy |
proxy.url |
Chaîne | Lecture seule |
Récupère l'URL complète associée à la requête de proxy reçue par le ProxyEndpoint, y compris les paramètres de requête présents.
L'hôte de l'URL sera toujours Pour obtenir un exemple de construction d'URL |
Requête de proxy |
Pour en savoir plus sur l'utilisation des proxys d'API, consultez la section Comprendre les API et les proxys d'API.
ratelimit
Renseigné lors de l'exécution d'une règle de quota ou SpikeArrest.
Le tableau suivant décrit les propriétés de la variable ratelimit
:
Propriété | Type | Lecture/Écriture | Description | Début du champ d'application |
---|---|---|---|---|
ratelimit.policy_name.allowed.count | Long | Lecture seule | Renvoie le décompte de quota autorisé. | PostClientFlow |
ratelimit.policy_name.used.count | Long | Lecture seule | Renvoie le quota actuel utilisé dans un intervalle de quota. | PostClientFlow |
ratelimit.policy_name.available.count | Long | Lecture seule | Renvoie le décompte de quota disponible dans l'intervalle de quota. | PostClientFlow |
ratelimit.policy_name.exceed.count | Long | Lecture seule | Renvoie 1 une fois le quota dépassé | PostClientFlow |
ratelimit.policy_name.total.exceed.count | Long | Lecture seule | Renvoie 1 une fois le quota dépassé | PostClientFlow |
ratelimit.policy_name.expiry.time | Long | Lecture seule |
Renvoie l'heure UTC (en millisecondes) qui détermine la date d'expiration du quota et le début d'un nouvel intervalle. Lorsque le type de règle de quotas est |
PostClientFlow |
ratelimit.policy_name.identifier | Chaîne | Lecture seule | Renvoie la référence de l'identifiant (client) associée à la règle. | PostClientFlow |
ratelimit.policy_name.class.allowed.count | Long | Lecture seule | Renvoie le nombre de quotas autorisés défini dans la classe | PostClientFlow |
ratelimit.policy_name.class.used.count | Long | Lecture seule | Renvoie le quota utilisé dans une classe | PostClientFlow |
ratelimit.policy_name.class.available.count | Long | Lecture seule | Renvoie le nombre de quotas disponibles dans la classe | PostClientFlow |
ratelimit.policy_name.class.exceed.count | Long | Lecture seule | Renvoie le nombre de requêtes qui dépassent la limite définie dans la classe dans l'intervalle de quota actuel | PostClientFlow |
ratelimit.policy_name.class.total.exceed.count | Long | Lecture seule | Renvoie le nombre total de requêtes qui dépassent la limite définie pour la classe parmi tous les intervalles de quotas. Il correspond donc à la somme de class.exceed.count pour tous les intervalles de quota. |
PostClientFlow |
ratelimit.policy_name.failed | Booléen | Lecture seule |
Indique si la règle a échoué (vrai ou faux) |
PostClientFlow |
Pour en savoir plus, consultez les ressources suivantes :
- Limitation de débit
- Comparer les règles sur les quotas et SpikeAlert
- Règles relatives aux quotas
- Règle SpikeArrest
request
Requête complète, y compris les charges utiles présentes.
Pour en savoir plus sur les données de requête, consultez la section Comment les données de requête sont-elles transmises au serveur backend ?
Le tableau suivant décrit les propriétés de la variable request
:
Propriété | Type | Lecture/Écriture | Description | Début du champ d'application |
---|---|---|---|---|
request |
message |
Lecture seule |
Requête complète, y compris les charges utiles présentes. |
Requête de proxy |
request.content |
Chaîne | Lecture/Écriture |
Récupère ou définit la charge utile du message de requête. |
Requête de proxy |
request.formparam.param_name |
Chaîne | Lecture/Écriture |
Récupère ou définit la valeur du paramètre de formulaire spécifié dans la requête envoyée depuis l'application cliente. |
Requête de proxy |
request.formparam.param_name. |
Collection | Lecture seule |
Toutes les valeurs d'un paramètre de formulaire particulier dans la requête, mises en forme en tant que liste d'éléments séparés par une virgule. Par exemple, si la charge utile est "a=hello&x=greeting&a=world", la valeur de |
Requête de proxy |
request.formparam.param_name. |
Entier | Lecture seule |
Décompte de toutes les valeurs pour le paramètre de formulaire spécifié associé à la requête. |
Requête de proxy |
request.formparam.param_name.N |
Chaîne | Lecture/Écriture |
Valeur du Nième paramètre de formulaire particulier dans le message. Par exemple, si la chaîne de formulaire est "a=hello&a=world", la valeur de retour de |
Requête de proxy |
request.formparams.count |
Entier | Lecture seule |
Nombre de tous les paramètres de formulaire associés à la requête envoyée depuis l'application cliente. |
Requête de proxy |
request.formparams.names |
Collection | Lecture seule |
Liste de tous les noms de paramètres de formulaire associés à la requête. |
Requête de proxy |
request.formstring |
Chaîne | Lecture seule |
Par exemple, "name=test&type=first&group=A". |
Requête de proxy |
request.header.header_name |
Chaîne | Lecture/Écriture |
Récupère ou définit la valeur d'un en-tête particulier trouvé dans la requête. Si l'en-tête contient une virgule, à la lecture, vous ne recevrez que le segment du texte jusqu'à la première virgule. Si vous souhaitez avoir l'en-tête complet, utilisez le formulaire |
Requête de proxy |
request.header.header_name.N |
Chaîne | Lecture/Écriture |
Valeur de la Nième valeur d'en-tête particulière dans la requête. Apigee Edge divise les valeurs de texte d'en-tête par des virgules. Notez que l'index dont la valeur est utilisée pour N est en base 1, et non 0. Par exemple, si l'en-tête |
Requête de proxy |
request.header.header_name. |
Collection | Lecture seule |
Toutes les valeurs d'un en-tête particulier dans la requête. |
Requête de proxy |
request.header.header_name. |
Entier | Lecture seule |
Décompte de toutes les valeurs d'un en-tête particulier dans la requête. |
Requête de proxy |
request.headers.count |
Entier | Lecture seule |
Décompte de tous les en-têtes dans la requête. |
Requête de proxy |
request.headers.names |
Collection | Lecture seule |
Noms de tous les en-têtes dans la requête. |
Requête de proxy |
request.path |
Chaîne | Lecture seule |
Chemin de ressource dépourvu de proxy (n'incluant pas l'hôte) vers le service de backend, excluant les paramètres de requête. Par exemple, si l'URI du service de backend est "https://example.com/rest/api/latest", la valeur de |
Requête de proxy |
request.queryparam.param_name |
Chaîne | Lecture/Écriture |
Valeur d'un paramètre de requête particulier trouvé dans la requête. |
Requête de proxy |
request.queryparam.param_name.N |
Chaîne | Lecture/Écriture |
Valeur du Nième paramètre de requête dans la requête. Par exemple, si À titre d'exemple, pour écrire plusieurs valeurs pour un seul nom de paramètre de requête tel que "type=siteid:1&type=language:us-en&type=currency:USD", définissez les éléments suivants :
|
Requête de proxy |
request.queryparam.param_name. |
Collection | Lecture seule |
Toutes les valeurs d'un paramètre de requête particulier dans la requête, mises en forme en tant que liste d'éléments séparés par une virgule. Par exemple, si |
Requête de proxy |
request.queryparam.param_name. |
Entier | Lecture seule |
Décompte de toutes les valeurs d'un paramètre de requête particulier dans la requête. |
Requête de proxy |
request.queryparams.count |
Entier | Lecture seule |
Décompte de tous les paramètres de requête dans la requête. |
Requête de proxy |
request.queryparams.names |
Collection | Lecture seule |
Noms de tous les paramètres de requête dans la requête. Pour itérer les noms de paramètre de requête à l'aide de JavaScript, consultez le post Comment itérer une collection à partir de "request.queryparams.names" dans JS ? dans la Communauté Apigee. |
Requête de proxy |
request.querystring |
Chaîne | Lecture seule |
Liste complète des paramètres de requête dans la requête envoyée depuis l'application cliente. Par exemple, si la requête est "http://host.com/123?name=first&surname=second&place=address", alors cette variable renvoie "name=first&surname=second&place=address". |
Requête de proxy |
request.transportid |
Chaîne | Lecture seule |
ID de la requête de type TransportMessage qui est un objet contextuel. |
Requête de proxy |
request.transport.message |
Transport-Message | Lecture seule |
Requête de type TransportMessage qui est un objet contextuel. |
Requête de proxy |
request.uri |
Chaîne | Lecture seule |
Dans un proxy d'API, le
Pointe vers
Dans la requête, Dans la réponse, La différence est due au fait que la demande d'origine est parvenue au proxy, mais le proxy adresse ensuite une autre requête au service cible. Supposons que l'appel suivant est effectué dans notre exemple de proxy, dont le chemin de base est "/my-mock-proxy" :
Et le proxy appelle :
Ce qui ajoute "/user?user=Dude" à cette URL.
|
Requête de proxy (diffère dans la réponse) |
request.url |
Chaîne | Lecture seule |
URL complète de la requête adressée au point de terminaison cible, y compris les paramètres de chaîne de requête, mais pas le numéro de port (si spécifié). Par exemple, si vous appelez un exemple de proxy "http://my_org-test.apigee.net/my-mock-proxy/user?user=Dude" et que le point de terminaison cible est "http://example.com:8080", la valeur est la suivante :
|
Réponse cible |
request.verb |
Chaîne | Lecture seule |
Verbe HTTP utilisé pour la requête. (par exemple, "GET", "PUT" et "DELETE"). |
Requête de proxy |
request.version |
Chaîne | Lecture seule |
Version HTTP de la requête. Exemple : "1.1". |
Requête de proxy |
response
Réponse complète, y compris toute charge utile présente.
Le tableau suivant décrit les propriétés de la variable response
:
Propriété | Type | Lecture/Écriture | Description | Début du champ d'application |
---|---|---|---|---|
response |
message |
Lecture/Écriture |
Message de réponse complet renvoyé par la cible. |
Réponse cible |
response.content |
Chaîne | Lecture/Écriture |
Contenu de la charge utile du message de réponse renvoyé par la cible. |
Réponse cible |
response.formparam.param_name |
Chaîne | Lecture/Écriture |
Valeur d'un paramètre de formulaire dans la réponse. |
Réponse cible |
response.formparam.param_name. |
Entier | Lecture seule |
Décompte de toutes les valeurs du paramètre de formulaire spécifié en réponse. |
Réponse cible |
response.formparams.count |
Entier | Lecture seule |
Décompte de tous les paramètres de formulaire dans la réponse. |
Réponse cible |
response.formparams.names |
Collection | Lecture seule |
Noms de tous les paramètres de formulaire dans la réponse. |
Réponse cible |
response.header.header_name |
Chaîne | Lecture/Écriture |
Récupère ou définit la valeur d'un en-tête HTTP spécifié dans la réponse. Si le texte d'en-tête inclut une virgule, Apigee Edge déduit plusieurs valeurs. Dans ce cas, Pour lire l'en-tête complet, utilisez le formulaire |
Réponse cible |
response.header.header_name. |
Collection | Lecture seule |
Toutes les valeurs d'un en-tête HTTP spécifié dans la réponse. |
Réponse cible |
response.header.header_name. |
Entier | Lecture seule |
Décompte de toutes les valeurs de l'en-tête HTTP spécifié dans la réponse. |
Réponse cible |
response.header.header_name.N |
Chaîne | Lecture/Écriture |
Valeur de la Nième valeur d'en-tête particulière dans la réponse. Apigee Edge divise les valeurs de texte d'en-tête par des virgules. Notez que l'index dont la valeur est utilisée pour N est en base 1, et non 0. Par exemple, si l'en-tête |
Réponse cible |
response.headers.count |
Entier | Lecture seule |
Décompte de tous les en-têtes dans la réponse. |
Réponse cible |
response.headers.names |
Collection | Lecture seule |
Noms de tous les en-têtes dans la réponse. |
Réponse cible |
response.reason.phrase |
Chaîne | Lecture/Écriture |
Expression de motif de la réponse pour une requête particulière. |
Réponse cible |
response.status.code |
Entier | Lecture/Écriture |
Code de réponse renvoyé pour une requête. Vous pouvez utiliser cette variable pour remplacer le code d'état de la réponse, stocké dans |
Réponse cible |
response.transport.message |
Chaîne | Lecture seule |
Réponse de type TransportMessage, qui est un objet contextuel. |
Réponse cible |
route
Spécifie les noms de la règle <RouteRule>
et du TargetEndpoint.
Le tableau suivant décrit les propriétés de la variable route
:
Propriété | Type | Lecture/Écriture | Description | Début du champ d'application |
---|---|---|---|---|
route.name |
Chaîne | Lecture seule |
Nom de la règle |
Requête cible |
route.target |
Chaîne | Lecture seule |
Nom du TargetEndpoint qui a été exécuté. (par exemple, "default"). |
Requête cible |
router
Conteneur pour la propriété router.uuid
, qui est obsolète.
Le tableau suivant décrit les propriétés de la variable router
:
Propriété | Type | Lecture/Écriture | Description | Début du champ d'application |
---|---|---|---|---|
router.uuid |
Chaîne | Lecture seule |
Obsolète et renvoie la valeur "null". (Anciennement, UUID du routeur gérant le proxy.) |
Requête de proxy |
servicecallout
Décrit le TargetEndpoint pour une règle ServiceCall.
Le tableau suivant décrit les propriétés de la variable servicecallout
:
Propriété | Type | Lecture/Écriture | Description | Début du champ d'application |
---|---|---|---|---|
servicecallout.policy_name.expectedcn |
Chaîne | Lecture/Écriture |
Le nom commun attendu du TargetEndpoint, tel qu'il est mentionné dans une Règle ServiceCallout. Cela n'a de sens que lorsque le TargetEndpoint fait référence à un point de terminaison TLS/SSL. |
Requête de proxy |
servicecallout.policy_name.target.url |
Chaîne | Lecture/Écriture |
URL du TargetEndpoint pour une règle ServiceCallout particulière. |
Requête de proxy |
servicecallout.requesturi |
Chaîne | Lecture/Écriture |
URI du TargetEndpoint pour une règle ServiceCallout. L'URI est l'URL du TargetEndpoint sans le protocole ni la spécification de domaine. |
Requête de proxy |
system
Spécifie l'adresse IP du système, ainsi que des détails sur le proxy.
Le tableau suivant décrit les propriétés de la variable system
:
Propriété | Type | Lecture/Écriture | Description | Début du champ d'application |
---|---|---|---|---|
system.interface.interface_name |
Chaîne | Lecture seule |
Adresse IP du système. |
Requête de proxy |
system.pod.name |
Chaîne | Lecture seule |
Nom du pod dans lequel le proxy est exécuté. |
Requête de proxy |
system.region.name |
Chaîne | Lecture seule |
Nom de la région du centre de données dans laquelle le proxy est exécuté. |
Requête de proxy |
system.time |
Chaîne | Lecture seule |
Heure à laquelle cette variable a été lue. Par exemple, "mer, 21 août 2013 19:16:47 UTC". Cette valeur est la représentation sous forme de chaîne de la valeur correspondante de |
Requête de proxy |
system.time.year |
Entier | Lecture seule |
Partie "année" de |
Requête de proxy |
system.time.month |
Entier | Lecture seule |
Partie "mois" de |
Requête de proxy |
system.time.day |
Entier | Lecture seule |
Partie "jour du mois" de |
Requête de proxy |
system.time.dayofweek |
Entier | Lecture seule |
Partie "jour de la semaine" de |
Requête de proxy |
system.time.hour |
Entier | Lecture seule |
Partie "heure" de |
Requête de proxy |
system.time.minute |
Entier | Lecture seule |
Partie "minute" de |
Requête de proxy |
system.time.second |
Entier | Lecture seule |
Deuxième partie de |
Requête de proxy |
system.time.millisecond |
Entier | Lecture seule |
Partie "milliseconde" de |
Requête de proxy |
system.time.zone |
Chaîne | Lecture seule |
Fuseau horaire du système. |
Requête de proxy |
system.timestamp |
Long | Lecture seule |
Entier (long) de 64 bits représentant l'heure à laquelle cette variable a été lue. La valeur est le nombre de millisecondes écoulées depuis minuit, le 1er janvier 1970 UTC. Exemple : "1534783015000". |
Requête de proxy |
system.uuid |
Chaîne | Lecture seule |
UUID du processeur de messages gérant le proxy. |
Requête de proxy |
target
Décrit la cible de la requête.
Le tableau suivant décrit les propriétés de la variable target
:
Propriété | Type | Lecture/Écriture | Description | Début du champ d'application |
---|---|---|---|---|
target.basepath |
Chaîne | Lecture seule |
Chemin d'accès à la ressource (hors domaine) du service cible, à l'exclusion des paramètres de requête, défini dans le TargetEndpoint du proxy. Par exemple, supposons qu'un proxy d'API appelle la cible suivante :
Dans cet exemple, Si la cible était la suivante :
Le |
Requête cible |
target.copy.pathsuffix |
Booléen | Lecture/Écriture |
Lorsque la valeur est "true", la requête transmise du ProxyEndpoint au TargetEndpoint conserve le suffixe de chemin (le fragment de chemin d'URI après l'URI défini dans le chemin de base du ProxyEndpoint). |
Requête cible |
target.copy.queryparams |
Booléen | Lecture/Écriture |
Lorsque la valeur est "true", la requête transmise du ProxyEndpoint au TargetEndpoint conserve les paramètres de requête. |
Requête cible |
target.country |
Chaîne | Lecture seule |
Pays du certificat TLS/SSL présenté par le serveur cible |
Réponse cible |
target.cn |
Chaîne | Lecture seule |
Nom commun du TargetEndpoint. Cela n'a de sens que lorsque le TargetEndpoint fait référence à un point de terminaison TLS/SSL. |
Requête cible |
target.email.address |
Chaîne | Lecture seule |
Adresse e-mail du certificat TLS/SSL présenté par le serveur cible |
Réponse cible |
target.expectedcn |
Chaîne | Lecture/Écriture |
Nom commun attendu du TargetEndpoint. Cela n'a de sens que lorsque le TargetEndpoint fait référence à un point de terminaison TLS/SSL. |
Requête de proxy |
target.host |
Chaîne | Lecture seule |
Nom de domaine du service cible renvoyant la réponse au proxy d'API. |
Réponse cible |
target.ip |
Chaîne | Lecture seule |
Adresse IP du service cible renvoyant la réponse au proxy d'API. |
Réponse cible |
target.locality |
Chaîne | Lecture seule |
Localité (ville) du certificat TLS/SSL présenté par le serveur cible |
Réponse cible |
target.name |
Chaîne | Lecture seule |
Cible à laquelle le message parvient depuis le TargetEndpoint. |
Requête cible |
target.organization |
Chaîne | Lecture seule |
Organisation du certificat TLS/SSL présenté par le serveur cible. |
Réponse cible |
target.organization.unit |
Chaîne | Lecture seule |
Unité organisationnelle du certificat TLS/SSL présenté par le serveur cible. |
Réponse cible |
target.port |
Entier | Lecture seule |
Numéro de port du service cible renvoyant la réponse au proxy d'API. |
Réponse cible |
target.received.end.time |
Chaîne | Lecture seule |
Heure, exprimée sous forme de chaîne, à laquelle le TargetEndpoint a terminé de recevoir la réponse de la cible. Par exemple, "mer, 21 août 2013 19:16:47 UTC". Cette valeur temporelle est la représentation sous forme de chaîne de la quantité d'horodatage 32 bits correspondante. Par exemple, "mer, 21 août 2013 19:16:47 UTC" correspond à la valeur d'horodatage "1377112607413". |
Réponse cible |
target.received.end. |
Long | Lecture seule |
Valeur d'horodatage spécifiant le moment où le TargetEndpoint a terminé de recevoir la réponse de la cible. Exemple : "1534783015000". Cette valeur est un entier (long) de 64 bits spécifiant le nombre de millisecondes écoulées depuis minuit, le 1er janvier 1970 UTC. |
Réponse cible |
target.received.start.time |
Chaîne | Lecture seule |
Heure, exprimée sous forme de chaîne, à laquelle le TargetEndpoint a commencé à recevoir la réponse de la cible. Par exemple, "mer, 21 août 2013 19:16:47 UTC". Cette valeur temporelle est la représentation sous forme de chaîne de la quantité d'horodatage 32 bits correspondante. Par exemple, "mer, 21 août 2013 19:16:47 UTC" correspond à la valeur d'horodatage "1377112607413". |
Réponse cible |
target.received.start. |
Long | Lecture seule |
Valeur d'horodatage spécifiant le moment où le TargetEndpoint a commencé à recevoir la réponse de la cible. Exemple : "1534783015000". Cette valeur est un entier (long) de 64 bits spécifiant le nombre de millisecondes écoulées depuis minuit, le 1er janvier 1970 UTC. |
Réponse cible |
target.scheme |
Chaîne | Lecture seule |
Début du champ d'application : Réponse cible Renvoie HTTP ou HTTPS en fonction du message de la requête. |
Requête cible |
target.sent.end.time |
Chaîne | Lecture seule |
Heure, exprimée sous forme de chaîne, à laquelle le proxy a cessé d'envoyer la requête à l'URL spécifiée dans le TargetEndpoint. Par exemple, "mer, 21 août 2013 19:16:47 UTC". Cette valeur temporelle est la représentation sous forme de chaîne de la quantité d'horodatage 32 bits correspondante. Par exemple, "mer, 21 août 2013 19:16:47 UTC" correspond à la valeur d'horodatage "1377112607413". |
Requête cible |
target.sent.end.timestamp |
Long | Lecture seule |
Valeur d'horodatage spécifiant le moment où le proxy a terminé d'envoyer la requête à l'URL spécifiée dans le TargetEndpoint. Exemple : "1377112607413". Cette valeur est un entier (long) de 64 bits contenant le nombre de millisecondes écoulées depuis minuit, le 1er janvier 1970 UTC. |
Requête cible |
target.sent.start.time |
Chaîne | Lecture seule |
Heure, exprimée sous forme de chaîne, à laquelle le proxy a commencé à envoyer la requête à l'URL spécifiée dans le TargetEndpoint. Par exemple, "mer, 21 août 2013 19:16:47 UTC". Cette valeur temporelle est la représentation sous forme de chaîne de la quantité d'horodatage 32 bits correspondante. Par exemple, "mer, 21 août 2013 19:16:47 UTC" correspond à la valeur d'horodatage "1377112607413". |
Requête cible |
target.sent.start.timestamp |
Long | Lecture seule |
Valeur d'horodatage spécifiant le moment où le proxy a commencé à envoyer la requête à l'URL spécifiée dans le TargetEndpoint. Exemple : "1534783015000". Cette valeur est un entier (long) de 64 bits spécifiant le nombre de millisecondes écoulées depuis minuit, le 1er janvier 1970 UTC. |
Requête cible |
target.ssl.enabled |
Booléen | Lecture seule |
Indique si le TargetEndpoint s'exécute sur TLS/SSL. |
Requête de proxy |
target.state |
Chaîne | Lecture seule |
État du certificat TLS/SSL présenté par le serveur cible. |
Réponse cible |
target.url |
Chaîne | Lecture/Écriture |
URL configurée dans le fichier XML du TargetEndpoint ou dans l'URL de la cible dynamique (si |
Requête cible |
variable
Conteneur pour la propriété variable.expectedcn
.
Le tableau suivant décrit les propriétés de la variable variable
:
Propriété | Type | Lecture/Écriture | Description | Début du champ d'application |
---|---|---|---|---|
variable.expectedcn |
Chaîne | Lecture/Écriture |
Variable exposée pour le nom commun si elle s'exécute sur TLS/SSL. |
Requête de proxy |
Pour en savoir plus sur l'utilisation de TLS, consultez la section Présentation de TLS/SSL.
virtualhost
Spécifie des informations sur l'hôte virtuel.
Le tableau suivant décrit les propriétés de la variable virtualhost
:
Propriété | Type | Lecture/Écriture | Description | Début du champ d'application |
---|---|---|---|---|
virtualhost.aliases.values |
Tableau de chaînes | Lecture seule |
Alias d'hôte de l'hôte virtuel appelé lors d'une requête particulière. |
Requête de proxy |
virtualhost.name |
Chaîne | Lecture seule |
Nom de l'hôte virtuel qui diffuse la requête client d'origine. |
Requête de proxy |
virtualhost.ssl.enabled |
Booléen | Lecture seule |
Renvoie "true" si TLS/SSL est activé dans la configuration de l'hôte virtuel. |
Requête de proxy |
Pour en savoir plus sur l'utilisation des hôtes virtuels, consultez la section Configurer des hôtes virtuels.