NOTA: Algunos aspectos de este producto están en versión Beta. Las opciones de instalación híbrida son GA. Para unirte al programa Beta, comunícate con tu representante de Apigee.

Referencia de variables de flujo

En esta sección, se proporciona información de referencia sobre las variables de flujo.

Apigee define las siguientes variables de flujo:

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

Cada uno de estos pasos se describe en las siguientes secciones.

apigee

Una variable auxiliar que proporciona información sobre el tiempo de ejecución de la política.

En la siguiente tabla, se describen las propiedades de la variable apigee:

Propiedad Tipo Lectura/escritura Descripción Comienza el alcance
apigee.metrics.policy.policy_name.timeTaken Entero Solo lectura El tiempo, en nanosegundos, que la política tardó en ejecutarse. Política

apiproxy

Describe el proxy de API.

En la siguiente tabla, se describen las propiedades de la variable apiproxy:

Propiedad Tipo Lectura/escritura Descripción Comienza el alcance
apiproxy.name String Solo lectura Nombre del proxy de API. Por ejemplo, My Proxy Solicitud de proxy
apiproxy.revision String Solo lectura El número de revisión de un proxy de API. Por ejemplo, 6 Solicitud de proxy

Para obtener más información sobre cómo trabajar con proxies de API, consulta Información sobre las API y los proxies de API.

application

Un contenedor para la propiedad application.basepath.

En la siguiente tabla, se describen las propiedades de la variable application:

Propiedad Tipo Lectura/escritura Descripción Comienza el alcance
application.basepath String Solo lectura La ruta base de la implementación (especificada durante la implementación de la API). Solicitud de proxy

client

La aplicación o el sistema que envió una solicitud al router de Apigee.

En la siguiente tabla, se describen las propiedades de la variable client:

Propiedad Tipo Lectura/escritura Descripción Comienza el alcance
client.cn String Solo lectura

El nombre común especificado en el certificado TLS/SSL que presentó la app cliente.

Solicitud de proxy
client.country String Solo lectura

El país del certificado TLS/SSL que presentó la app cliente

Solicitud de proxy
client.email.address String Solo lectura

La dirección de correo electrónico en el certificado TLS/SSL que presentó la app cliente.

Solicitud de proxy
client.host String Solo lectura

La IP del host HTTP asociada con la solicitud que recibió ProxyEndpoint.

Solicitud de proxy
client.ip String Solo lectura

La dirección IP del cliente o sistema que envía el mensaje al router de Apigee. Por ejemplo, puede ser la IP de cliente original o una IP del balanceador de cargas.

Solicitud de proxy
client.locality String Solo lectura

La localidad (ciudad) en el certificado TLS/SSL que presentó el cliente.

Solicitud de proxy
client.organization String Solo lectura La organización en el certificado TLS/SSL que presenta el cliente. (No necesariamente equivale a la organización en Apigee). Solicitud de proxy
client.organization.unit String Solo lectura

La unidad organizativa en el certificado TLS/SSL que presentó el cliente.

Solicitud de proxy
client.port Entero Solo lectura

El puerto HTTP asociado con la solicitud del cliente de origen al ProxyEndpoint.

Solicitud de proxy
client.received.end.time String Solo lectura

La hora, expresada en forma de string, en la que el proxy terminó de recibir la solicitud del cliente de origen en el ProxyEndpoint. Por ejemplo: mié., 21 de agosto de 2013 a las 19:16:47 UTC.

Este valor de tiempo es la representación de string de la cantidad de marcas de tiempo de 32 bits correspondientes. Por ejemplo, mié., 21 de agosto de 2013 a las 19:16:47 UTC se corresponde al valor de la marca de tiempo de 1377112607413.

Solicitud de proxy
client.received.end.timestamp Long Solo lectura

El valor de marca de tiempo que especifica cuándo el proxy terminó de recibir la solicitud del cliente de origen en ProxyEndpoint. Este valor es un número entero de 64 bits (largo) que contiene la cantidad de milisegundos transcurridos desde la medianoche del 1 de enero de 1970 UTC.

Solicitud de proxy
client.received.start.time String Solo lectura

La hora, expresada en forma de string, en la que el proxy comenzó a recibir la solicitud del cliente de origen en el ProxyEndpoint. Por ejemplo: mié., 21 de agosto de 2013 a las 19:16:47 UTC

Este valor de tiempo es la representación de string de la cantidad de marcas de tiempo de 32 bits correspondientes. Por ejemplo, mié., 21 de agosto de 2013 a las 19:16:47 UTC se corresponde al valor de la marca de tiempo de 1377112607413.

Solicitud de proxy
client.received.start.timestamp Long Solo lectura

El valor de marca de tiempo que especifica cuándo el proxy comenzó a recibir la solicitud del cliente de origen en ProxyEndpoint. Este valor es un número entero de 64 bits (largo) que contiene la cantidad de milisegundos transcurridos desde la medianoche del 1 de enero de 1970 UTC.

Solicitud de proxy
client.scheme String Solo lectura

Muestra HTTP o HTTPS según el transporte que use la app cliente para enviar el mensaje de solicitud.

Solicitud de proxy
client.sent.end.time String Solo lectura

