Referência de variáveis de fluxo

Você está vendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
informações

Esta seção fornece informações de referência sobre as variáveis de fluxo.

O Apigee Edge define as seguintes variáveis de fluxo:

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

Cada uma dessas variáveis é descrita nas seções a seguir.

apigee

Uma variável auxiliar que fornece informações sobre o tempo de execução da política.

A tabela a seguir descreve as propriedades da variável apigee:

Propriedade Tipo Leitura/gravação Descrição O escopo começa
apigee.metrics.policy.policy_name.timeTaken Número inteiro Somente leitura O tempo, em nanossegundos, que a política levou para ser executada. Policy

apiproxy

Descreve o proxy da API.

A tabela a seguir descreve as propriedades da variável apiproxy:

Propriedade Tipo Leitura/gravação Descrição O escopo começa
apiproxy.name String Somente leitura Nome do proxy da API. Por exemplo, "Meu proxy". Solicitação de proxy
apiproxy.revision String Somente leitura O número da revisão de um proxy de API. Por exemplo, "6". Solicitação de proxy

Para mais informações sobre como trabalhar com proxies de API, consulte Noções básicas sobre APIs e proxies de API.

application

Um contêiner para a propriedade application.basepath.

A tabela a seguir descreve as propriedades da variável application:

Propriedade Tipo Leitura/gravação Descrição O escopo começa
application.basepath String Somente leitura O caminho base da implantação (especificado durante a implantação da API). Solicitação de proxy

client

O aplicativo ou sistema que enviou uma solicitação para o roteador Edge.

A tabela a seguir descreve as propriedades da variável client:

Propriedade Tipo Leitura/gravação Descrição O escopo começa
client.cn String Somente leitura

O nome comum especificado no certificado TLS/SSL apresentado pelo app cliente.

Solicitação de proxy
client.country String Somente leitura

O país no certificado TLS/SSL apresentado pelo aplicativo cliente.

Solicitação de proxy
client.email.address String Somente leitura

O endereço de e-mail no certificado TLS/SSL apresentado pelo app cliente.

Solicitação de proxy
client.host String Somente leitura

O IP do host HTTP associado à solicitação recebida pelo ProxyEndpoint.

Solicitação de proxy
client.ip String Somente leitura

O endereço IP do cliente ou sistema que envia a mensagem para o roteador do Edge. Por exemplo, pode ser o IP original do cliente ou um IP do balanceador de carga.

Solicitação de proxy
client.locality String Somente leitura

A localidade (cidade) no certificado TLS/SSL apresentado pelo cliente.

Solicitação de proxy
client.organization String Somente leitura A organização no certificado TLS/SSL apresentado pelo cliente. Não é necessariamente equivalente à organização no Apigee Edge. Solicitação de proxy
client.organization.unit String Somente leitura

A unidade organizacional no certificado TLS/SSL apresentada pelo cliente.

Solicitação de proxy
client.port Número inteiro Somente leitura

A porta HTTP associada à solicitação do cliente de origem para o ProxyEndpoint.

Solicitação de proxy
client.received.end.time String Somente leitura

A hora, expressa em forma de string, em que o proxy terminou de receber a solicitação do cliente de origem no ProxyEndpoint. Por exemplo: quarta-feira, 21 de agosto de 2013 19h16m47s UTC.

Esse valor de tempo é a representação de string da quantidade de carimbo de data/hora correspondente de 32 bits. Por exemplo, "Quarta-feira, 21 de agosto de 2013 19:16:47 UTC" corresponde ao valor de carimbo de data/hora 1377112607413.

Solicitação de proxy
client.received.end.timestamp Longo Somente leitura

O valor de carimbo de data/hora que especifica quando o proxy terminou de receber a solicitação do cliente original no ProxyEndpoint. Esse valor é um número inteiro de 64 bits (longo) que contém o número de milissegundos decorrido desde a meia-noite de 1o de janeiro de 1970 UTC.

Solicitação de proxy
client.received.start.time String Somente leitura

A hora, expressa em forma de string, em que o proxy começou a receber a solicitação do cliente de origem no ProxyEndpoint. Por exemplo: Qua, 21 Ago 2013 19:16:47 UTC

Esse valor de tempo é a representação de string da quantidade de carimbo de data/hora correspondente de 32 bits. Por exemplo, "Quarta-feira, 21 de agosto de 2013 19:16:47 UTC" corresponde ao valor de carimbo de data/hora 1377112607413.

Solicitação de proxy
client.received.start.timestamp Longo Somente leitura

O valor do carimbo de data/hora que especifica quando o proxy começou a receber a solicitação do cliente de origem no ProxyEndpoint. Esse valor é um número inteiro de 64 bits (longo) que contém o número de milissegundos decorrido desde a meia-noite de 1o de janeiro de 1970 UTC.

Solicitação de proxy
client.scheme String Somente leitura

Retorna http ou https, dependendo do transporte usado pelo aplicativo cliente para enviar a mensagem de solicitação.

Solicitação de proxy
client.sent.end.time String Somente leitura

A hora, expressa em forma de string, em que o proxy terminou de enviar a resposta do ProxyEndpoint para o cliente. Por exemplo: "quarta-feira, 21 de agosto de 2013 19h16m47s".

