Documentation de référence sur les variables de flux

Vous consultez la documentation d'Apigee X.
Consultez la documentation d'Apigee Edge.

Cette section fournit des informations de référence sur les variables de flux.

Apigee définit les variables de flux suivantes :

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

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

apiproduct

Variable d'aide qui fournit des informations sur les produits API.

Le tableau suivant décrit les propriétés de la variable apiproduct :

Propriété Type Lecture/Écriture Description Début du champ d'application
apiproduct.operation Chaîne Lecture seule

Nom de l'opération associée au produit API. Cette variable vous permet de faire la distinction entre les paramètres de la règle de quota et les paramètres de quota d'une opération d'un produit API.

Par exemple, my-operation.

Requête de proxy
apiproduct.operation.resource Chaîne Lecture seule

Nom de ressource de l'opération correspondant à une requête.

Requête de proxy
apiproduct.operation.methods Array Lecture seule

Tableau des méthodes HTTP que l'opération mise en correspondance autorise.

Requête de proxy
apiproduct.operation.attributes.key_name Array Lecture seule

Récupère la valeur d'attribut personnalisé correspondant à key_name.

Requête de proxy

Pour en savoir plus, consultez les ressources suivantes :

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. Par exemple, My Proxy. Requête de proxy
apiproxy.revision Chaîne Lecture seule Numéro de révision d'un proxy d'API. Par 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 Apigee.

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 Apigee. 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.) 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 client.sent.end.timestamp 32 bits correspondant. Par exemple, "mer, 21 août 2013 19:16:47 UTC" correspond à la valeur d'horodatage 1377112607413.

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 client.sent.start.timestamp 32 bits correspondant. Par exemple, "mer, 21 août 2013 19:16:47 UTC" correspond à la valeur d'horodatage 1377112607413.

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 Apigee.

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. Par exemple, 400.

Erreur
error.reason.phrase Chaîne Lecture seule

Expression de motif associée à l'erreur. 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 <Path> est défini au moment de définir l'élément de l'équilibreur de charge.

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 request dans le flux de requête, ou response dans le flux de réponse, ou error dans le flux d'erreur.

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.
 values
Collection Lecture seule

Toutes les valeurs du paramètre de formulaire spécifié dans le message.

Requête de proxy
message.formparam.param_name.
 values.count
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 request.header.header_name.
 values
.

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 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 Cache-control est public,maxage=16544, alors la valeur de retour de message.header.cache-control.1 est maxage=16544.

Requête de proxy
message.header.header_name.
 values
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.
 values.count
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 la request.querystring est a=hello&a=world, alors la valeur de retour de message.queryparam.a.1 est hello.

À 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 :

  • De message.queryparam.type.1 à siteid:1
  • De message.queryparam.type.2 à language:en-us
  • De message.queryparam.type.3 à currency:USD
Requête de proxy
message.queryparam.param_name.
 values
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 a=hello&a=world, alors la valeur de message.queryparam.a.values est ['hello', 'world']code>.

Requête de proxy
message.queryparam.param_name.
 values.count
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 message.querystring est name=nick&surname=danger.

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 (GET, PUT, POST, DELETE, etc.) associé à la requête.

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 Apigee pour mettre en corrélation le messageid avec les erreurs.

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 :

  • L'hôte est myorg-test.apigee.netcode> (qui inclut le nom et l'environnement de l'organisation)
  • Le chemin de base est /v2/weatherapi

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 du proxy d'API, tel que /v2/*/weatherapicode>, 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 X-Forwarded-For de l'appel entrant, qui correspond à l'adresse IP reçue par Apigee lors du dernier handshake TCP externe. Il peut s'agir du client à l'origine de l'appel ou d'un équilibreur de charge.

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 à http://myorg-test.apigee.net/v2/weatherapi/forecastrss?w=12797282, le suffixe de chemin de base est /forecastrss.

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.

Pour obtenir un exemple de construction d'URL request à l'aide de l'hôte d'origine, consultez la section Accéder aux messages de requête.

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.

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.
 values
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 request.formparam.a.values est ['hello', 'world'].

Requête de proxy
request.formparam.param_name.
 values.count
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, alors la valeur de renvoi de request.formparam.a.1 est hello.

Requête de proxy
request.formparams.count Entier Lecture seule

Décompte de tous les paramètres 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 associés à la requête.

Requête de proxy
request.formstring Chaîne Lecture seule