El tiempo, expresado en forma de string, en el que el proxy terminó de enviar la respuesta del ProxyEndpoint al cliente. Por ejemplo: mié., 21 de agosto de 2013 a las 19:16:47 UTC

Este valor es una representación de string del client.sent.end.timestamp de 32 bits correspondiente. Por ejemplo, mié., 21 de agosto de 2013 a las 19:16:47 UTC corresponde al valor de la marca de tiempo 1377112607413.

PostClientFlow
client.sent.end.timestamp Long Solo lectura El valor de marca de tiempo que especifica cuándo ProxyEndpoint terminó de mostrar la respuesta a la app cliente de origen. Este valor es un número entero de 64 bits (largo) que contiene la cantidad de milisegundos transcurridos desde la medianoche del 1 de enero de 1970 UTC. PostClientFlow
client.sent.start.time String Solo lectura El tiempo, expresado en forma de string, cuando el ProxyEndpoint comenzó a mostrar la respuesta a la aplicación cliente de origen. Por ejemplo, mié., 21 de agosto de 2013, 19:16:47 UTC

Este valor es una representación de string del client.sent.start.timestamp de 32 bits correspondiente. Por ejemplo, mié., 21 de agosto de 2013 a las 19:16:47 UTC corresponde al valor de la marca de tiempo 1377112607413.

PostClientFlow
client.sent.start.timestamp Long Solo lectura Cuando el proxy comienza a enviar la respuesta al cliente desde el ProxyEndpoint. Este valor se expresa como un número entero de 64 bits (largo) que contiene la cantidad de milisegundos transcurridos desde la medianoche del 1 de enero de 1970 UTC. PostClientFlow
client.ssl.enabled String Solo lectura

true si el ProxyEndpoint está configurado para TLS/SSL de lo contrario, es false.

Solicitud de proxy
client.state String Solo lectura

El estado del certificado TLS/SSL que presentó el cliente.

Solicitud de proxy

current

Contiene información sobre el flujo actual del proxy de API.

En la siguiente tabla, se describen las propiedades de la variable current:

Propiedad Tipo Lectura/escritura Descripción Comienza el alcance
current.flow.name String Solo lectura El nombre del flujo que se está ejecutando actualmente (como PreFlow, PostFlow o el nombre de un flujo condicional). Solicitud de proxy
current.flow.description String Solo lectura Es la descripción del flujo que se encuentra en ejecución. Es igual al valor del elemento <Description> en la configuración de XML del flujo. Solicitud de proxy

Puedes ver estas propiedades en la vista de seguimiento de la IU de Apigee.

environment

Un contenedor para la propiedad environment.name.

En la siguiente tabla, se describen las propiedades de la variable environment:

Propiedad Tipo Lectura/escritura Descripción Comienza el alcance
environment.name String Solo lectura Nombre del entorno en el que se ejecutó la transacción. Solicitud de proxy

error

Un objeto contextual que representa un mensaje de error en el flujo de error.

En la siguiente tabla, se describen las propiedades de la variable error:

Propiedad Tipo Lectura/escritura Descripción Comienza el alcance
error message Lectura/escritura Error de tipo message, que es un objeto contextual en el flujo de error. Error
error.content String Lectura/escritura Contenido del error. Error
error.message String Solo lectura

Mensaje asociado con un error, cuyo valor está disponible solo antes de que se ejecute el flujo de error.

Error
error.status.code Entero Solo lectura

El código de estado HTTP asociado con el error. Por ejemplo, 400

Error
error.reason.phrase String Solo lectura

La frase del motivo asociada con el error. Por ejemplo: Bad Request.

Error
error.transport.message TransportMessage Solo lectura

Cualquier error de tipo TransportMessage.

Error
error.state Entero Solo lectura

Estado en el flujo en el que se produjo un error.

Error
error.header.header_name String Lectura/escritura

Obtén o establece el encabezado de la respuesta.

Error

fault

Una variable de flujo que se configura en un código de error de tiempo de ejecución cuando una política genera un error Los valores de código de error son específicos de cada política.

Propiedad Tipo Lectura/escritura Descripción Comienza el alcance
fault.fault_name String Solo lectura fault_name es el nombre del error, como se describe en la tabla Errores del entorno de ejecución incluida en cada tema de referencia de la política. Error

is

Un contenedor para la propiedad is.error.

En la siguiente tabla, se describen las propiedades de la variable is:

Propiedad Tipo Lectura/escritura Descripción Comienza el alcance
is.error Booleano Solo lectura

Marca de error.

Solicitud de proxy

loadbalancing

Proporciona información sobre el estado del balanceo de cargas de TargetEndpoint.

En la siguiente tabla, se describen las propiedades de la variable loadbalancing:

Propiedad Tipo Lectura/escritura Descripción Comienza el alcance
loadbalancing.failedservers Arreglo de strings Solo lectura

Lista de TargetServers fallidos durante el balanceo de cargas en TargetEndpoint.

Respuesta de destino
loadbalancing.isfallback Booleano Solo lectura

true si el resguardo está habilitado para el TargetServer invocado durante el balanceo de cargas en TargetEndpoint.

Respuesta de destino
loadbalancing.targetserver String Solo lectura

Se invoca TargetServer durante el balanceo de cargas en TargetEndpoint. Solo se establece si el elemento <Path> se establece mientras se define el elemento del balanceador de cargas.

Respuesta de destino