Esse valor é uma representação de string do client.sent.end.timestamp de 32 bits correspondente. Por exemplo, "Qua, 21 Ago 2013 1916:47 UTC" corresponde ao valor do carimbo de data/hora de 1377112607413.

PostClientFlow
client.sent.end.timestamp Longo Somente leitura O valor de carimbo de data/hora que especifica quando o ProxyEndpoint terminou de retornar a resposta ao app cliente de origem. Esse valor é um número inteiro de 64 bits (longo) contendo o número de milissegundos decorridos desde a meia-noite, no dia 1º de janeiro de 1970, em UTC. PostClientFlow
client.sent.start.time String Somente leitura A hora, expressa em formato de string, em que o ProxyEndpoint começou a retornar a resposta para o app cliente de origem. Por exemplo, "Qua, 21 Ago 2013 19:16:47 UTC".

Esse valor é uma representação de string do client.sent.start.timestamp de 32 bits correspondente. Por exemplo, "Qua, 21 Ago 2013 1916:47 UTC" corresponde ao valor do carimbo de data/hora de 1377112607413.

PostClientFlow
client.sent.start.timestamp Longo Somente leitura Quando o proxy começou a enviar a resposta para o cliente a partir do ProxyEndpoint. Esse valor é expresso como um inteiro de 64 bits (longo) que contém o número de milissegundos decorridos desde a meia-noite, no dia 1º de janeiro de 1970, em UTC. PostClientFlow
client.ssl.enabled String Somente leitura

"true" se o ProxyEndpoint estiver configurado para TLS/SSL. Caso contrário, "false".

Solicitação de proxy
client.state String Somente leitura

O estado no certificado TLS/SSL apresentado pelo cliente.

Solicitação de proxy

current

Contém informações sobre o fluxo atual do proxy da API.

A tabela a seguir descreve as propriedades da variável current:

Propriedade Tipo Leitura/gravação Descrição O escopo começa
current.flow.name String Somente leitura O nome do fluxo que está sendo executado no momento (como "PreFlow", "PostFlow" ou o nome de um fluxo condicional). Solicitação de proxy
current.flow.description String Somente leitura A descrição do fluxo em execução no momento. Este é o mesmo valor do elemento <Description> na configuração XML do fluxo. Solicitação de proxy

Você pode ver essas propriedades na visualização do Trace da IU do Edge. No entanto, essas propriedades não são visíveis por padrão na visualização do Trace da IU clássica.

environment

Um contêiner para a propriedade environment.name.

A tabela a seguir descreve as propriedades da variável environment:

Propriedade Tipo Leitura/gravação Descrição O escopo começa
environment.name String Somente leitura Nome do ambiente em que a transação foi executada. Solicitação de proxy

error

Um objeto contextual que representa uma mensagem de erro no fluxo de erro.

A tabela a seguir descreve as propriedades da variável error:

Propriedade Tipo Leitura/gravação Descrição O escopo começa
error message Read/Write Erro do tipo message, que é um objeto contextual no fluxo de erro. Erro
error.content String Read/Write Conteúdo do erro. Erro
error.message String Somente leitura

Mensagem associada a um erro, em que o valor está disponível somente antes que o fluxo de erro seja executado.

Erro
error.status.code Número inteiro Somente leitura

O código de status HTTP associado ao erro. Por exemplo, "400".

Erro
error.reason.phrase String Somente leitura

A frase de motivo associada ao erro. Por exemplo: "Solicitação inválida".

Erro
error.transport.message TransportMessage Somente leitura

Qualquer erro do tipo TransportMessage.

Erro
error.state Número inteiro Somente leitura

Estado no fluxo em que ocorreu um erro.

Erro
error.header.header_name String Read/Write

Recebe ou define o cabeçalho de resposta.

Erro

fault

Uma variável de fluxo definida como um código de erro de ambiente de execução quando uma política gera um erro. Os valores do código de erro são específicos de cada política.

Propriedade Tipo Leitura/gravação Descrição O escopo começa
fault.fault_name String Somente leitura fault_name é o nome da falha, conforme descrito na tabela Erros de ambiente de execução, incluída em cada tópico de referência de política. Erro

is

Um contêiner para a propriedade is.error.

A tabela a seguir descreve as propriedades da variável is:

Propriedade Tipo Leitura/gravação Descrição O escopo começa
is.error Booleano Somente leitura

Sinalização de erro.

Solicitação de proxy

loadbalancing

Fornece informações sobre o status de balanceamento de carga do TargetEndpoint.

A tabela a seguir descreve as propriedades da variável loadbalancing:

Propriedade Tipo Leitura/gravação Descrição O escopo começa
loadbalancing.failedservers Matriz de strings Somente leitura

Lista de TargetServers com falha durante o balanceamento de carga em TargetEndpoint.

Resposta de destino
loadbalancing.isfallback Booleano Somente leitura

"true" se o fallback for ativado para o TargetServer invocado durante o balanceamento de carga em TargetEndpoint.

Resposta de destino
loadbalancing.targetserver String Somente leitura

TargetServer invocado durante o balanceamento de carga em TargetEndpoint. Defina somente se o elemento <Path> estiver definido ao definir o elemento do balanceador de carga.

Resposta de destino

message

Um objeto contextual, com o mesmo valor de request no fluxo de solicitação ou como response no fluxo de resposta ou como error no fluxo de erros.

A tabela a seguir descreve as propriedades da variável message:

