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

Nota:
  • Para variáveis de plano (como plan.name ou plan.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.
Tabela 1. API Connect Variáveis de contexto
Nome Descrição Permissão
DataPower API Gateway
onlyapi.catalog.id O ID do Catálogo no qual a API é publicada. Leitura/Gravação
DataPower API Gateway
onlyapi.catalog.name O nome do Catálogo no qual a API é publicada. Leitura/Gravação
DataPower API Gateway
onlyapi.catalog.path 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
DataPower API Gateway
onlyapi.id 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:
  • Você tem permissão de gravação para uma propriedade customizada apenas a partir da interface com o usuário, não do GatewayScript.
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
DataPower API Gateway
onlyclient.app.'lifecycle-state' O status de ciclo de vida do aplicativo cliente responsável pela chamada. Os valores possíveis são:
  • DEVELOPMENT
  • PRODUCTION (padrão)
Leitura/Gravação
DataPower API Gateway
onlyclient.app.metadata.key 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:
apic apps:create myapp.yaml --server myserver.com 
--org myorg --catalog mycatalog --consumer-org mycorg
em que myapp.yaml contém o seguinte:
name: myapp
title: My test application
metadata:
  key1: value1
  key2: value2
  key3: value3
  key4: value4
  key5: value5
You can then retrieve the value of a metadata key in an API assembly policy by using a context variable such as the following:
client.app.metadata.key3

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
DataPower API Gateway
onlyclient.result O resultado da política de segurança do cliente, que é SUCCESS ou FAILURE. Leitura/Gravação
DataPower API Gateway
onlyclient.third_party.type 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
DataPower API Gateway
onlyclient.third_party.headers 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
DataPower API Gateway
onlyclient.third_party.response.authenticated Os resultados da autenticação de terceiros Os valores possíveis são:
  • true: a autenticação foi bem-sucedida.
  • false: a autenticação falhou.
Leitura/Gravação
DataPower API Gateway
onlyclient.third_party.response.user O usuário para autenticação de terceiros. Leitura/Gravação
DataPower API Gateway
onlyclient.title O título para as credenciais recebidas na solicitação. Leitura/Gravação
DataPower Gateway (Classic)
onlyenv.name O nome do Catálogo no qual a API é publicada. Leitura/Gravação
DataPower Gateway (Classic)
onlyenv.path O segmento do caminho que representa esse catálogo. Leitura/Gravação
DataPower API Gateway
onlyerror.message O texto da mensagem de erro. Leitura/Gravação
DataPower API Gateway
onlyerror.name O nome do erro. Somente leitura
DataPower API Gateway
onlylog 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
DataPower API Gateway
onlymessage.original.headers.name 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
DataPower API Gateway
onlymessage.package.headers.name 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
DataPower API Gateway
onlymessage.variables.name 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
plan.rate-limit O limite de taxa do plano, que é o número de chamadas da API por intervalo de tempo. Leitura/Gravação
DataPower API Gateway
onlyplan.rate-limit[index].hard-limit A configuração de limite máximo para o esquema de limite de taxa identificado por [index]. Leitura/Gravação
DataPower API Gateway
onlyplan.rate-limit[index].value O valor do esquema de limite de taxa identificado por [index]. A sintaxe é rate/interval. Leitura/Gravação
plan.spaceId O identificador exclusivo do espaço no qual o plano está contido. Leitura/Gravação
plan.spaceName 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
DataPower API Gateway
onlyrequest.original.headers.name 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
DataPower API Gateway
onlyrequest.package.headers.name 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
DataPower API Gateway
onlyrequest.parameters É possível obter seus parâmetros recebidos a partir dos parâmetros de caminho e consulta.   
DataPower API Gateway
onlyrequest.parameters.name.locations 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.
formData
O parâmetro está no corpo como dados de formulário
header
O parâmetro está no cabeçalho da solicitação
path
O parâmetro está no caminho
query
O parâmetro está na consulta
Somente leitura
DataPower API Gateway
onlyrequest.parameters.name.values 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
DataPower API Gateway
onlyrequest.original.parameters.name.values 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
DataPower API Gateway
onlyrequest.protocol 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
DataPower API Gateway
onlysession.apiGateway O gateway que recebe a solicitação. Somente leitura
DataPower API Gateway
onlysession.apiGatewayName O nome do gateway da API conforme definido no API Manager. Somente leitura
DataPower API Gateway
onlysession.clientAddress O endereço do cliente que enviou a solicitação. Somente leitura
DataPower API Gateway
onlysession.domainName O nome do domínio ao qual o gateway pertence. Somente leitura
DataPower API Gateway
onlysession.globalTransactionID O identificador de transação global nos logs. Somente leitura
DataPower API Gateway
onlysession.localAddress Os endereços do gateway no DataPower® Gateway. Somente leitura
DataPower API Gateway
onlysession.timeStarted O horário em que o gateway começou a processar a solicitação. Somente leitura
DataPower API Gateway
onlysession.transactionID 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.

Tabela 2. Variáveis de contexto OAuth (DataPower Gateway (v5 compatible)).
Nota: a maioria das variáveis de contexto OAuth estão disponíveis apenas quando o IBM API Connect está agindo como o servidor de recurso OAuth. No entanto, as variáveis oauth.introspect também estão disponíveis ao integrar-se com provedores de terceiros.
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.
oauth.introspect.client_id: xxx-xxx 
oauth.introspect.token_type: bearer
oauth.introspect.scope: neon

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.

Tabela 3. Variáveis de contexto do certificado de aplicativo
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:
  • application.certificate.KeyValue.RSAKeyValue.Modulus
  • application.certificate.KeyValue.RSAKeyValue.Exponent

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

A maneira pela qual você ativa e configura a criação de log de atividade depende do tipo de gateway que está sendo usado, conforme a seguir:
A configuração da criação de log de atividade define o conteúdo padrão da variável de contexto log, mas é possível modificá-la em um conjunto de APIs, por exemplo:

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.

Tabela 4. Variáveis de contexto do 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:
  • not-introspection
  • custom-introspection
  • default-introspection