message

Un objeto contextual, con el mismo valor que request en el flujo de solicitudes o como response en el flujo de respuesta o como error en el flujo de error.

En la siguiente tabla, se describen las propiedades de la variable message:

Propiedad Tipo Lectura/escritura Descripción Comienza el alcance
message message Lectura/escritura

Un objeto contextual, con el mismo valor que request en el flujo de solicitudes o como response en el flujo de respuesta, o como error en el flujo de error.

Solicitud de proxy
message.content String Lectura/escritura

Contenido de la solicitud, respuesta o mensaje de error.

Solicitud de proxy
message.formparam.param_name String Lectura/escritura

Valor del parámetro del formulario especificado.

Solicitud de proxy
message.formparam.param_name.
 values
Colección Solo lectura

Todos los valores del parámetro de formulario especificado en el mensaje.

Solicitud de proxy
message.formparam.param_name.
 values.count
Entero Solo lectura

Recuento de los valores de los parámetros del formulario especificados en el message./p>

Solicitud de proxy
message.formparams.count Entero Solo lectura

Recuento de todos los parámetros del formulario en el mensaje.

Solicitud de proxy
message.formparams.names Colección Solo lectura

Valor de todos los parámetros del formulario del mensaje.

Solicitud de proxy
message.formstring String Solo lectura

Valor de la string del formulario en el mensaje.

Solicitud de proxy
message.header.header_name String Lectura/escritura

Obtiene o configura el valor del encabezado HTTP especificado en el mensaje. Si el encabezado contiene una coma, luego de la lectura, solo recibirás el segmento del texto hasta la primera coma. Si deseas usar el encabezado completo, usa el formulario request.header.header_name.
 values
.

Solicitud de proxy
message.header.header_name.N String Lectura/escritura

El valor del valor de encabezado Nth determinado en el mensaje, ya sea solicitud o respuesta, según el estado del flujo. Apigee divide los valores de texto del encabezado por comas. Ten en cuenta que el índice cuyo valor se usa para N se basa en 1 y no en función del 0.

Por ejemplo, si el encabezado Cache-control es public,maxage=16544, el valor de retorno de message.header.cache-control.1 es maxage=16544.

Solicitud de proxy
message.header.header_name.
 values
Colección Solo lectura

Todos los valores del nombre de encabezado HTTP especificado en el mensaje.

Solicitud de proxy
message.header.header_name.
 values.count
Entero Solo lectura

Recuento de los valores del nombre de encabezado HTTP especificado en el mensaje.

Solicitud de proxy
message.headers.count Entero Solo lectura

Recuento de todos los encabezados HTTP en el mensaje

Solicitud de proxy
message.headers.names Colección Solo lectura

Valor de todos los encabezados HTTP del mensaje

Solicitud de proxy
message.path String Lectura/escritura

La ruta completa del mensaje de solicitud en la URL, sin incluir los parámetros de consulta.

Solicitud de proxy
message.queryparam.param_name String Solo lectura

Muestra el parámetro de consulta de mensaje especificado.

Solicitud de proxy
message.queryparam.param_name.N String Lectura/escritura

El valor del parámetro de consulta Nth en el mensaje. Por ejemplo, si request.querystring es a=hello&a=world, el valor de retorno de message.queryparam.a.1 es hello.

Como ejemplo de escritura de varios valores para un solo nombre de parámetro de consulta, como type=siteid:1&type=language:us-en&type=currency:USD, configura lo siguiente:

  • De message.queryparam.type.1 a siteid:1
  • De message.queryparam.type.2 a language:en-us
  • De message.queryparam.type.3 a currency:USD
Solicitud de proxy
message.queryparam.param_name.
 values
Colección Solo lectura

Todos los valores de un parámetro de consulta particular en el mensaje, con formato de lista separada por comas.

Por ejemplo, si la string de consulta es a=hello&a=world, el valor de message.queryparam.a.values es ['hello', 'world']code>.

Solicitud de proxy
message.queryparam.param_name.
 values.count
Entero Solo lectura

El recuento total de un parámetro de consulta especificado asociado con la solicitud enviada al ProxyEndpoint desde la app cliente.

Solicitud de proxy
message.queryparams.count Entero Solo lectura

El recuento total de todos los parámetros de consulta asociados con la solicitud enviada al ProxyEndpoint desde la app cliente.

Solicitud de proxy
message.queryparams.names Colección Solo lectura

Una lista de todos los nombres de los parámetros de consulta asociados con la solicitud enviada al proxyEndpoint desde la app cliente.

Para iterar los nombres de los parámetros de consulta con JavaScript, consulta la siguiente publicación de la comunidad de Apigee: ¿Cómo repites la colección desde "request.queryparams.names" en JS? en la Comunidad de Apigee.

Solicitud de proxy
message.querystring String Solo lectura

Una string que contiene todos los nombres y valores de los parámetros de consulta asociados con la solicitud enviada al ProxyEndpoint desde la app cliente.

Por ejemplo, para la solicitud http://api.apifactory.com/inventors?name=nick&surname=danger, el valor de message.querystring es name=nick&surname=danger.

Solicitud de proxy
message.reason.phrase String Solo lectura

ReasonPhrase del mensaje de respuesta del destino

Respuesta de destino
message.status.code Entero Solo lectura