Propriedade Tipo Leitura/gravação Descrição O escopo começa
message message Read/Write

Um objeto contextual, com o mesmo valor que request no fluxo de solicitação ou como response no fluxo de resposta ou como error no fluxo de erro.

Solicitação de proxy
message.content String Read/Write

Conteúdo da mensagem de solicitação, resposta ou erro.

Solicitação de proxy
message.formparam.param_name String Read/Write

Valor do parâmetro de formulário especificado.

Solicitação de proxy
message.formparam.param_name.
 values
Coleção Somente leitura

Todos os valores do parâmetro de formulário especificado na mensagem.

Solicitação de proxy
message.formparam.param_name.
 values.count
Número inteiro Somente leitura

Contagem dos valores dos parâmetros de formulário especificados na mensagem./p>

Solicitação de proxy
message.formparams.count Número inteiro Somente leitura

Contagem de todos os parâmetros de formulário na mensagem.

Solicitação de proxy
message.formparams.names Coleção Somente leitura

Valor de todos os parâmetros de formulário na mensagem.

Solicitação de proxy
message.formstring String Somente leitura

Valor da string do formulário na mensagem.

Solicitação de proxy
message.header.header_name String Read/Write

Consegue ou define o valor do cabeçalho HTTP especificado na mensagem. Se o cabeçalho contiver uma vírgula, após a leitura, você receberá apenas o segmento do texto até a primeira vírgula. Se você quiser todo o cabeçalho, use o formato request.header.header_name.
 values

Solicitação de proxy
message.header.header_name.N String Read/Write

O valor do enésimo cabeçalho específico na mensagem, solicitação ou resposta, dependendo do estado do fluxo. O Apigee Edge divide os valores de texto do cabeçalho por vírgulas. Observe que o índice com o valor que é usado para N é baseado em 1, não em 0,

Por exemplo: se o cabeçalho Cache-control for "public,maxage=16544", o valor de retorno de message.header.cache-control.1 será "maxage=16544".

Solicitação de proxy
message.header.header_name.
 values
Coleção Somente leitura

Todos os valores do nome do cabeçalho HTTP especificado na mensagem.

Solicitação de proxy
message.header.header_name.
 values.count
Número inteiro Somente leitura

Contagem dos valores do nome do cabeçalho HTTP especificado na mensagem.

Solicitação de proxy
message.headers.count Número inteiro Somente leitura

Contagem de todos os cabeçalhos HTTP na mensagem.

Solicitação de proxy
message.headers.names Coleção Somente leitura

Valor de todos os cabeçalhos HTTP na mensagem

Solicitação de proxy
message.path String Read/Write

Caminho completo da mensagem de solicitação no URL, excluindo quaisquer parâmetros de consulta.

Solicitação de proxy
message.queryparam.param_name String Somente leitura

Retorna o parâmetro de consulta de mensagem especificado.

Solicitação de proxy
message.queryparam.param_name.N String Read/Write

O valor do enésimo parâmetro de consulta na mensagem. Por exemplo, se request.querystring for "a=hello&a=world", o valor de retorno de message.queryparam.a.1 será "hello".

Como exemplo de gravação de vários valores para um único nome de parâmetro de consulta, como "type=siteid:1&type=language:us-en&type=currency:USD", defina o seguinte:

  • message.queryparam.type.1 para "siteid:1"
  • message.queryparam.type.2 para "language:en-us"
  • message.queryparam.type.3 para "currency:USD"
Solicitação de proxy
message.queryparam.param_name.
 values
Coleção Somente leitura

Todos os valores de um parâmetro de consulta específico na mensagem, formatados como uma lista separada por vírgulas.

Por exemplo, se a string de consulta for a=hello&a=world, o valor de message.queryparam.a.values será "['hello', 'world']".

Solicitação de proxy
message.queryparam.param_name.
 values.count
Número inteiro Somente leitura

Contagem total de um parâmetro de consulta especificado associado à solicitação enviada ao ProxyEndpoint do aplicativo cliente.

Solicitação de proxy
message.queryparams.count Número inteiro Somente leitura

A contagem total de todos os parâmetros de consulta associados à solicitação enviada ao ProxyEndpoint do aplicativo cliente.

Solicitação de proxy
message.queryparams.names Coleção Somente leitura

Uma lista de todos os nomes de parâmetros de consulta associados à solicitação enviada ao ProxyEndpoint do aplicativo cliente.

Para iterar sobre os nomes de parâmetro de consulta usando JavaScript, consulte a seguinte postagem da comunidade da Apigee: Como iterar a coleção de "request.queryparams.names" no JS? na comunidade Apigee.

Solicitação de proxy
message.querystring String Somente leitura

Uma string que contém todos os nomes de parâmetros de consulta e valores associados à solicitação enviada ao ProxyEndpoint do aplicativo cliente.

Por exemplo, para a solicitação "http://api.apifactory.com/inventors?name=nick&surname=danger", o valor de message.querystring é "name=nic&surname=danger".

Solicitação de proxy
message.reason.phrase String Somente leitura

ReasonPhrase da mensagem de resposta do destino.

Resposta de destino
message.status.code Número inteiro Somente leitura

Código de status HTTP da mensagem de resposta do destino.

Resposta de destino
message.transport.message TransportMessage Somente leitura

Mensagem do tipo TransportMessage, que é um objeto contextual.

Solicitação de proxy
message.uri String Somente leitura

