API Connect Variáveis de contexto
Lista de variáveis de contexto IBM®
API Connect que podem ser referenciadas ao definir valores de parâmetros padrão em uma operação de conjunto ou usando a função getContext() ao definir uma política.
Para obter mais informações sobre como implementar um componente de conjunto, consulte Incluindo elementos em seu OpenAPI 2.0 conjunto de API, Incluindo elementos em seu OpenAPI 2.0 conjunto de API, e para obter informações sobre como referenciar variáveis de contexto no API Connect consulte Referências de variáveis no API Connect e Usando variáveis de contexto no GatewayScript e políticas XSLT com o DataPower API Gateway.
Para obter mais informações sobre como criar uma política definida pelo usuário, consulte Políticas de Autoria
Variáveis de contexto gerais
- Para variáveis de plano (como
plan.nameouplan.version), as informações do plano estão disponíveis apenas quando a operação solicitada requer identificação e o cliente transmite a verificação de autenticação. - Se você implementar sua API no DataPower® Gateway (v5 compatible) , com exceção do ID do cliente e do segredo do cliente, a passagem de entrada de formulário como um parâmetro em uma API não será suportada. Essa restrição não se aplica se você implementar sua API no DataPower API Gateway.
| Nome | Descrição | Permissão |
|---|---|---|
|
O ID do Catálogo no qual a API é publicada. | Leitura/Gravação |
|
O nome do Catálogo no qual a API é publicada. | Leitura/Gravação |
|
O segmento do caminho que representa esse catálogo. | Leitura/Gravação |
api.endpoint.address |
O endereço do terminal do API Gateway. | Leitura/Gravação |
api.endpoint.hostname |
O nome do host do terminal do API Gateway, conforme solicitado pelo aplicativo. | Leitura/Gravação |
|
O identificador da API. | Leitura/Gravação |
api.name |
O nome da API; isso corresponde ao campo x-ibm-name na definição OpenAPI da API. |
Leitura/Gravação |
api.operation.id |
O ID da operação. | Leitura/Gravação |
api.operation.path |
O caminho da operação. | Leitura/Gravação |
api.org.id |
O ID da organização do provedor de API. | Leitura/Gravação |
api.org.name |
O nome abreviado da organização do provedor de API. | Leitura/Gravação |
api.properties.propertyname |
O nome de uma propriedade de API customizada. Os valores da propriedade são específicos do Catálogo. Nota:
|
Leitura/Gravação |
api.root |
O caminho base da API. | Leitura/Gravação |
api.type |
O tipo de API; REST ou SOAP. | Leitura/Gravação |
api.version |
A sequência de versões da API. | Leitura/Gravação |
client.app.id |
O identificador de cliente ou a chave de aplicativo recebida na solicitação. | Leitura/Gravação |
|
O status de ciclo de vida do aplicativo cliente responsável pela chamada. Os valores possíveis são:
|
Leitura/Gravação |
|
O valor de sequência de uma chave de metadados do aplicativo, em que key é o nome
da chave. É possível incluir chaves de metadados em um aplicativo usando o comando apic apps:create ou apic apps:update; inclua as chaves de metadados no parâmetro do arquivo de configuração transmitido para o comando. Por exemplo:
em que
myapp.yaml contém o
seguinte:You
can then retrieve the value of a metadata key in an API assembly policy by using a context variable
such as the following:
Observe que a inclusão de metadados de aplicativo pode impactar o desempenho trans do gateway. |
Leitura/Gravação |
client.app.name |
O nome do aplicativo identificado como tendo emitido a solicitação. | Leitura/Gravação |
client.app.secret |
O segredo do cliente recebido na solicitação. | Leitura/Gravação |
client.app.type |
O tipo de aplicativo cliente que emitiu a solicitação. | Leitura/Gravação |
client.org.id |
A chave de identificação exclusiva da organização que possui este aplicativo. | Leitura/Gravação |
client.org.name |
O nome da organização que possui este aplicativo. | Leitura/Gravação |
|
O resultado da política de segurança do cliente, que é SUCCESS ou
FAILURE. |
Leitura/Gravação |
|
O tipo de registro do usuário usado para autenticação terceirizada das credenciais do cliente extraídas. Os valores possíveis são LDAP e auth-url. |
Leitura/Gravação |
|
A matriz de cabeçalhos incluída na solicitação enviada para essa URL de autenticação da API durante a autenticação terceirizada. | Leitura/Gravação |
|
Os resultados da autenticação de terceiros Os valores possíveis são:
|
Leitura/Gravação |
|
O usuário para autenticação de terceiros. | Leitura/Gravação |
|
O título para as credenciais recebidas na solicitação. | Leitura/Gravação |
|
O nome do Catálogo no qual a API é publicada. | Leitura/Gravação |
|
O segmento do caminho que representa esse catálogo. | Leitura/Gravação |
|
O texto da mensagem de erro. | Leitura/Gravação |
|
O nome do erro. | Somente leitura |
|
Os dados da transação reunidos em uma ação do log do conjunto. | Leitura/Gravação |
message.attachments |
A matriz de anexos em uma mensagem de várias partes | Leitura/Gravação |
message.attachments[].body |
As cargas úteis de anexo em uma mensagem de várias partes | Leitura/Gravação |
message.attachments[].headers |
Os cabeçalhos de anexo em uma mensagem de várias partes | Leitura/Gravação |
message.body |
A carga útil da mensagem de solicitação ou de resposta. Nota: a variável de contexto
message.body não é suportada com a função getContext() . Use a função getvariable() no lugar. |
Leitura/Gravação |
message.headers.name |
O valor do cabeçalho nomeado atual da
mensagem ou do cabeçalho nomeado atual da parte raiz de uma mensagem
multipartes. O segmento name faz distinção entre maiúsculas e minúsculas. |
Leitura/Gravação |
|
O valor do cabeçalho nomeado original da mensagem HTTP. Quando o conjunto contém uma ação de chamada, o valor é automaticamente preenchido pelo cabeçalho nomeado original da mensagem de resposta da URL chamada. O segmento name faz distinção entre maiúsculas e minúsculas. |
Somente leitura |
|
O valor do atual cabeçalho nomeado da mensagem multipartes. O segmento name faz distinção entre maiúsculas e minúsculas. |
Leitura/Gravação |
message.status.code |
O código de status HTTP da resposta. | Leitura/Gravação |
message.status.reason |
A frase de razão de HTTP da resposta. | Leitura/Gravação |
|
O valor de uma propriedade na mensagem. Por exemplo, quando myvar é a propriedade na mensagem, é possível recuperar o valor da propriedade myvar lendo message.variables.myvar. |
Leitura/Gravação |
plan.name |
O nome do plano. | Leitura/Gravação |
plan.id |
O identificador exclusivo do plano. | Leitura/Gravação |
|
O limite de taxa do plano, que é o número de chamadas da API por intervalo de tempo. | Leitura/Gravação |
|
A configuração de limite máximo para o esquema de limite de taxa identificado por [index]. |
Leitura/Gravação |
|
O valor do esquema de limite de taxa identificado por [index]. A sintaxe é rate/interval. |
Leitura/Gravação |
|
O identificador exclusivo do espaço no qual o plano está contido. | Leitura/Gravação |
|
O nome do espaço no qual o plano está contido. | Leitura/Gravação |
plan.version |
O número da versão do plano. | Leitura/Gravação |
request.authorization |
O cabeçalho de HTTP authorization analisado. |
Somente leitura |
request.body |
A carga útil da solicitação recebida. | Somente leitura |
request.content-type |
Valor de tipo de conteúdo normalizado. | Somente leitura |
request.date |
Um objeto de data que representa aproximadamente quando a solicitação foi recebida pelo Gateway. | Somente leitura |
request.headers.name |
O valor do cabeçalho nomeado original da
solicitação de HTTP ou o valor do cabeçalho nomeado atual da parte
raiz de uma solicitação em várias partes. O segmento name faz distinção entre maiúsculas e minúsculas. O cabeçalho da solicitação pode ser modificado apenas em políticas de pré-fluxo Para obter mais informações, consulte Customizando as políticas de pré-fluxo. |
Leitura/Gravação |
|
O valor do cabeçalho nomeado original da solicitação de HTTP. Esta variável é criada apenas quando o cabeçalho da solicitação é modificado. O segmento name faz distinção entre maiúsculas e minúsculas. |
Somente leitura |
|
O valor do cabeçalho nomeado da solicitação em várias partes. O segmento name faz distinção entre maiúsculas e minúsculas. |
Somente leitura |
|
É possível obter seus parâmetros recebidos a partir dos parâmetros de caminho e consulta. | |
|
Uma matriz de sequências que especificam os tipos de parâmetro associados ao parâmetro especificado no nome. As palavras-chave suportadas para os tipos de parâmetro são mostradas a seguir.
|
Somente leitura |
|
Uma matriz contendo valores dos tipos de parâmetro associados ao parâmetro especificado no nome. Por exemplo, quando o primeiro valor é path in request.parameters.myparam.locations[], o primeiro valor em request.parameters.myparam.values[] é a matriz de valores de caminho associados a myparam.Os parâmetros de solicitação podem ser modificados apenas em políticas de pré-fluxo Para obter mais informações, consulte Customizando as políticas de pré-fluxo. |
Leitura/Gravação |
|
Uma matriz contendo os valores originais dos tipos de parâmetros associados com o parâmetro especificado em name. Esta variável é criada apenas quando um valor de parâmetro de solicitação é modificado. | Somente leitura |
request.path |
A seção de caminho do request.uri que inicia com o caminho base da API, incluindo o
caractere ' /' que inicia o caminho base. |
Somente leitura |
|
O protocolo usado para receber a solicitação: http ou https. |
Somente leitura |
request.querystring |
A sequência de consultas de solicitação sem o ponto de interrogação inicial. | Somente leitura |
request.search |
A sequência de consultas de solicitação com o ponto de interrogação inicial. | Somente leitura |
request.uri |
O URI de solicitação de HTTP completo do aplicativo. | Somente leitura |
request.verb |
O verbo de HTTP desta solicitação. | Somente leitura |
|
O gateway que recebe a solicitação. | Somente leitura |
|
O nome do gateway da API conforme definido no API Manager. | Somente leitura |
|
O endereço do cliente que enviou a solicitação. | Somente leitura |
|
O nome do domínio ao qual o gateway pertence. | Somente leitura |
|
O identificador de transação global nos logs. | Somente leitura |
|
Os endereços do gateway no DataPower® Gateway. | Somente leitura |
|
O horário em que o gateway começou a processar a solicitação. | Somente leitura |
|
O identificador de transação da solicitação de gateway. | Somente leitura |
system.datetime |
Retorna uma sequência que representa a data e hora atuais no fuso horário do sistema do gateway. | Somente leitura |
system.time |
Retorna uma sequência que representa o horário atual no fuso horário do sistema do gateway. |
Somente leitura |
system.time.hour |
Retorna um número de 0 a 23, que representa a hora do horário atual no fuso horário do sistema do gateway. | Somente leitura |
system.time.minute |
Retorna um número de 0 a 59, que representa o minuto do horário atual no fuso horário do sistema do gateway. | Somente leitura |
system.time.seconds |
Retorna um número de 0 a 59, que representa os segundos do horário atual no fuso horário do sistema do gateway. | Somente leitura |
system.date |
Retorna uma sequência que representa a data atual no fuso horário do sistema do gateway. |
Somente leitura |
system.date.day-of-week |
Retorna um número de 1 a 7 (de segunda-feira a domingo), que representa o dia da semana no fuso horário do sistema do gateway. | Somente leitura |
system.date.day-of-month |
Retorna um número de 1 a 31, que representa o dia do mês no fuso horário do sistema do gateway. | Somente leitura |
system.date.month |
Retorna um número de 1 a 12, que representa o mês no fuso horário do sistema do gateway. | Somente leitura |
system.date.year |
Retorna um número de quatro dígitos que representa o ano no fuso horário do sistema do gateway. | Somente leitura |
system.timezone |
Retorna um identificador ISO 8601 do fuso horário do sistema para o gateway, que
pode incluir um sinal, uma hora com dois dígitos e minutos. Por exemplo, -04:00. |
Somente leitura |
Variáveis de contexto OAuth- DataPower Gateway (v5 compatible)
As variáveis de contexto OAuth descritas nesta seção se aplicam apenas ao DataPower Gateway (v5 compatible). Para obter detalhes das variáveis de contexto OAuth que se aplicam ao DataPower API Gateway, consulte Variáveis de contexto OAuth.
| Nome | Descrição |
|---|---|
oauth.access-token |
Se a solicitação for autenticada com OAuth, essa variável conterá a sequência de token de acesso. |
oauth.miscinfo |
Essa variável contém informações explicitamente incluídas na URL de autenticação e os cabeçalhos de URL
de Metadados. Para obter mais informações, consulte Autenticar URL. |
oauth.not-after |
Se a solicitação for autenticada com OAuth, essa variável conterá a data em que o token irá expirar. |
oauth.not-before |
Se a solicitação for autenticada com OAuth, essa variável conterá a data de emissão do token. |
oauth.resource-owner |
Se a solicitação for autenticada com OAuth, essa variável conterá o nome do proprietário do recurso. |
oauth.scope |
Se a solicitação for autenticada com OAuth, essa variável conterá o escopo deste token de acesso. |
oauth.introspect.active |
Sempre disponível para introspecção. Valor booleano. |
oauth.introspect.response |
Sempre disponível para introspecção. Mostra a carga útil de resposta completa atual. Exemplo de valor de carga útil:
{“active”:true, “client_id”, “xxx-xxx”, “token_type”, “bearer”,
“scope”:“neon”} |
Outras variáveis de terceiros podem estar disponíveis na forma de:
oauth.introspect.<variable> |
Ao decodificar a carga útil de exemplo anterior, as variáveis a seguir são disponibilizadas para
processamento posterior. |
Variáveis de contexto do certificado de aplicativo
A tabela a seguir descreve as variáveis de contexto que estão disponíveis quando um certificado é usado para verificar o acesso a uma API, embora elas variem dependendo do mecanismo de assinatura que está sendo usado; para obter mais informações, consulte o Internet X.509 Certificado de infraestrutura de chave pública e especificação de perfil CRL.
| Nome | Descrição |
|---|---|
application.certificate.Base64 |
Formato Base64. |
application.certificate.fingerprint |
Impressão Digital |
application.certificate.Version |
Versão |
application.certificate.SerialNumber |
Número de Série |
application.certificate.SignatureAlgorithm |
Algoritmo de assinatura |
application.certificate.Issuer |
O emissor do certificado |
application.certificate.Subject |
Assunto |
application.certificate.NotBefore |
Não válido antes desta data |
application.certificate.NotAfter |
Não é válido após esta data |
application.certificate.SubjectPublicKeyAlgorithm |
Algoritmo para a chave pública do sujeito |
application.certificate.SubjectPublicKeyBitLength |
Comprimento para a chave pública do sujeito |
application.certificate.KeyValue.type |
Diversas variáveis de contexto que dependem do algoritmo e da chave. As variáveis de
contexto possíveis são:
|
Variáveis de contexto da criação de log de atividade da API
Se a criação de log de atividade estiver ativada para uma API, uma variável de contexto log será criada;
a variável de contexto log contém os dados relacionados a um evento de execução da API. Na
conclusão da execução da API, a variável de contexto log é gravada em um registro de eventos
da API armazenado para acesso subsequente pela análise de API. Para obter detalhes dos campos contidos na variável de contexto log , consulte Campos de registro de eventos da API...
- Se estiver usando o DataPower API Gateway, configure a criação de log de atividades nas definições de configuração da API; consulte Configurando a criação de log de atividades (OpenAPI 2.0) ou Configurando a criação de log de atividades (OpenAPI 3.0).
- Se você estiver usando o DataPower Gateway (v5 compatible), configure a criação de log de atividade incluindo uma política de Log de atividades no conjunto da API (interface de programação de aplicativos).
log, mas é possível modificá-la em um conjunto de APIs, por exemplo:- Inclua seus próprios valores de dados usando uma política Configurar variável .
- Remova ou edite valores de dados usando uma política de Edição de dados; consulte Redação- DataPower API Gateway ou Redação- DataPower Gateway (v5 compatível).
Modifique ou substitua a variável de contexto logusando uma política Log .
Variáveis de contexto do GraphQL
As variáveis de consulta e resposta do GraphQL geradas por meio de ações de processamento e de conjunto da API são
armazenadas no contexto da API nas variáveis de contexto message.attributes.graphql.
| Nome | Descrição |
|---|---|
message.attributes.graphql |
Os atributos de consulta e resposta da mensagem do GraphQL. |
message.attributes.graphql.query |
Os atributos de uma consulta GraphQL, incluindo a sequência de consultas, o nome da operação e as variáveis. |
message.attributes.graphql.query.query |
A sequência de consultas GraphQL. |
message.attributes.graphql.query.variables |
O mapa de variáveis GraphQL. |
message.attributes.graphql.query.operationName |
O nome da operação a ser executada. |
message.attributes.graphql.query.operationType |
O tipo de operação a ser executada. |
message.attributes.graphql.request |
Os atributos da solicitação de GraphQL. |
message.attributes.graphql.request.fieldCost |
A soma ponderada do custo de todos os campos acessados na consulta. O custo de cada acesso de campo é configurado no esquema. Esta contagem inclui campos cujos custos de campo não são configurados para 0.0. |
message.attributes.graphql.request.fieldCounts |
O número máximo de vezes que cada campo pode ser recuperado pela consulta especificada. Esse número é igual ao número de vezes que o resolvedor responsável pela produção do valor do campo deve ser executado. Esta contagem inclui campos cujos custos de campo não são configurados para 0.0. |
message.attributes.graphql.request.typeCost |
A soma ponderada do custo de todos os tipos recuperados na consulta. O custo de cada tipo é configurado no esquema. Essa contagem inclui tipos cujos custos de tipo não são configurados como 0.0. |
message.attributes.graphql.request.typeCounts |
O número máximo de vezes que um valor de cada tipo pode ser recuperado pela consulta especificada. Essa contagem inclui tipos cujos custos de tipo não são configurados como 0.0. |
message.attributes.graphql.response.fieldCost |
A soma ponderada do custo de todos os campos na resposta da consulta. O custo de cada acesso de campo é configurado no esquema. Se esta soma não puder ser calculada com base na configuração de análise na solicitação, o custo do campo será expresso como o valor máximo de número inteiro que pode ser designado. |
message.attributes.graphql.response.fieldCounts |
O número de vezes que cada campo foi recuperado na resposta da consulta. Esse número é igual ao número de vezes que o resolvedor responsável pela produção do valor do campo deve ser executado. Se esta soma não puder ser calculada com base na configuração de análise na solicitação, a contagem de campo será expressa como o valor máximo de número inteiro que pode ser designado. |
message.attributes.graphql.response.typeCost |
A soma ponderada do custo de todos os tipos na resposta da consulta. O custo de cada tipo é configurado no esquema. Se esta soma não puder ser calculada com base na configuração de análise na solicitação, o custo do tipo será expresso como o valor máximo de número inteiro que pode ser designado. |
message.attributes.graphql.response.typeCounts |
O número de vezes que um valor de cada tipo foi contido na resposta da consulta. Se esta soma não puder ser calculada com base na configuração de análise na solicitação, a contagem de tipo será expressa como o valor máximo de número inteiro que pode ser designado. |
message.attributes.parse.GraphQLIntrospection |
O tipo de introspecção da ação de introspecção do GraphQL do conjunto. Quando uma consulta GraphQL é analisada, esta variável de contexto é preenchida com um dos valores a seguir:
|