Código de estado HTTP del mensaje de respuesta del destino.

Respuesta de destino
message.transport.message TransportMessage Solo lectura

Mensaje de tipo TransportMessage, que es un objeto contextual.

Solicitud de proxy
message.uri String Solo lectura

La ruta de URI completa (después de la URL del dominio), incluidos los parámetros de consulta.

Por ejemplo, para la solicitud http://api.apifactory.com/inventors?name=nikola&surname=tesla, esta variable muestra inventors?name=nikola&surname=tesla.

Solicitud de proxy
message.verb String Solo lectura

El verbo HTTP (GET, PUT, POST, DELETE, etc.) asociado con la solicitud.

Solicitud de proxy
message.version String Lectura/escritura

La versión HTTP asociada con la solicitud enviada al ProxyEndpoint desde la aplicación cliente.

Solicitud de proxy

Para obtener más información sobre los mensajes, consulta la referencia de funciones de plantilla de mensajes.

messageid

Un contenedor para el ID único global de la solicitud

En la siguiente tabla, se describen las propiedades de la variable messageid:

Propiedad Tipo Lectura/escritura Descripción Comienza el alcance
messageid String Solo lectura

Contiene el ID único global de la solicitud, incluido el nombre del host del router. Este ID permite hacer un seguimiento de las solicitudes recibidas en el router después de enviarse al procesador de mensajes.

Este ID está registrado en los registros de errores de Apigee para correlacionar los messageid con los errores.

Solicitud de proxy

organization

Un contenedor para la propiedad organization.name.

En la siguiente tabla, se describen las propiedades de la variable organization:

Propiedad Tipo Lectura/escritura Descripción Comienza el alcance
organization.name String Solo lectura

Nombre de la organización.

Solicitud de proxy

Para obtener más información sobre las organizaciones, consulta Información sobre las organizaciones.

proxy

La configuración del proxy de la API.

En la siguiente tabla, se describen las propiedades de la variable proxy:

Propiedad Tipo Lectura/escritura Descripción Comienza el alcance
proxy.basepath String Solo lectura

El valor de la ruta base en la configuración de proxy de tu API La ruta base es el fragmento de URI que sigue al host en la URL. Los URI de flujo condicional siguen la ruta base.

en la URL http://myorg-test.apigee.net/v2/weatherapi/forecastrss?w=12797282:

  • El host es myorg-test.apigee.netcode> (que incluye el nombre de la organización y el entorno)
  • La ruta base es /v2/weatherapi

La única forma de saberlo es puedes ver la definición del proxy de la API o verificar el valor de la variable proxy.basepath. El sufijo de la ruta de proxy sigue la ruta base (/forecastrss), junto con cualquier parámetro de consulta.

Si defines una ruta base dinámica en la configuración del proxy de tu API, como /v2/*/weatherapicode>, esta variable se establece en la ruta dinámica (/v2/*/weatherapi), aunque la ruta base se resuelva en un valor estático, como /v2/foo/weatherapi.

Solicitud de proxy
proxy.client.ip String Solo lectura

La dirección X-Forwarded-For de la llamada entrante, que es la dirección IP que Apigee recibió del último protocolo de enlace TCP externo. Puede ser el cliente que realiza la llamada o un balanceador de cargas.

Solicitud de proxy
proxy.name String Solo lectura

El atributo name configurado para ProxyEndpoint.

Solicitud de proxy
proxy.pathsuffix String Solo lectura

El valor del sufijo de la ruta base del proxy de API que se envía del cliente y se recibe en el ProxyEndpoint.

La ruta base se define como el componente de ruta de acceso que identifica exclusivamente el proxy de API. La URL pública de un proxy de API está compuesta por el nombre de tu organización, el entorno en el que se implementa el proxy, la ruta base, el sufijo de la ruta base y cualquier parámetro de consulta.

Por ejemplo, en una solicitud a http://myorg-test.apigee.net/v2/weatherapi/forecastrss?w=12797282, el sufijo de la ruta base es /forecastrss.

Solicitud de proxy
proxy.url String Solo lectura

Obtiene la URL completa asociada con la solicitud de proxy que recibió el ProxyEndpoint, incluidos los parámetros de consulta presentes.

Para ver un ejemplo que construye una URL request con el host original, consulta Mensajes de solicitud de acceso.

Solicitud de proxy

Para obtener más información sobre cómo trabajar con proxies de API, consulta Información sobre las API y los proxies de API.

request

La solicitud completa, incluida cualquier carga útil presente.

Para obtener más información sobre los datos de la solicitud, consulta ¿Cómo se pasan los datos de solicitudes al servidor de backend?

En la siguiente tabla, se describen las propiedades de la variable request:

Propiedad Tipo Lectura/escritura Descripción Comienza el alcance
request message Solo lectura

La solicitud completa, incluida cualquier carga útil presente.

Solicitud de proxy
request.content String Lectura/escritura

Obtiene o configura la carga útil del mensaje de solicitud.

Solicitud de proxy
request.formparam.param_name String Lectura/escritura

Obtiene o establece el valor del parámetro del formulario especificado en la solicitud enviada desde la aplicación cliente.

Solicitud de proxy
request.formparam.param_name.
 values
Colección Solo lectura

Todos los valores de un parámetro de formulario en particular en la solicitud, con formato como una lista separada por comas.