O caminho completo do URI (após o URL de domínio), incluindo os parâmetros de consulta.

Por exemplo, para a solicitação "http://api.apifactory.com/inventors?name=nikola&surname=tesla", essa variável retorna "inventors?name=nikola&surname=tesla".

Solicitação de proxy
message.verb String Somente leitura

O verbo HTTP (GET, PUT, POST, DELETE etc.) associado à solicitação.

Solicitação de proxy
message.version String Read/Write

A versão HTTP associada à solicitação enviada ao ProxyEndpoint do aplicativo cliente.

Solicitação de proxy

Para mais informações sobre mensagens, consulte Referência da função de modelo de mensagem.

messageid

Um contêiner para o ID globalmente exclusivo da solicitação.

A tabela a seguir descreve as propriedades da variável messageid:

Propriedade Tipo Leitura/gravação Descrição O escopo começa
messageid String Somente leitura

Contém o ID globalmente exclusivo da solicitação, que inclui o nome do host do roteador. Esse ID permite que as solicitações recebidas no roteador sejam rastreadas após o envio do processador de mensagens.

Esse ID é registrado nos registros de erros do Edge para correlacionar os messageid com os erros.

Solicitação de proxy

organization

Um contêiner para a propriedade organization.name.

A tabela a seguir descreve as propriedades da variável organization:

Propriedade Tipo Leitura/gravação Descrição O escopo começa
organization.name String Somente leitura

Nome da organização.

Solicitação de proxy

Para mais informações sobre organizações, consulte Noções básicas sobre organizações.

proxy

A configuração do proxy da API.

A tabela a seguir descreve as propriedades da variável proxy:

Propriedade Tipo Leitura/gravação Descrição O escopo começa
proxy.basepath String Somente leitura

O valor do caminho base na configuração do proxy de API. O caminho base é o fragmento de URI que segue o host no URL. Os URIs do fluxo condicional seguem o caminho base.

No URL "http://myorg-test.apigee.net/v2/weatherapi/predictionrss?w=12797282":

  • O host é "myorg-test.apigee.net", que inclui o nome e o ambiente da organização
  • O caminho base é "/v2/weatherapi"

A única maneira de saber isso é analisar a definição do proxy de API ou verificar o valor da variável proxy.basepath. O sufixo do caminho do proxy segue o caminho base ("/forecastrss"), junto com quaisquer parâmetros de consulta.

Se você definir um caminho base dinâmico na configuração do proxy da API, como "/v2/*/weatherapi", essa variável será definida como o caminho dinâmico ("/v2/*/weatherapi"), mesmo que o caminho base gere um valor estático, como "/v2/foo/weatherapi".

Solicitação de proxy
proxy.client.ip String Somente leitura

O endereço X-Forwarded-For da chamada de entrada, que é o endereço IP Edge recebido do último handshake do TCP externo. Pode ser o cliente da chamada ou o balanceador de carga.

Solicitação de proxy
proxy.name String Somente leitura

O atributo nome configurado para o ProxyEndpoint.

Solicitação de proxy
proxy.pathsuffix String Somente leitura

O valor do sufixo do caminho base do proxy de API que é enviado pelo cliente e recebido no ProxyEndpoint.

O caminho base é definido como o componente de caminho que identifica exclusivamente o proxy de API. O URL público de um proxy de API é composto pelo nome da organização, pelo ambiente em que o proxy é implantado, pelo caminho base, pelo sufixo do caminho base e por todos os parâmetros de consulta.

Por exemplo, em uma solicitação para http://myorg-test.apigee.net/v2/weatherapi/forecastrss?w=12797282, o sufixo do caminho base é "/forecastrss".

Solicitação de proxy
proxy.url String Somente leitura

Recebe o URL completo associado à solicitação de proxy recebida pelo ProxyEndpoint, incluindo todos os parâmetros de consulta presentes. O host do URL será sempre localhost se o proxy for invocado com <LocalTargetConnection> para executar o encadeamento de proxy.

Para um exemplo que crie um URL request usando o host original, consulte Acessar mensagens de solicitação.

Solicitação de proxy

Para mais informações sobre como trabalhar com proxies de API, consulte Noções básicas sobre APIs e proxies de API.

request

A solicitação completa, incluindo qualquer payload presente.

Para mais informações sobre dados de solicitação, consulte Como os dados de solicitação são passados para o servidor de back-end?

A tabela a seguir descreve as propriedades da variável request:

Propriedade Tipo Leitura/gravação Descrição O escopo começa
request message Somente leitura

A solicitação completa, incluindo qualquer payload presente.

Solicitação de proxy
request.content String Read/Write

Recebe ou define o payload da mensagem de solicitação.

Solicitação de proxy
request.formparam.param_name String Read/Write

Recebe ou define o valor do parâmetro de formulário especificado na solicitação enviada pelo aplicativo cliente.

Solicitação de proxy
request.formparam.param_name.
 values
Coleção Somente leitura

Todos os valores de um parâmetro de formulário específico na solicitação, formatados como uma lista separada por vírgulas.

Por exemplo, se o payload for "a=hello&x=greeting&a=world", o valor de request.formparam.a.values será "['hello', 'world']".

Solicitação de proxy
request.formparam.param_name.
 values.count
Número inteiro Somente leitura

Contagem de todos os valores do parâmetro de formulário especificado associado à solicitação.

