Referencia de las variables de flujo

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

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

Apigee define las siguientes variables de flujo:

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

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 Entero Solo lectura El tiempo, en nanosegundos, que la política tardó en ejecutarse. Política

apiproduct

Una variable auxiliar que proporciona información sobre los productos de API.

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

Propiedad Tipo Lectura/escritura Descripción El permiso comienza
apiproduct.operation String Solo lectura

Nombre de la operación del producto de API Esta variable te ayuda a diferenciar entre la configuración de la Política de cuotas y la configuración de cuotas en la operación de un producto de API.

Por ejemplo, my-operation.

Solicitud de proxy
apiproduct.operation.resource String Solo lectura

El nombre de recurso de la operación que coincide con una solicitud.

Solicitud de proxy
apiproduct.operation.methods Matriz Solo lectura

Un array de métodos HTTP que permite la operación con coincidencias.

Solicitud de proxy
apiproduct.operation.attributes.key_name Matriz Solo lectura

Obtiene el valor del atributo personalizado que coincide con key_name.

Solicitud de proxy

Para obtener más información, consulta lo siguiente:

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, 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
apiproxy.basepath String Solo lectura La ruta base de la implementación (especificada durante la implementación de la API). 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.

client

La aplicación o el sistema que envió una solicitud al balanceador de cargas.

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 balanceador de cargas. 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 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ércoles, 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ércoles, 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 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, 19:16:47 UTC corresponde al valor de la marca de tiempo de 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 configura 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 del objeto current:

Propiedad Tipo Lectura/escritura Descripción El permiso comienza
current.flow.name String Solo lectura El nombre del flujo que se ejecuta en la actualidad (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 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 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 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.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. Para comprender cuándo se establece la variable fault.name, consulta Acerca de los errores de la política. 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

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 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
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 de formulario en el mensaje.

Solicitud de proxy
message.formstring String Solo lectura

Valor de la string de 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 particular Nth en el mensaje, ya sea una solicitud o una 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, no en 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 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, entonces 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 búsqueda, 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 formulario en particular en el mensaje, con formato como una 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 búsqueda 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 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 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 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, incluido el nombre del host del balanceador de cargas. Este ID permite hacer un seguimiento de las solicitudes recibidas en el balanceador de cargas después de que se envían 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

mint

Una variable de ayuda que proporciona información sobre la monetización.

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

Propiedad Tipo Lectura/escritura Descripción El permiso comienza
mint.limitscheck.is_request_blocked String Lectura/escritura

Marca que especifica si se bloquea la solicitud a la API Se define en true, si isSubscriptionFound es false.

Esta variable de flujo está disponible si la política MonetizationLimitsCheck se adjunta al proxy de API. Consulta Aplica límites de monetización en proxies de API de forma forzosa.

Solicitud de proxy
mint.limitscheck.is_subscription_found String Solo lectura

Marca que especifica si el desarrollador tiene una suscripción activa al producto de API. Se establece en true si un desarrollador tiene una suscripción.

Esta variable de flujo está disponible si la política MonetizationLimitsCheck se adjunta al proxy de API. Consulta Aplica límites de monetización en proxies de API de forma forzosa.

Solicitud de proxy
mint.limitscheck.purchased_product_name String Solo lectura

Nombre del producto de la API asociado.

Esta variable de flujo está disponible si la política MonetizationLimitsCheck se adjunta al proxy de API. Consulta Aplica límites de monetización en proxies de API de forma forzosa.

Solicitud de proxy
mint.limitscheck.status_message String Solo lectura

Información adicional sobre la ejecución de la política MonetizationLimitsCheck para la depuración.

Esta variable de flujo está disponible si la política MonetizationLimitsCheck se adjunta al proxy de API. Consulta Aplica límites de monetización en proxies de API de forma forzosa.

Solicitud de proxy
mint.mintng_consumption_pricing_rates Numérico Solo lectura

Tarifas basadas en consumos.

Establece las tarifas al crear un plan de tarifas.

PostClientFlow
mint.mintng_consumption_pricing_type Numérico Solo lectura

Tipo de precios basados en el consumo. Por ejemplo: FIXED_PER_UNIT

Establece las tarifas basadas en el consumo cuando crees un plan de tarifas.

PostClientFlow
mint.mintng_is_apiproduct_monetized Numérico Solo lectura

Marca que especifica si el producto de API está monetizado actualmente (es decir, si hay un plan de tarifas activo vigente).

Esta variable de flujo se agrega mediante la política VerifyAPIKey o VerifyAccessToken adjunta al proxy de API. Consulta Agrega una política de autenticación.

Solicitud de proxy
mint.mintng_rate Numérico Solo lectura

La tarifa que se cobra por la llamada a la API.

Este campo refleja la tarifa fija basada en el consumo por llamada a la API. Establece la tarifa fija basada en el consumo por unidad cuando crees un plan de tarifas.

Ejecución del proxy de PostClientFlow
mint.mintng_rate_plan_id Numérico Solo lectura

ID del plan de tarifas.

Esta variable de flujo se agrega mediante la política VerifyAPIKey o VerifyAccessToken adjunta al proxy de API. Consulta Agrega una política de autenticación.

Solicitud de proxy
mint.rateplan_end_time_ms Numérico Solo lectura

Tiempo de vencimiento del plan de tarifas en milisegundos desde el ciclo.

Esta variable de flujo se agrega mediante la política VerifyAPIKey o VerifyAccessToken adjunta al proxy de API. Consulta Agrega una política de autenticación.

Solicitud de proxy
mint.rateplan_start_time_ms Numérico Solo lectura

Tiempo de activación para el plan de tarifa en milisegundos desde el ciclo.

Esta variable de flujo se agrega mediante la política VerifyAPIKey o VerifyAccessToken adjunta al proxy de API. Consulta Agrega una política de autenticación.

Solicitud de proxy
mint.subscription_end_time_ms Numérico Solo lectura

Tiempo de vencimiento de la suscripción al producto de la API en milisegundos desde el ciclo.

Esta variable de flujo está disponible si la política MonetizationLimitsCheck se adjunta al proxy de API. Consulta Aplica límites de monetización en proxies de API de forma forzosa.

Solicitud de proxy
mint.subscription_start_time_ms Numérico Solo lectura

Tiempo de activación para la suscripción al producto de la API en milisegundos desde el ciclo.

Esta variable de flujo está disponible si la política MonetizationLimitsCheck se adjunta al proxy de API. Consulta Aplica límites de monetización en proxies de API de forma forzosa.

Solicitud de proxy

Para obtener más información, consulta lo siguiente:

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

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

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.

ratelimit

Se propaga cuando se ejecuta una política de cuotas o SpikeArrest.

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

Propiedad Tipo Lectura/escritura Descripción El permiso comienza
ratelimit.policy_name.allowed.count Long Solo lectura Muestra el recuento de cuotas permitido. PostClientFlow
ratelimit.policy_name.used.count Long Solo lectura Muestra la cuota actual que se usó en un intervalo de cuota. PostClientFlow
ratelimit.policy_name.available.count Long Solo lectura Muestra el recuento de cuotas disponible en el intervalo de cuota. PostClientFlow
ratelimit.policy_name.exceed.count Long Solo lectura Muestra 1 después de que se excede la cuota. PostClientFlow
ratelimit.policy_name.total.exceed.count Long Solo lectura Muestra 1 después de que se excede la cuota. PostClientFlow
ratelimit.policy_name.expiry.time Long Solo lectura

Muestra la hora UTC (en milisegundos), que determina cuándo vence la cuota y cuándo comienza el intervalo de cuota nuevo.

Cuando el tipo de política de cuotas es rollingwindow, este valor no es válido porque el intervalo de cuota nunca vence.

PostClientFlow
ratelimit.policy_name.identifier String Solo lectura Muestra la referencia del identificador (cliente) adjunto a la política. PostClientFlow
ratelimit.policy_name.class String Solo lectura Muestra la clase asociada con el identificador del cliente. PostClientFlow
ratelimit.policy_name.class.allowed.count Long Solo lectura Muestra el recuento de cuotas permitido en la clase PostClientFlow
ratelimit.policy_name.class.used.count Long Solo lectura Muestra la cuota que se usa en una clase. PostClientFlow
ratelimit.policy_name.class.available.count Long Solo lectura Muestra el recuento de cuotas disponible en la clase PostClientFlow
ratelimit.policy_name.class.exceed.count Long Solo lectura Muestra el recuento de solicitudes que exceden el límite en la clase en el intervalo de cuota actual PostClientFlow
ratelimit.policy_name.class.total.exceed.count Long Solo lectura Muestra el recuento total de solicitudes que exceden el límite en la clase en todos los intervalos de cuota, por lo que es la suma de class.exceed.count para todos los intervalos de cuota. PostClientFlow
ratelimit.policy_name.failed Booleano Solo lectura

Indica si la política falló (verdadero o falso).

PostClientFlow

Para obtener más información, consulta lo siguiente:

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
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 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, entonces el valor de retorno de request.queryparam.a.1 es hello.

Como ejemplo de escritura de varios valores para un solo nombre del parámetros de búsqueda, 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 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, 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ámetros de búsqueda particular en la solicitud.

Solicitud de proxy
request.queryparams.count 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 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 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 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

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 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, 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.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 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, default.

Solicitud de destino

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

El nombre común esperado del TargetEndpoint, al que se hace referencia en una política ServiceCallout. 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 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

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 de 2013, 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 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, 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 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ércoles, 21 de agosto de 2013, 19:16:47 UT" 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ércoles, 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
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

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 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ércoles, 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 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ércoles, 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 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 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

Si deseas obtener más información para trabajar con TLS, consulta las opciones para configurar TLS.