Por ejemplo, si la carga útil es a=hello&x=greeting&a=world, el valor de request.formparam.a.values es ['hello', 'world'].

Solicitud de proxy
request.formparam.param_name.
 values.count
Entero Solo lectura

Recuento de todos los valores del parámetro de formulario especificado asociado con la solicitud.

Solicitud de proxy
request.formparam.param_name.N String Lectura/escritura

El valor del parámetro Nth determinado del formulario en el mensaje. Por ejemplo, si la string del formulario es a=hello&a=world, el valor de muestra de request.formparam.a.1 es hello.

Solicitud de proxy
request.formparams.count Entero Solo lectura

Recuento de todos los parámetros asociados con la solicitud enviada desde la aplicación cliente.

Solicitud de proxy
request.formparams.names Colección Solo lectura

Una lista de todos los nombres de parámetros asociados con la solicitud.

Solicitud de proxy
request.formstring String Solo lectura

El formparam completo en la solicitud enviada desde la app cliente.

Por ejemplo, name=test&type=first&group=A

Solicitud de proxy
request.header.header_name String Lectura/escritura

Obtiene o establece el valor de un encabezado en particular que se encuentra en la solicitud. Si el encabezado contiene una coma, luego de la lectura, solo recibirás el segmento del texto hasta la primera coma.

Si deseas usar el encabezado completo, usa el formulario request.header.header_name.values.

Solicitud de proxy
request.header.header_name.N String Lectura/escritura

El valor del valor Nth específico del encabezado en la solicitud. Apigee divide los valores de texto del encabezado por comas. Ten en cuenta que el índice cuyo valor se usa para N se basa en 1, no en 0.

Por ejemplo, si el encabezado Cache-control es public, maxage=16544, entonces el valor de retorno de request.header.cache-control.1 es maxage=16544.

Solicitud de proxy
request.header.header_name.
 values
Colección Solo lectura

Todos los valores de un encabezado en particular en la solicitud.

Solicitud de proxy
request.header.header_name.
 values.count
Entero Solo lectura

Recuento de todos los valores de un encabezado en particular en la solicitud.

Solicitud de proxy
request.headers.count Entero Solo lectura

Recuento de todos los encabezados en la solicitud

Solicitud de proxy
request.headers.names Colección Solo lectura

Nombres de todos los encabezados de la solicitud

Solicitud de proxy
request.path String Solo lectura

La ruta de recursos sin proxy (sin incluir el host) al servicio de backend, sin incluir los parámetros de consulta.

Por ejemplo, si el URI para el servicio de backend es https://example.com/rest/api/latest, entonces el valor de request.path es /rest/api/latest.

Solicitud de proxy
request.queryparam.param_name String Lectura/escritura

El valor de un parámetro de consulta particular que se encuentra en la solicitud.

Solicitud de proxy
request.queryparam.param_name.N String Lectura/escritura

El valor del parámetro de consulta Nth en la solicitud.

Por ejemplo, si request.querystring es a=hello&a=world, entonces el valor de retorno es request.queryparam.a.1 es hello.

Como ejemplo de escritura de varios valores para un solo nombre de parámetro de consulta, como type=siteid:1&type=language:us-en&type=currency:USD, configura lo siguiente:

  • De request.queryparam.type.1 a siteid:1
  • De request.queryparam.type.2 a language:en-us
  • De request.queryparam.type.3 a currency:USD
Solicitud de proxy
request.queryparam.param_name.
 values
Colección Solo lectura

Todos los valores de un parámetro de consulta particular en la solicitud, formados como una lista separada por comas.

Por ejemplo, si request.querystring es a=hello&b=lovely&a=world, entonces el valor de request.queryparam.a.values es ['hello', 'world'].

Solicitud de proxy
request.queryparam.param_name.
 values.count
Entero Solo lectura

El conteo de todos los valores de un parámetro de consulta particular en la solicitud.

Solicitud de proxy
request.queryparams.count Entero Solo lectura

El conteo de todos los parámetros de consulta en la solicitud.

Solicitud de proxy
request.queryparams.names Colección Solo lectura

Los nombres de todos los parámetros de consulta en la solicitud.

Para iterar los nombres de los parámetros de consulta con JavaScript, consulta ¿Cómo se repite la recopilación de "request.queryparams.names" en JS? en la comunidad de Apigee.

Solicitud de proxy
request.querystring String Solo lectura

Lista completa de los parámetros de consulta en la solicitud enviada desde la app cliente.

Por ejemplo, si la solicitud es http://host.com/123?name=first&surname=second&place=address, esta variable muestra name=first&surname=second&place=address.

Solicitud de proxy
request.transportid String Solo lectura

ID de la solicitud como tipo TransportMessage que es contextual.

Solicitud de proxy
request.transport.message Transport-Message Solo lectura

Solicitud de tipo TransportMessage que es contextual.

Solicitud de proxy
request.uri String Solo lectura

En un proxy de API, el proxy <BasePath> en ProxyEndpoint (además de la URL base del proxy) se asigna a la URL del servicio de destino en el TargetEndpoint. Por ejemplo:

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

Dirige a

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

En la solicitud, request.uri es la ruta base del proxy más el resto de la dirección, incluidos los parámetros de consulta.