Solicitação de proxy
request.formparam.param_name.N String Read/Write

O valor do enésimo parâmetro do formulário específico na mensagem. Por exemplo, se a string do formulário for "a=hello&a=world", o valor de retorno de request.formparam.a.1 será "hello".

Solicitação de proxy
request.formparams.count Número inteiro Somente leitura

Contagem de todos os parâmetros de formulário associados à solicitação enviada do aplicativo cliente.

Solicitação de proxy
request.formparams.names Coleção Somente leitura

Uma lista de todos os nomes de parâmetros de formulário associados à solicitação.

Solicitação de proxy
request.formstring String Somente leitura

O formparam completo na solicitação enviada pelo app cliente.

Por exemplo, "name=test&type=first&group=A".

Solicitação de proxy
request.header.header_name String Read/Write

Recebe ou define o valor de um determinado cabeçalho encontrado na solicitação. Se o cabeçalho contiver uma vírgula, após a leitura, você receberá apenas o segmento do texto até a primeira vírgula.

Se você quiser todo o cabeçalho, use o formato request.header.header_name.values.

Solicitação de proxy
request.header.header_name.N String Read/Write

O valor do enésimo cabeçalho específico na solicitação. O Apigee Edge divide os valores de texto de cabeçalho por vírgulas. Observe que o índice com o valor que é usado para N é baseado em 1, não em 0.

Por exemplo, se o cabeçalho Cache-control for "public, maxage16544", o valor de retorno de request.header.cache-control.1 será "maxage16544".

Solicitação de proxy
request.header.header_name.
 values
Coleção Somente leitura

Todos os valores de um cabeçalho específico na solicitação.

Solicitação de proxy
request.header.header_name.
 values.count
Número inteiro Somente leitura

Contagem de todos os valores de um cabeçalho específico na solicitação.

Solicitação de proxy
request.headers.count Número inteiro Somente leitura

Contagem de todos os cabeçalhos na solicitação.

Solicitação de proxy
request.headers.names Coleção Somente leitura

Nomes de todos os cabeçalhos na solicitação.

Solicitação de proxy
request.path String Somente leitura

O caminho do recurso sem proxy (não incluindo o host) para o serviço de back-end, excluindo parâmetros de consulta.

Por exemplo, do URI para o serviço de back-end é "https://example.com/rest/api/latest", o valor de request.path é "/rest/api/latest".

Solicitação de proxy
request.queryparam.param_name String Read/Write

O valor de um parâmetro de consulta específico encontrado na solicitação.

Solicitação de proxy
request.queryparam.param_name.N String Read/Write

O valor do enésimo parâmetro de consulta na solicitação.

Por exemplo, se request.querystring for "a=hello&a=world", o valor de retorno de request.queryparam.a.1 será "hello".

Como exemplo de gravação de vários valores para um único nome de parâmetro de consulta, como "type=siteid:1&type=language:us-en&type=currency:USD", defina o seguinte:

  • request.queryparam.type.1 para "siteid:1"
  • request.queryparam.type.2 para "language:en-us"
  • request.queryparam.type.3 para "currency:USD"
Solicitação de proxy
request.queryparam.param_name.
 values
Coleção Somente leitura

Todos os valores de um parâmetro de consulta específico na solicitação, formatados como uma lista separada por vírgulas.

Por exemplo, se request.querystring for "a=hello&b=lovely&a=world", o valor de request.queryparam.a.values será "['hello', 'world']".

Solicitação de proxy
request.queryparam.param_name.
 values.count
Número inteiro Somente leitura

A contagem de todos os valores de um parâmetro de consulta específico na solicitação.

Solicitação de proxy
request.queryparams.count Número inteiro Somente leitura

Contagem de todos os parâmetros de consulta na solicitação.

Solicitação de proxy
request.queryparams.names Coleção Somente leitura

Os nomes de todos os parâmetros de consulta na solicitação.

Para iterar os nomes dos parâmetros de consulta usando JavaScript, consulte Como iterar a coleção de "request.queryparams.names" em JS? na Comunidade da Apigee.

Solicitação de proxy
request.querystring String Somente leitura

A lista completa de parâmetros de consulta na solicitação enviada do aplicativo cliente.

Por exemplo, se a solicitação for "http://host.com/123?name=first&surname=second&place=address", essa variável retornará "name=first&surname=second&place=address".

Solicitação de proxy
request.transportid String Somente leitura

ID da solicitação como tipo TransportMessage, que é um objeto contextual.

Solicitação de proxy
request.transport.message Transport-Message Somente leitura

Solicitação do tipo TransportMessage, que é um objeto contextual.

Solicitação de proxy
request.uri String Somente leitura

Em um proxy de API, o proxy <BasePath> no ProxyEndpoint (além do URL base do proxy) mapeia para o URL de serviço de destino no TargetEndpoint. Exemplo:

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

Aponta para

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

Na solicitação, request.uri é o caminho base do proxy + o restante do endereço, incluindo os parâmetros de consulta.

Na resposta, request.uri é o restante do endereço, incluindo os parâmetros de consulta, após o HTTPTargetConnection.

A diferença é que a solicitação original veio ao proxy, mas esse proxy fará outra solicitação ao serviço de destino.

Digamos que a seguinte chamada seja feita ao nosso proxy de exemplo, que tem um caminho base de "/my-mock-proxy":

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