formparam complet dans la requête envoyée depuis l'application cliente.

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 request.header.header_name.values.

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 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 Cache-control est public, maxage=16544, la valeur de retour de request.header.cache-control.1 est maxage=16544.

Requête de proxy
request.header.header_name.
 values
Collection Lecture seule

Toutes les valeurs d'un en-tête particulier dans la requête.

Requête de proxy
request.header.header_name.
 values.count
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, alors la valeur de request.path est /rest/api/latest.

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 le request.querystring est défini sur a=hello&a=world, la valeur de retour de request.queryparam.a.1 est hello.

À 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 :

  • De request.queryparam.type.1 à siteid:1
  • De request.queryparam.type.2 à language:en-us
  • De request.queryparam.type.3 à currency:USD
Requête de proxy
request.queryparam.param_name.
 values
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 request.querystring est a=hello&b=lovely&a=world, alors la valeur de request.queryparam.a.values est ['hello', 'world'].

Requête de proxy
request.queryparam.param_name.
 values.count
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 contextuel.

Requête de proxy
request.transport.message Transport-Message Lecture seule

Requête de type TransportMessage qui est contextuel.

Requête de proxy
request.uri Chaîne Lecture seule

Dans un proxy d'API, le <BasePath> du proxy dans le ProxyEndpoint (en plus de l'URL de base du proxy) mappe sur l'URL du service cible dans le TargetEndpoint. Exemple :

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

Pointe vers

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

Dans la requête, request.uri est le chemin de base du proxy + le reste de l'adresse, y compris les paramètres de requête.

Dans la réponse, request.uri est le reste de l'adresse, y compris les paramètres de requête, après HTTPTargetConnection.

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 :

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

Et le proxy appelle :

http://mocktarget.apigee.net

Ce qui ajoute /user?user=Dude à cette URL.

  • Requête : request.uri = /my-mock-proxy/user?user=Dude
  • Réponse : request.uri = /user?user=Dude
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 :

  • Requête : N/A
  • Réponse : http://example.com/user?user=Dude
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. Par 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.
 values.count
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 déduit plusieurs valeurs. Dans ce cas, response.header.header_name ne renvoie que la première valeur.

Pour lire l'en-tête complet, utilisez le formulaire response.header.header_name.values.

Réponse cible
response.header.header_name.
 values
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.
 values.count
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 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 Cache-control est public, maxage=16544, alors response.header.cache-control.1 renvoie maxage=16544.

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 message.status.code. Pour en savoir plus, consultez la section message.

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 <RouteRule> qui a été exécutée dans le ProxyEndpoint. Exemple : default. Une règle RouteRule référence un proxy TargetEndpoint à exécuter.

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

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 TargetEndpoint d'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 system.timestamp. Par exemple, "mer, 21 août 2013 19:16:47 UTC" correspond à la valeur d'horodatage 1377112607413.

Requête de proxy
system.time.year Entier Lecture seule

Partie "année" de system.time.

Requête de proxy
system.time.month Entier Lecture seule

Partie "mois" de system.time.

Requête de proxy
system.time.day Entier Lecture seule

Partie "jour du mois" de system.time.

Requête de proxy
system.time.dayofweek Entier Lecture seule

Partie "jour de la semaine" de system.time.

Requête de proxy
system.time.hour Entier Lecture seule

Partie "heure" de system.time.

Requête de proxy
system.time.minute Entier Lecture seule

Partie "minute" de system.time.

Requête de proxy
system.time.second Entier Lecture seule

Deuxième partie de system.time.

Requête de proxy
system.time.millisecond Entier Lecture seule

Partie "milliseconde" de system.time.

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. Par 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 :

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

Dans cet exemple, le target.basepath est /user.

Si la cible était la suivante :

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

Le target.basepath serait nul.

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.
  timestamp
Long Lecture seule

Valeur d'horodatage spécifiant le moment où le TargetEndpoint a terminé de recevoir la réponse de la cible. Par 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.
  timestamp
Long Lecture seule

Valeur d'horodatage spécifiant le moment où le TargetEndpoint a commencé à recevoir la réponse de la cible. Par 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
Type : Chaîne
Autorisation : Lecture/Écriture

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. Par 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. Par 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 target.url est défini lors du flux de messages). La variable n'inclut aucun élément de chemin ou paramètre de requête supplémentaire. Renvoie la valeur "null" si elle est appelée hors du champ d'application ou non définie.

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 Options de configuration de TLS.