En la respuesta, request.uri es el resto de la dirección, incluidos los parámetros de consulta, después de HTTPTargetConnection.

La diferencia es porque la solicitud original llegó al proxy, pero el proxy realiza otra solicitud al servicio de destino.

Supongamos que la siguiente llamada se realiza a nuestro proxy de muestra, que tiene una ruta base de /my-mock-proxy:

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

Y el proxy llama a lo siguiente:

http://mocktarget.apigee.net

que agrega /user?user=Dude a esa URL.

  • Solicitud: request.uri = /my-mock-proxy/user?user=Dude
  • Respuesta: request.uri = /user?user=Dude
Solicitud de proxy (diferencias en la respuesta)
request.url String Solo lectura

La URL completa de la solicitud realizada al extremo objetivo, incluidos los parámetros de string de consulta, pero no incluye el número de puerto (si se especifica).

Por ejemplo, si realizas una llamada a un proxy de muestra http://my_org-test.apigee.net/my-mock-proxy/user?user=Dude y el extremo objetivo es http://example.com:8080, entonces el valor es:

  • Solicitud: N/A
  • Respuesta: http://example.com/user?user=Dude
Respuesta de destino
request.verb String Solo lectura

El verbo HTTP que se usa para la solicitud. Por ejemplo, usa las etiquetas GET, PUT y DELETE.

Solicitud de proxy
request.version String Solo lectura

La versión HTTP de la solicitud. Por ejemplo, 1.1

Solicitud de proxy

response

La respuesta completa, incluida cualquier carga útil presente.

En la siguiente tabla, se describen las propiedades de la variable response:

Propiedad Tipo Lectura/escritura Descripción Comienza el alcance
response message Lectura/escritura

Mensaje de respuesta completo que muestra el destino.

Respuesta de destino
response.content String Lectura/escritura

Contenido de la carga útil del mensaje de respuesta que muestra el destino.

Respuesta de destino
response.formparam.param_name String Lectura/escritura

El valor de un parámetro de formulario en la respuesta.

Respuesta de destino
response.formparam.param_name.
 values.count
Entero Solo lectura

Recuento de todos los valores del parámetro de formulario especificado en respuesta.

Respuesta de destino
response.formparams.count Entero Solo lectura

Recuento de todos los factores de forma en la respuesta.

Respuesta de destino
response.formparams.names Colección Solo lectura

Los nombres de todos los parámetros del formulario en la respuesta.

Respuesta de destino
response.header.header_name String Lectura/escritura

Obtiene o configura el valor de un encabezado HTTP especificado en la respuesta.

Si el texto del encabezado incluye una coma, Apigee infiere varios valores. En este caso, response.header.header_name solo muestra el primer valor.

Para leer todo el encabezado, usa el formulario response.header.header_name.values.

Respuesta de destino
response.header.header_name.
 values
Colección Solo lectura

Todos los valores de un encabezado HTTP especificado en respuesta.

Respuesta de destino
response.header.header_name.
 values.count
Entero Solo lectura

Recuento de todos los valores del encabezado HTTP especificado en respuesta.

Respuesta de destino
response.header.header_name.N String Lectura/escritura

El valor del valor Nth determinado del encabezado en la respuesta Apigee divide los valores de texto del encabezado por comas. Ten en cuenta que el índice cuyo valor se usa para N se basa en 1, no en 0.

Por ejemplo, si el encabezado Cache-control es public, maxage=16544, entonces response.header.cache-control.1 muestra maxage=16544.

Respuesta de destino
response.headers.count Entero Solo lectura

Recuento de todos los encabezados en la respuesta

Respuesta de destino
response.headers.names Colección Solo lectura

Los nombres de todos los encabezados de la respuesta.

Respuesta de destino
response.reason.phrase String Lectura/escritura

Frase del motivo de la respuesta para una solicitud en particular.

Respuesta de destino
response.status.code Entero Lectura/escritura

El código de respuesta que se muestra para una solicitud. Puedes usar esta variable para anular el código de estado de respuesta, que se almacena en message.status.code. Para obtener más información, consulta message.

Respuesta de destino
response.transport.message String Solo lectura

Respuesta de tipo TransportMessage, que es un objeto contextual.

Respuesta de destino

route

Especifica los nombres de <RouteRule> y TargetEndpoint.

En la siguiente tabla, se describen las propiedades de la variable route:

Propiedad Tipo Lectura/escritura Descripción Comienza el alcance
route.name String Solo lectura

El nombre de <RouteRule> que se ejecutó en ProxyEndpoint. Por ejemplo, default. Una RouteRule hace referencia a un TargetEndpoint del proxy de API que se ejecutará.

Solicitud de destino
route.target String Solo lectura

El nombre del TargetEndpoint que se ejecutó. Por ejemplo, default

Solicitud de destino

router

Un contenedor para la propiedad router.uuid, que está obsoleto.

En la siguiente tabla, se describen las propiedades de la variable router:

Propiedad Tipo Lectura/escritura Descripción Comienza el alcance
router.uuid String Solo lectura

Obsoleto y muestra un valor nulo. (Anteriormente, el UUID del router que controla el proxy).

Solicitud de proxy

servicecallout

Describe el TargetEndpoint para una política de ServicePosting.

En la siguiente tabla, se describen las propiedades de la variable servicecallout:

Propiedad Tipo Lectura/escritura Descripción Comienza el alcance
servicecallout.policy_name.expectedcn String Lectura/escritura

El nombre común esperado del TargetEndpoint, al que se hace referencia en una política de política de servicio de texto destacado. Esto es significativo solo cuando el TargetEndpoint hace referencia a un extremo TLS/SSL.

Solicitud de proxy
servicecallout.policy_name.target.url String Lectura/escritura

La URL de TargetEndpoint para una política de servicio de texto destacado particular.

Solicitud de proxy
servicecallout.requesturi String Lectura/escritura

El URI de TargetEndpoint para una política ServiceCallout. El URI es la URL de TargetEndpoint sin la especificación del protocolo y el dominio.

Solicitud de proxy

system

Especifica la dirección IP del sistema y los detalles del proxy.

En la siguiente tabla, se describen las propiedades de la variable system:

Propiedad Tipo Lectura/escritura Descripción Comienza el alcance
system.interface.interface_name String Solo lectura

Dirección IP del sistema.

Solicitud de proxy
system.pod.name String Solo lectura

El nombre del pod en el que se ejecuta el proxy.

Solicitud de proxy
system.region.name String Solo lectura

El nombre de la región del centro de datos donde se ejecuta el proxy.

Solicitud de proxy
system.time String Solo lectura

El momento en que se leyó esta variable. Por ejemplo, mié., 21 de agosto de 2013 a las 19:16:47 UTC

Este valor es la representación de string del valor correspondiente de system.timestamp. Por ejemplo, mié., 21 de agosto del 2013 a las 19:16:47 UTC corresponde al valor de la marca de tiempo de 1377112607413.

Solicitud de proxy
system.time.year Entero Solo lectura

La parte del año de system.time.

Solicitud de proxy
system.time.month Entero Solo lectura

La parte del mes de system.time.

Solicitud de proxy
system.time.day Entero Solo lectura

Parte del día del mes de system.time.

Solicitud de proxy
system.time.dayofweek Entero Solo lectura

El día de la semana de system.time.

Solicitud de proxy
system.time.hour Entero Solo lectura

La parte de hora de system.time.

Solicitud de proxy
system.time.minute Entero Solo lectura

La parte de minutos de system.time.

Solicitud de proxy
system.time.second Entero Solo lectura

La segunda parte de system.time.

Solicitud de proxy
system.time.millisecond Entero Solo lectura

La parte de milésimas de segundo de system.time.

Solicitud de proxy
system.time.zone String Solo lectura

Zona horaria del sistema.

Solicitud de proxy
system.timestamp Long Solo lectura

El número entero de 64 bits (largo) que representa la hora a la que se leyó esta variable. El valor es la cantidad de milisegundos transcurridos desde la medianoche del 1 de enero de 1970 UTC. Por ejemplo: 1534783015000

Solicitud de proxy
system.uuid String Solo lectura

UUID del procesador de mensajes que controla el proxy.

Solicitud de proxy

target

Describe el destino de la solicitud.

En la siguiente tabla, se describen las propiedades de la variable target:

Propiedad Tipo Lectura/escritura Descripción Comienza el alcance
target.basepath String Solo lectura

La ruta del recurso (sin incluir el dominio) al servicio de destino, sin incluir los parámetros de consulta, que se define en el TargetEndpoint del proxy.

Por ejemplo, supongamos que un proxy de API llama al siguiente destino:

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

En este ejemplo, el target.basepath es /user.

Si el objetivo fuera el siguiente:

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

El valor target.basepath será nulo.

Solicitud de destino
target.copy.pathsuffix Booleano Lectura/escritura

Cuando es true, la solicitud reenviada de ProxyEndpoint a TargetEndpoint mantiene el sufijo de la ruta de acceso (el fragmento de ruta de URI que sigue al URI definido en la ruta base de proxyEndpoint).

Solicitud de destino
target.copy.queryparams Booleano Lectura/escritura

Cuando es true, la solicitud reenviada desde ProxyEndpoint a TargetEndpoint conserva los parámetros de consulta.

Solicitud de destino
target.country String Solo lectura

País del certificado TLS/SSL que presentó el servidor de destino

Respuesta de destino
target.cn String Solo lectura

El nombre común del TargetEndpoint. Esto es significativo solo cuando el TargetEndpoint hace referencia a un extremo TLS/SSL.

Solicitud de destino
target.email.address String Solo lectura

Dirección de correo electrónico del certificado TLS/SSL que presentó el servidor de destino

Respuesta de destino
target.expectedcn String Lectura/escritura

El nombre común esperado del TargetEndpoint. Esto es significativo solo cuando el TargetEndpoint hace referencia a un extremo TLS/SSL.

Solicitud de proxy
target.host String Solo lectura

El nombre de dominio del servicio de destino que muestra la respuesta al proxy de la API.

Respuesta de destino
target.ip String Solo lectura

La dirección IP del servicio de destino que reenvía la respuesta al proxy de API.

Respuesta de destino
target.locality String Solo lectura

Localidad (ciudad) del certificado TLS/SSL que presentó el servidor de destino

Respuesta de destino
target.name String Solo lectura

El objetivo es indicar a qué mensaje llega desde el extremo target.

Solicitud de destino
target.organization String Solo lectura