E o proxy chama:

http://mocktarget.apigee.net

Quais anexam "/user?user=Dude" a esse URL.

  • Solicitação: request.uri = "/my-mock-proxy/user?user=Dude"
  • Resposta: request.uri = "/user?user=Dude"
Solicitação de proxy (as diferenças na resposta)
request.url String Somente leitura

O URL completo da solicitação feita ao endpoint de destino, incluindo os parâmetros da string de consulta, mas sem incluir o número da porta (se especificado).

Por exemplo, se você fizer uma chamada para um proxy de amostra "http://my_org-test.apigee.net/my-mock-proxy/user?user=Dude" e o endpoint de destino for "http://example.com:8080", o valor será:

  • Solicitação: n/a
  • Resposta: "http://example.com/user?user=Dude"
Resposta de destino
request.verb String Somente leitura

O verbo HTTP usado para a solicitação. Por exemplo, "GET", "PUT" e "DELETE".

Solicitação de proxy
request.version String Somente leitura

A versão HTTP da solicitação. Por exemplo, "1.1".

Solicitação de proxy

response

A resposta completa, incluindo qualquer payload presente.

A tabela a seguir descreve as propriedades da variável response:

Propriedade Tipo Leitura/gravação Descrição O escopo começa
response message Read/Write

Mensagem de resposta completa retornada pelo destino.

Resposta de destino
response.content String Read/Write

Conteúdo de payload da mensagem de resposta retornada pelo destino.

Resposta de destino
response.formparam.param_name String Read/Write

O valor de um parâmetro de formulário na resposta.

Resposta de destino
response.formparam.param_name.
 values.count
Número inteiro Somente leitura

Contagem de todos os valores do parâmetro de formulário especificado em resposta.

Resposta de destino
response.formparams.count Número inteiro Somente leitura

Contagem de todos os parâmetros do formulário na resposta.

Resposta de destino
response.formparams.names Coleta Somente leitura

Os nomes de todos os parâmetros do formulário na resposta.

Resposta de destino
response.header.header_name String Read/Write

Recebe ou define o valor de um cabeçalho HTTP especificado na resposta.

Se o texto do cabeçalho incluir uma vírgula, a Apigee Edge inferirá vários valores. Nesse caso, response.header.header_name retorna o primeiro valor apenas.

Para ler o cabeçalho inteiro, use o formulário response.header.header_name.values.

Resposta de destino
response.header.header_name.
 values
Coleta Somente leitura

Todos os valores de um cabeçalho HTTP especificado em resposta.

Resposta de destino
response.header.header_name.
 values.count
Número inteiro Somente leitura

Contagem de todos os valores do cabeçalho HTTP especificado em resposta.

Resposta de destino
response.header.header_name.N String Read/Write

O valor do enésimo valor do cabeçalho na resposta. O Apigee Edge divide os valores de texto de cabeçalho por vírgulas. Observe que o índice com o valor que é usado para N é baseado em 1, não em 0.

Por exemplo, se o cabeçalho Cache-control for "public, maxage=16544", response.header.cache-control.1 retornará "maxage=16544".

Resposta de destino
response.headers.count Número inteiro Somente leitura

Contagem de todos os cabeçalhos na resposta.

Resposta de destino
response.headers.names Coleta Somente leitura

Os nomes de todos os cabeçalhos na resposta.

Resposta de destino
response.reason.phrase String Read/Write

A frase do motivo da resposta para uma determinada solicitação.

Resposta de destino
response.status.code Número inteiro Read/Write

O código de resposta retornado para uma solicitação. Use essa variável para substituir o código de status de resposta, armazenado em message.status.code. Para mais informações, consulte message.

Resposta de destino
response.transport.message String Somente leitura

Resposta do tipo TransportMessage, que é um objeto contínuo.

Resposta de destino

route

Especifica os nomes de <RouteRule> e TargetEndpoint.

A tabela a seguir descreve as propriedades da variável route:

Propriedade Tipo Leitura/gravação Descrição O escopo começa
route.name String Somente leitura

O nome do <RouteRule> que foi executado no ProxyEndpoint. Por exemplo, "default". Uma RouteRule faz referência a um TargetEndpoint da API para ser executado.

Solicitação de destino
route.target String Somente leitura

O nome do TargetEndpoint que foi executado. Por exemplo, "default".

Solicitação de destino

router

Um contêiner para a propriedade router.uuid, que está obsoleto.

A tabela a seguir descreve as propriedades da variável router:

Propriedade Tipo Leitura/gravação Descrição O escopo começa
router.uuid String Somente leitura

Obsoleto e retorna nulo. (Antigo UUID do roteador que processava o proxy.)

Solicitação de proxy

servicecallout

Descreve o TargetEndpoint para uma política ServiceCallout.

A tabela a seguir descreve as propriedades da variável servicecallout:

Propriedade Tipo Leitura/gravação Descrição O escopo começa
servicecallout.policy_name.expectedcn String Read/Write

O nome comum esperado do TargetEndpoint, conforme referido em uma Política de destaque de serviço. Isso é significativo apenas quando o TargetEndpoint se refere a um endpoint TLS/SSL.

Solicitação de proxy
servicecallout.policy_name.target.url String Read/Write

O URL TargetEndpoint de uma política ServiceCallout específica.

Solicitação de proxy
servicecallout.requesturi String Read/Write

