Referencia de las variables de flujo

Estás consultando la documentación de Apigee Edge.
Consulta la documentación de Apigee X.
Información

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

Apigee Edge define las siguientes variables de flujo:

apigee              loadbalancing        router
apiproxy            message              servicecallout
application         messageid            system
client              organization         target
current             proxy                variable
environment         request              virtualhost
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 del objeto apigee:

Propiedad Tipo Lectura/escritura Descripción El permiso comienza
apigee.metrics.policy.policy_name.timeTaken Número 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 del objeto apiproxy:

Propiedad Tipo Lectura/escritura Descripción El permiso comienza
apiproxy.name String Solo lectura Nombre del proxy de API. Por ejemplo, "Mi 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

Si deseas obtener más información para 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 del objeto application:

Propiedad Tipo Lectura/escritura Descripción El permiso comienza
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 Edge.

En la siguiente tabla, se describen las propiedades del objeto client:

Propiedad Tipo Lectura/escritura Descripción El permiso comienza
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 Edge. 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 de Apigee Edge). 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 Número entero Solo lectura

El puerto HTTP asociado a 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, 19:16:47 UTC” 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, 19:16:47 UTC” 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, 19:16:47 UTC" corresponde al valor de la marca de tiempo de 1377112607413.

PostClientFlow
client.sent.end.timestamp Largo 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 Es la hora, expresada en forma de string, cuando el ProxyEndpoint comenzó a mostrar la respuesta a la app cliente de origen. 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.start.timestamp de 32 bits correspondiente. Por ejemplo, "Mié, 21 de agosto de 2013, 19:16:47 UTC" corresponde al valor de la marca de tiempo de 1377112607413.

PostClientFlow
client.sent.start.timestamp Largo 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

Es "verdadero" si el ProxyEndpoint está configurado para TLS/SSL; de lo contrario, es "falso".

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 del objeto current:

Propiedad Tipo Lectura/escritura Descripción El permiso comienza
current.flow.name String Solo lectura El nombre del flujo que está en ejecución 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 Edge. Sin embargo, estas propiedades no son visibles de forma predeterminada en la vista de seguimiento de la IU clásica.

environment

Un contenedor para la propiedad environment.name.

En la siguiente tabla, se describen las propiedades del objeto environment:

Propiedad Tipo Lectura/escritura Descripción El permiso comienza
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 del objeto error:

Propiedad Tipo Lectura/escritura Descripción El permiso comienza
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 Número 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: “Solicitud incorrecta”.

Error
error.transport.message TransportMessage Solo lectura

Cualquier error de tipo TransportMessage.

Error
error.state Número 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 respuesta.

Error

fault

Una variable de flujo que se configura en un código de error del entorno 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 El permiso comienza
fault.fault_name String Solo lectura fault_name es el nombre de la falla, como se describe en la tabla Errores de entorno de ejecución incluida en cada tema de referencia de políticas. Error

is

Un contenedor para la propiedad is.error.

En la siguiente tabla, se describen las propiedades del objeto is:

Propiedad Tipo Lectura/escritura Descripción El permiso comienza
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 del objeto loadbalancing:

Propiedad Tipo Lectura/escritura Descripción El permiso comienza
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

Es "verdadero" 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 del objeto message:

Propiedad Tipo Lectura/escritura Descripción El permiso comienza
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
Número entero Solo lectura

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

Solicitud de proxy
message.formparams.count Número 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 en el 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 particular en el mensaje, ya sea una solicitud o una respuesta, según el estado del flujo. Apigee Edge divide los valores de texto de los encabezados 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", el valor que se muestra 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
Número entero Solo lectura

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

Solicitud de proxy
message.headers.count Número 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 búsqueda de mensaje especificado

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

El valor del parámetro de búsqueda Nth en el mensaje Por ejemplo, si request.querystring es "a=hello&a=world", el valor que se muestra de message.queryparam.a.1 es "hello".

A modo de ejemplo de cómo escribir 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:

  • message.queryparam.type.1 a "siteid:1"
  • Del message.queryparam.type.2 a "language:en-us"
  • 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 formulario en particular en el mensaje, con formato como una lista separada por comas.

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