Organización del certificado TLS/SSL que presentó el servidor de destino.

Respuesta de destino
target.organization.unit String Solo lectura

Unidad organizativa del certificado TLS/SSL que presentó el servidor de destino.

Respuesta de destino
target.port Entero Solo lectura

El número de puerto del servicio de destino que muestra la respuesta al proxy de la API.

Respuesta de destino
target.received.end.time String Solo lectura

El tiempo, expresado en forma de string, en el que el TargetEndpoint terminó de recibir la respuesta del destino. Por ejemplo, mié., 21 de agosto de 2013 a las 19:16:47 UTC

Este valor de tiempo es la representación de string de la cantidad de marcas de tiempo de 32 bits correspondientes. Por ejemplo, mié., 21 de agosto de 2013 a las 19:16:47 UTC se corresponde al valor de la marca de tiempo de 1377112607413.

Respuesta de destino
target.received.end.
  timestamp
Long Solo lectura

El valor de la marca de tiempo que especifica cuándo TargetEndpoint terminó de recibir la respuesta del destino. Por ejemplo, 1534783015000 Este valor es un número entero de 64 bits (largo) que especifica la cantidad de milisegundos transcurridos desde la medianoche del 1 de enero de 1970 UTC.

Respuesta de destino
target.received.start.time String Solo lectura

El tiempo, expresado en forma de string, en el que el TargetEndpoint comenzó a recibir la respuesta del destino. Por ejemplo, mié., 21 de agosto de 2013 a las 19:16:47 UTC

Este valor de tiempo es la representación de string de la cantidad de marcas de tiempo de 32 bits correspondientes. Por ejemplo, mié., 21 de agosto de 2013 a las 19:16:47 UTC corresponde al valor de la marca de tiempo de 1377112607413.

Respuesta de destino
target.received.start.
  timestamp
Long Solo lectura

El valor de la marca de tiempo que especifica cuándo TargetEndpoint comenzó a recibir la respuesta del destino. Por ejemplo, 1534783015000 Este valor es un número entero de 64 bits (largo) que especifica la cantidad de milisegundos transcurridos desde la medianoche del 1 de enero de 1970 UTC.

Respuesta de destino
target.scheme String Solo lectura

Alcance del inicio: Respuesta objetivo
Tipo: String
Permiso: Lectura/escritura

Muestra http o https según el mensaje de solicitud.

Solicitud de destino
target.sent.end.time String Solo lectura

La hora, expresada en forma de string, en la que el proxy deja de enviar la solicitud a la URL especificada en el TargetEndpoint. Por ejemplo, mié., 21 de agosto de 2013 a las 19:16:47 UTC

Este valor de tiempo es la representación de string de la cantidad de marcas de tiempo de 32 bits correspondientes. Por ejemplo, mié., 21 de agosto de 2013 a las 19:16:47 UTC corresponde al valor de la marca de tiempo de 1377112607413.

Solicitud de destino
target.sent.end.timestamp Long Solo lectura

El valor de la marca de tiempo que especifica cuándo el proxy terminó de enviar la solicitud a la URL especificada en el TargetEndpoint. Por ejemplo, 1377112607413. Este valor es un número entero de 64 bits (largo) que contiene la cantidad de milisegundos transcurridos desde la medianoche del 1 de enero de 1970 UTC.

Solicitud de destino
target.sent.start.time String Solo lectura

La hora, expresada en forma de string, en la que el proxy comenzó a enviar la solicitud a la URL especificada en el TargetEndpoint. Por ejemplo, mié., 21 de agosto de 2013 a las 19:16:47 UTC

Este valor de tiempo es la representación de string de la cantidad de marcas de tiempo de 32 bits correspondientes. Por ejemplo, mié., 21 de agosto de 2013 a las 19:16:47 UTC corresponde al valor de la marca de tiempo de 1377112607413.

Solicitud de destino
target.sent.start.timestamp Long Solo lectura

El valor de la marca de tiempo que especifica cuándo el proxy comenzó a enviar la solicitud a la URL especificada en el TargetEndpoint. Por ejemplo, 1534783015000 Este valor es un número entero de 64 bits (largo) que especifica la cantidad de milisegundos transcurridos desde la medianoche del 1 de enero de 1970 UTC.

Solicitud de destino
target.ssl.enabled Booleano Solo lectura

Establece si TargetEndpoint se ejecuta en TLS/SSL.

Solicitud de proxy
target.state String Solo lectura

Estado del certificado TLS/SSL que presentó el servidor de destino.

Respuesta de destino
target.url String Lectura/escritura

La URL configurada en el archivo XML de TargetEndpoint o la URL de destino dinámica (si target.url se configura durante el flujo de mensajes). La variable no incluye elementos de ruta de acceso adicionales ni parámetros de consulta. Muestra null si se llama fuera del alcance o no se configura.

Solicitud de destino

variable

Un contenedor para la propiedad variable.expectedcn.

En la siguiente tabla, se describen las propiedades de la variable variable:

Propiedad Tipo Lectura/escritura Descripción Comienza el alcance
variable.expectedcn String Lectura/escritura

Variable expuesta para el nombre común si se ejecuta en TLS/SSL.

Solicitud de proxy

Para obtener más información sobre cómo trabajar con TLS, consulta las opciones para configurar TLS.