O URI TargetEndpoint de uma política ServiceCallout. O URI é o URL TargetEndpoint sem o protocolo e a especificação do domínio.

Solicitação de proxy

system

Especifica o endereço IP do sistema, bem como detalhes sobre o proxy.

A tabela a seguir descreve as propriedades da variável system:

Propriedade Tipo Leitura/gravação Descrição O escopo começa
system.interface.interface_name String Somente leitura

Endereço IP do sistema.

Solicitação de proxy
system.pod.name String Somente leitura

O nome do pod em que o proxy está sendo executado.

Solicitação de proxy
system.region.name String Somente leitura

O nome da região do data center em que o proxy está sendo executado.

Solicitação de proxy
system.time String Somente leitura

A hora em que essa variável foi lida. Por exemplo, "Quarta-feira, 21 de agosto de 2013 19:16:47 UTC".

Esse valor é a representação de string do valor correspondente de system.timestamp. Por exemplo, "Quarta-feira, 21 de agosto de 2013 19:16:47 UTC" corresponde ao valor de carimbo de data/hora "1377112607413".

Solicitação de proxy
system.time.year Número inteiro Somente leitura

A parte do ano de system.time.

Solicitação de proxy
system.time.month Número inteiro Somente leitura

A parte do mês de system.time.

Solicitação de proxy
system.time.day Número inteiro Somente leitura

Parte do dia do mês de system.time.

Solicitação de proxy
system.time.dayofweek Número inteiro Somente leitura

O dia da parte da semana de system.time.

Solicitação de proxy
system.time.hour Número inteiro Somente leitura

A parte de hora de system.time.

Solicitação de proxy
system.time.minute Número inteiro Somente leitura

A parte do minuto de system.time.

Solicitação de proxy
system.time.second Número inteiro Somente leitura

A segunda parte de system.time.

Solicitação de proxy
system.time.millisecond Número inteiro Somente leitura

A parte em milissegundos de system.time.

Solicitação de proxy
system.time.zone String Somente leitura

Fuso horário do sistema.

Solicitação de proxy
system.timestamp Longo Somente leitura

O inteiro de 64 bits (longo) que representa o momento em que essa variável foi lida. O valor é o número de milissegundos decorridos à meia-noite de 1º de janeiro de 1970 UTC. Por exemplo, "1534783015000".

Solicitação de proxy
system.uuid String Somente leitura

O UUID do processador de mensagens que processa o proxy.

Solicitação de proxy

target

Descreve o destino da solicitação.

A tabela a seguir descreve as propriedades da variável target:

Propriedade Tipo Leitura/gravação Descrição O escopo começa
target.basepath String Somente leitura

O caminho do recurso (sem incluir o domínio) para o serviço de destino, excluindo parâmetros de consulta, que é definido no TargetEndpoint do proxy.

Por exemplo, digamos que um proxy de API chame o seguinte destino:

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

Neste exemplo, o target.basepath é "/user".

Se o destino fosse este:

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

O target.basepath seria nulo.

Solicitação de destino
target.copy.pathsuffix Booleano Read/Write

Quando "true", a solicitação encaminhada de ProxyEndpoint para TargetEndpoint mantém o sufixo de caminho (o fragmento do caminho de URI após o URI definido no caminho base de ProxyEndpoint).

Solicitação de destino
target.copy.queryparams Booleano Read/Write

Quando "true", a solicitação encaminhada de ProxyEndpoint para TargetEndpoint mantém os parâmetros de consulta.

Solicitação de destino
target.country String Somente leitura

País do certificado TLS/SSL apresentado pelo servidor de destino

Resposta de destino
target.cn String Somente leitura

O nome comum do TargetEndpoint. Isso é significativo apenas quando o TargetEndpoint se refere a um endpoint TLS/SSL.

Solicitação de destino
target.email.address String Somente leitura

Endereço de e-mail do certificado TLS/SSL apresentado pelo servidor de destino

Resposta de destino
target.expectedcn String Read/Write

O nome comum esperado do TargetEndpoint. Isso é significativo apenas quando o TargetEndpoint se refere a um endpoint TLS/SSL.

Solicitação de proxy
target.host String Somente leitura

O nome de domínio do serviço de destino que retorna a resposta ao proxy de API.

Resposta de destino
target.ip String Somente leitura

O endereço IP do serviço de destino que retorna a resposta ao proxy de API.

Resposta de destino
target.locality String Somente leitura

Localidade (cidade) do certificado TLS/SSL apresentado pelo servidor de destino

Resposta de destino
target.name String Somente leitura

Destino que a mensagem alcança do endpoint de destino.

Solicitação de destino
target.organization String Somente leitura

Organização do certificado TLS/SSL apresentado pelo servidor de destino.

Resposta de destino
target.organization.unit String Somente leitura

Unidade organizacional do certificado TLS/SSL apresentada pelo servidor de destino.

Resposta de destino
target.port Número inteiro Somente leitura

O número da porta do serviço de destino que retorna a resposta para o proxy da API.

Resposta de destino
target.received.end.time String Somente leitura

A data/hora, expressa na forma de string, em que o TargetEndpoint concluiu o recebimento da resposta do destino. Por exemplo, "Quarta-feira, 21 de agosto de 2013 19:16:47 UTC".