Solicitud de proxy
message.queryparam.param_name.
 values.count
Número entero Solo lectura

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

Solicitud de proxy
message.queryparams.count Número 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 iteras 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 Número 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 "inventores?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 Referencia de las funciones de las plantillas de mensajes.

messageid

Un contenedor para el ID único global de la solicitud

En la siguiente tabla, se describen las propiedades del objeto messageid:

Propiedad Tipo Lectura/escritura Descripción El permiso comienza
messageid String Solo lectura

Contiene el ID único global de la solicitud, que incluye el nombre de host del router. Este ID permite que se realice un seguimiento de las solicitudes recibidas en el router después de que se envían al procesador de mensajes.

Este ID se registra en los registros de errores de Edge para correlacionar el messageid con los errores.

Solicitud de proxy

organization

Un contenedor para la propiedad organization.name.

En la siguiente tabla, se describen las propiedades del objeto organization:

Propiedad Tipo Lectura/escritura Descripción El permiso comienza
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 del objeto proxy:

Propiedad Tipo Lectura/escritura Descripción El permiso comienza
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.net” (que incluye el nombre de la organización y el entorno)
  • La ruta base es "/v2/weatherapi"

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

Si defines una ruta base dinámica en la configuración de tu proxy de API, como "/v2/*/weatherapi", esta variable se establece en la ruta dinámica ("/v2/*/weatherapi"), aunque la ruta base se resuelve 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 perimetral que recibió el ú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 búsqueda.

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. El host de la URL siempre será localhost si el proxy se invoca con <LocalTargetConnection> para realizar un encadenamiento de proxy.

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

Solicitud de proxy

Si deseas obtener más información para 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 del objeto request:

Propiedad Tipo Lectura/escritura Descripción El permiso comienza
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
Número 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 que se muestra de request.formparam.a.1 es "hello".

Solicitud de proxy
request.formparams.count Número entero Solo lectura

Recuento de todos los parámetros de formulario 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 de formulario 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 Edge divide los valores de texto de los encabezados 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", el valor que se muestra 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
Número entero Solo lectura

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

Solicitud de proxy
request.headers.count Número 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, del URI del 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 búsqueda particular que se encuentra en la solicitud.

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

El valor del parámetros de búsqueda Nth en la solicitud.

Por ejemplo, si request.querystring es "a=hello&a=world", el valor que se muestra es request.queryparam.a.1 es "hello".

A modo de ejemplo de cómo escribir 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:

  • request.queryparam.type.1 a "siteid:1"
  • Del request.queryparam.type.2 a "language:en-us"
  • 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 formulario en particular en la solicitud, con formato como una lista separada por comas.

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

Solicitud de proxy
request.queryparam.param_name.
 values.count
Número entero Solo lectura

El conteo de todos los valores de un parámetros de búsqueda particular en la solicitud.

Solicitud de proxy
request.queryparams.count Número entero Solo lectura

El conteo de todos los parámetros de búsqueda en la solicitud.

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

Los nombres de todos los parámetros de búsqueda 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 búsqueda 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 un objeto contextual.

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

Solicitud del tipo TransportMessage que es un objeto contexual.

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 búsqueda.

En la respuesta, request.uri es el resto de la dirección, incluidos los parámetros de búsqueda, 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 se realiza la siguiente llamada 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

Se agregará "/user?user=Dude" a la 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

Es la URL completa de la solicitud realizada al extremo de destino, incluidos los parámetros de string de búsqueda, pero no 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 de destino es “http://example.com:8080”, el valor es el siguiente:

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

Verbo de HTTP que se usa para la solicitud. Por ejemplo, “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 del objeto response:

Propiedad Tipo Lectura/escritura Descripción El permiso comienza
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
Número entero Solo lectura

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

Respuesta de destino
response.formparams.count Número entero Solo lectura

Recuento de pámetros de forma en la respuesta.

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

Los nombres de todos los parámetros de 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 Edge 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
Número 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 Edge divide los valores de texto de los encabezados 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", response.header.cache-control.1 muestra "maxage=16544".

Respuesta de destino
response.headers.count Número 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 Número 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 del objeto route:

Propiedad Tipo Lectura/escritura Descripción El permiso comienza
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, “predeterminado”.

Solicitud de destino

router

Un contenedor para la propiedad router.uuid, que dejó de estar disponible.

En la siguiente tabla, se describen las propiedades del objeto router:

Propiedad Tipo Lectura/escritura Descripción El permiso comienza
router.uuid String Solo lectura

Este campo es obsoleto y se muestra un valor nulo. (Anteriormente, es el UUID del router que controla el proxy).

Solicitud de proxy

servicecallout

Describe el TargetEndpoint para una política de Servicio de texto destacado.

En la siguiente tabla, se describen las propiedades del objeto servicecallout:

Propiedad Tipo Lectura/escritura Descripción El permiso comienza
servicecallout.policy_name.expectedcn String Lectura/escritura

Es el nombre común esperado del TargetEndpoint, como se hace referencia a él en una política de la política ServiceHighlight. Esto tiene sentido solo cuando 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 del objeto system:

Propiedad Tipo Lectura/escritura Descripción El permiso comienza
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

Es 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 cadena del valor correspondiente de system.timestamp. Por ejemplo, "Mié, 21 de agosto de 2013, 19:16:47 UTC" corresponde al valor de la marca de tiempo de "1377112607413".

Solicitud de proxy
system.time.year Número entero Solo lectura

La parte del año de system.time.

Solicitud de proxy
system.time.month Número entero Solo lectura

La parte del mes de system.time.

Solicitud de proxy
system.time.day Número entero Solo lectura

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

Solicitud de proxy
system.time.dayofweek Número entero Solo lectura

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

Solicitud de proxy
system.time.hour Número entero Solo lectura

La parte de hora de system.time.

Solicitud de proxy
system.time.minute Número entero Solo lectura

La parte de minutos de system.time.

Solicitud de proxy
system.time.second Número entero Solo lectura

La segunda parte de system.time.

Solicitud de proxy
system.time.millisecond Número 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 del objeto target:

Propiedad Tipo Lectura/escritura Descripción El permiso comienza
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, la 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 que se reenvía de ProxyEndpoint a TargetEndpoint conserva el sufijo de la ruta de acceso (el fragmento de la ruta del 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 de ProxyEndpoint a TargetEndpoint retiene 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 tiene sentido solo cuando 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 tiene sentido solo cuando 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 Número entero Solo lectura

El número de puerto del servicio de destino que muestra la respuesta al proxy de 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, 19:16:47 UTC” corresponde al valor de la marca de tiempo “1377112607413”.

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

Es 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 formato 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, 19:16:47 UTC" corresponde al valor de la marca de tiempo de "1377112607413".

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

Es 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

El alcance comienza: 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 dejó de enviar la solicitud a la URL especificada en 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, 19:16:47 UTC" corresponde al valor de la marca de tiempo de "1377112607413".

Solicitud de destino
target.sent.end.timestamp Largo 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 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 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, 19:16:47 UTC" corresponde al valor de la marca de tiempo de "1377112607413".

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

El valor de la marca de tiempo que especifica cuándo comenzó el proxy a enviar la solicitud a la URL especificada en 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 del objeto variable:

Propiedad Tipo Lectura/escritura Descripción El permiso comienza
variable.expectedcn String Lectura/escritura

Variable expuesta del 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 la Introducción a TLS/SSL.

virtualhost

Especifica los detalles del host virtual.

En la siguiente tabla, se describen las propiedades del objeto virtualhost:

Propiedad Tipo Lectura/escritura Descripción El permiso comienza
virtualhost.aliases.values Arreglo de strings Solo lectura

Alias de host del host virtual que se recibe durante una solicitud en particular

Solicitud de proxy
virtualhost.name String Solo lectura

Nombre del host virtual que entrega la solicitud del cliente de origen.

Solicitud de proxy
virtualhost.ssl.enabled Booleano Solo lectura

Muestra el valor "true" si TLS/SSL está habilitado en la configuración del host virtual.

Solicitud de proxy

Para obtener más información sobre cómo trabajar con hosts virtuales, consulta Configura hosts virtuales.