Esse valor de tempo é a representação de string da quantidade de carimbo de data/hora correspondente de 32 bits. Por exemplo, "Qua, 21 Ago 2013 1916:47 UTC" corresponde ao valor do carimbo de data/hora de "1377112607413".

Resposta de destino
target.received.end.
  timestamp
Longo Somente leitura

O valor de carimbo de data/hora que especifica quando o TargetEndpoint terminou de receber a resposta do destino. Por exemplo, "1534783015000". Esse valor é um número inteiro (longo) de 64 bits que especifica o número de milissegundos decorridos desde a meia-noite, em 1º de janeiro de 1970, em UTC.

Resposta de destino
target.received.start.time String Somente leitura

O tempo expresso na forma de string, em que o TargetEndpoint começou a receber a resposta do destino. Por exemplo, "Quarta-feira, 21 de agosto de 2013 19:16:47 UTC".

Esse valor de tempo é a representação de string da quantidade de carimbo de data/hora correspondente de 32 bits. Por exemplo, "Quarta-feira, 21 de agosto de 2013 19:16:47 UTC" corresponde ao valor de carimbo de data/hora de "1377112607413".

Resposta de destino
target.received.start.
  timestamp
Longo Somente leitura

O valor do carimbo de data/hora que especifica quando o TargetEndpoint começou a receber a resposta do destino. Por exemplo, "1534783015000". Esse valor é um número inteiro (longo) de 64 bits que especifica o número de milissegundos decorridos desde a meia-noite, em 1º de janeiro de 1970, em UTC.

Resposta de destino
target.scheme String Somente leitura

Escopo iniciado: resposta de destino
Tipo: string
Permissão: leitura/gravação

Retorna http ou https, dependendo da mensagem de solicitação.

Solicitação de destino
target.sent.end.time String Somente leitura

A data/hora, expressa na forma de string, em que o proxy parou de enviar a solicitação ao URL especificado no TargetEndpoint. Por exemplo, "Quarta-feira, 21 de agosto de 2013 19:16:47 UTC".

Esse valor de tempo é a representação de string da quantidade de carimbo de data/hora correspondente de 32 bits. Por exemplo, "Quarta-feira, 21 de agosto de 2013 19:16:47 UTC" corresponde ao valor de carimbo de data/hora de "1377112607413".

Solicitação de destino
target.sent.end.timestamp Longo Somente leitura

O valor de carimbo de data/hora que especifica quando o proxy terminou de enviar a solicitação ao URL especificado no TargetEndpoint. Por exemplo, "1377112607413". Esse valor é um inteiro (longo) de 64 bits contendo o número de milissegundos decorridos desde a meia-noite, em 1º de janeiro de 1970, no horário UTC.

Solicitação de destino
target.sent.start.time String Somente leitura

A hora, expressa na forma de string, em que o proxy começou a enviar a solicitação para o URL especificado no TargetEndpoint. Por exemplo, "Quarta-feira, 21 de agosto de 2013 19:16:47 UTC".

Esse valor de tempo é a representação de string da quantidade de carimbo de data/hora correspondente de 32 bits. Por exemplo, "Quarta-feira, 21 de agosto de 2013 19:16:47 UTC" corresponde ao valor de carimbo de data/hora de "1377112607413".

Solicitação de destino
target.sent.start.timestamp Longo Somente leitura

O valor de carimbo de data/hora que especifica quando o proxy começou a enviar a solicitação ao URL especificado em TargetEndpoint. Por exemplo, "1534783015000". Esse valor é um número inteiro de 64 bits (longo) que especifica o número de milissegundos decorridos desde a meia-noite, em 1º de janeiro de 1970, em UTC.

Solicitação de destino
target.ssl.enabled Booleano Somente leitura

Indica se o TargetEndpoint está sendo executado em TLS/SSL.

Solicitação de proxy
target.state String Somente leitura

Estado do certificado TLS/SSL apresentado pelo servidor de destino.

Resposta de destino
target.url String Read/Write

É o URL configurado no arquivo XML TargetEndpoint ou no URL de destino dinâmico (se target.url estiver definido durante o fluxo da mensagem). A variável não inclui outros elementos de caminho ou parâmetros de consulta. Retorna nulo se chamado fora do escopo ou não definido.

Solicitação de destino

variable

Um contêiner para a propriedade variable.expectedcn.

A tabela a seguir descreve as propriedades da variável variable:

Propriedade Tipo Leitura/gravação Descrição O escopo começa
variable.expectedcn String Read/Write

Variável exposta para o nome comum se estiver sendo executada em TLS/SSL.

Solicitação de proxy

Para mais informações sobre como trabalhar com o TLS, consulte a introdução do TLS/SSL.

virtualhost

Especifica detalhes sobre o host virtual.

A tabela a seguir descreve as propriedades da variável virtualhost:

Propriedade Tipo Leitura/gravação Descrição O escopo começa
virtualhost.aliases.values Matriz de strings Somente leitura

Aliases do host virtual que ocorre durante uma solicitação específica.

Solicitação de proxy
virtualhost.name String Somente leitura

Nome do host virtual que atende à solicitação do cliente de origem.

Solicitação de proxy
virtualhost.ssl.enabled Booleano Somente leitura

Retorna "true" se TLS/SSL estiver ativado na configuração do host virtual.

Solicitação de proxy

Para mais informações sobre como trabalhar com hosts virtuais, consulte Como configurar hosts virtuais.