invoke
Use a política invoke para chamar uma API..
Suporte de gateway
| Gateway | Versão da política |
|---|---|
| DataPower® Gateway (v5 compatible) | 1.0.0 |
| DataPower API Gateway | 2.0.0 2.1.0 (DataPower API Gateway Versão 10.0.1.1 ou posterior) 2.2.0 (DataPower API Gateway Versão 10.0.2.0 ou posterior) 2.3.0 ( DataPower API Gateway Versão 10.0.3.0 ou posterior) |
Este tópico descreve como configurar a política em sua origem do OpenAPI ; para obter detalhes sobre como configurar a política na interface com o usuário do conjunto, consulte Chamar
Sobre
- invoke:
version: version
title: title
description: description
target-url: URL_of_target_API
backend-type: how_payload_is_sent_to_backend
tls-profile: TLS_profile_to_be_used
verb: method_type
timeout: timeout_value_in_seconds
compression: is_data_to_be_compressed
username: username_if_authentication_required
password: password_if_authentication_required
output: location_of_the_invoke_result
cache-key: unique_identifier_of_the_document_cache_entry
cache-response: cache_behavior
cache-putpost-response: response_caching_behavior
cache-ttl: cache_time_to_live
inject-proxy-headers: are_proxy_headers_sent_to_target_url
decode-request-params: are_request_parameters_decoded
encode-plus-char: are_plus_characters_encoded
keep-payload: is_payload_sent_on_delete
use-http-10: are_transactions_restricted_to_http_1.0
chunked-uploads: are_chunked_encoded_documents_sent_to_the_server
persistent-connection: are_persistent_connections_enabled
header-control:
.
.
.
headers_to_copy_to_target_url
.
.
.
parameter-control:
.
.
.
parameters_to_copy_to_target_url
.
.
.
follow-redirects: url_redirection_behavior
stop-on-error: errors_that_stop_the_flowPropriedades
| Propriedade | Necessário | Descrição | Tipo de dados |
|---|---|---|---|
| version | True | O número de versão da política | sequência |
| title | Não | Um título para a política. | sequência |
| description | Não | Uma descrição da política. | sequência |
| target-url | True | A URL da API de destino. Nota:
Não anexe manualmente parâmetros de caminho ou de consulta ao campo target-url na política de invocação. Se esses parâmetros forem definidos na operação da API, o site API Connect os injetará no destino URL em tempo de execução. Evite adicionar manualmente valores como |
sequência |
| Não | Especifique um dos valores a seguir para determinar como a carga útil é enviada para o back-end: O valor padrão é |
sequência | |
Sim, se backend-type for configurado como graphql ou detecte verb for configurado como POST ou keep. |
Especifique um dos valores a seguir para determinar como a carga útil do GraphQL é enviada para o back-end: Nota: graphql-send-type será suportado apenas se backend-type estiver configurado como
graphql ou detecte verb estiver configurado como POST ou keep. |
sequência | |
| tls-profile | Não | Especifica um perfil TLS a ser usado para a transmissão segura de dados. Nota: se desejar editar a API na visualização de origem, certifique-se de que o valor tls-profile siga este formato: name:version. Por exemplo, ele deve ser parecido com nameofmytlsclientprofile:1.0.0.
|
sequência |
| verb | Não | O tipo de método de operação. Valores válidos:
O valor padrão é |
sequência |
| timeout | Não | O tempo de espera antes de um retorno de resposta do terminal (em segundos). O valor padrão é |
número inteiro |
| True | A versão HTTP que será usado durante a conexão com o servidor de back-end. Valores válidos:
|
sequência | |
| Não | Configure essa propriedade como true para requerer que o servidor selecione HTTP/2 durante uma conexão TLS, caso contrário, o DataPower API Gateway rejeitará a conexão e falhará a solicitação. Para uma conexão não TLS, é registrado um aviso de que o requisito não pode ser cumprido. Essa configuração se aplicará somente se http-version estiver configurado como HTTP/2. |
booleano | |
| compression | Não | Especifica se os dados devem ser compactados utilizando compress antes de serem transferidos por upload. O valor padrão é false. |
booleano |
| username | Não | O nome de usuário a ser usado para autenticação básica HTTP. | sequência |
| password | Não | A senha a ser usada para autenticação básica HTTP. | sequência |
| output | Não | O nome de uma variável que será usada para armazenar os dados de resposta da solicitação. Por padrão, a resposta de chamada, ou seja, o corpo, os cabeçalhos, o statusCode e a statusMessage, é salva na variável message. Use essa propriedade para especificar um local alternativo para armazenar a resposta da chamada. Essa variável pode então ser referenciada em outras ações, como o mapa. Nota: Se desejar que a resposta seja salva na mensagem, deixe a propriedade output em branco, não forneça o valor message.
|
sequência |
cache-key |
Não | Especifica o identificador exclusivo da entrada de cache do documento. | sequência |
| Não | Defina essa propriedade como true para permitir que uma conexão HTTP ou HTTPS seja atualizada para o protocolo WebSocket se a solicitação recebida pelo manipulador correspondente HTTP ou HTTPS no DataPower API Gateway usar WebSocket (ws) ou WebSocket Secure (wss).Nota:
|
booleano | |
cache-response |
Não | O tipo de resposta de cache. Valores válidos:
O valor padrão é |
sequência |
| cache-putpost-response | Não | Especifica se você deseja armazenar em cache a resposta das
solicitações POST e PUT. O armazenamento em cache da resposta das solicitações POST e
PUT pode reduzir o carregamento do servidor e a latência na
resposta à solicitação do cliente. O valor padrão é |
booleano |
cache-ttl |
Não | Especifica o período de tempo, em segundos, que a resposta permanece no cache. Aplica-se apenas
se a propriedade cache-response estiver configurada como time-to-live. Insira um valor no intervalo de 5 a 31708800.O valor padrão é Observação: Quando os usuários fazem login usando o caminho de login do Toolkit (um URL que inclui
?from=TOOLKIT), a chave de API gerada tem um tempo de vida fixo (TTL) de 5 minutos. |
número inteiro |
| Não | Quando configurado como true, a política invoke injeta os
cabeçalhos X-Forwarded-For, X-Forwarded-To, X-Forwarded-Host e X-Forwarded-Proto na
solicitação que é enviada para o ttarget-url.O valor padrão é |
booleano | |
| Não | Quando configurado como true, quaisquer parâmetros de solicitação que são referenciados por uma definição de variável no
target-url da política de chamada são decodificados por URL.O valor padrão é |
booleano | |
| Não | Quando configurado como true, todos os caracteres "+" nos valores de parâmetros de consulta do
target-url são codificados como %2F.O valor padrão é |
booleano | |
| Não | Quando configurado como true, a política de chamada envia uma carga útil em um método
HTTP DELETE.O valor padrão é |
booleano | |
| Não | Quando configurado como true, transações HTTP são restritas à versão 1.0. O valor padrão é |
booleano | |
| Não | Se essa propriedade for configurada como true, documentos codificados em partes serão enviados para o servidor. Quando o protocolo HTTP 1.1 é usado, o corpo do documento pode ser delimitado por Content-Length ou codificação em partes. Embora todos os servidores possam interpretar o Content-Length, muitos aplicativos não entendem documentos codificados em partes. Por essa razão, Content-Length é o método padrão.O uso do Quando estiver ativado, o servidor deve ser compatível com o RFC 2616. Ao contrário de todos os outros recursos HTTP 1.1 que podem ser negociados no tempo de execução, lembre-se de que o servidor de destino é compatível com o RFC 2616. O valor padrão é Observação: a codificação em pedaços não é compatível com o protocolo HTTP 1.0.
|
booleano | |
| Não | Defina essa propriedade como true para ativar as conexões persistentes HTTP, permitindo a reutilização da conexão.O valor padrão é |
booleano | |
|
Não | Especifica os cabeçalhos em message.headers que
você deseja copiar para a URL de destino.Se a propriedade Se a propriedade Os itens que são listados na propriedade
values
estão no formato de expressão regular. Os valores não distinguem maiúsculas e minúsculas. O valor padrão da propriedade header-control éConsulte exemplos de cabeçalho-controle |
objeto |
|
Não | Especifica os parâmetros na solicitação recebida que você
deseja que sejam copiados para a URL de destino. Se a propriedade Se a propriedade Os itens que são listados na propriedade
values
estão no formato de expressão regular. Os valores não distinguem maiúsculas e minúsculas. O valor padrão da propriedade parameter-control éConsulte exemplos de controle de parâmetro |
objeto |
| Não | Especifica o comportamento se o servidor back-end retornar o código de status HTTP 301 Moved
Permanently . Se essa propriedade for configurada como true, a política invoke seguirá o redirecionamento de URL fazendo uma chamada adicional para a URL especificada no cabeçalho Location na resposta. Se a propriedade for configurada como false, invoke salvará o código de status 301 e a chamada de API será considerada completa.Nota: A propriedade
follow-redirect é suportada apenas pelo DataPower API Gateway. Se você estiver usando o DataPower Gateway (v5 compatible), o invoke sempre seguirá o redirecionamento URL; a proxy (não suportada pelo DataPower API Gateway) salva o código de status 301 e conclui a chamada de API sem seguir o redirecionamento URL. |
booleano | |
| stop-on-error | Não | Lista os erros que, se lançados durante a execução da política,
farão com que o fluxo seja interrompido. Se houver um fluxo catch configurado para este
erro, ele será acionado para manipular o erro lançado. Se um erro for lançado e não houver erros especificados para a
configuração Parar no erro ou se o erro
lançado não for um dos erros especificados, a execução da política
terá permissão para ser concluída, e o fluxo de conjuntos continuará. |
sequência |
Exemplo
- invoke:
version: 2.0.0
title: get the account status
target-url: https://example.com/accounts/{id}?status={status}
cache-response: time-to-live
cache-putpost-response: true
tls-profile: MyTLSProfile:1.0.0
verb: POST
timeout: 60
compression: false
username: MyUser
password: MyPassword
stop-on-error:
- ConnectionError
- OperationError

header-control exemplos
# copy all headers to the target URL
- invoke:
target-url: http://myhost/mypath
header-control:
type: blocklist
values: []
# copy all headers except X-Client-ID and Content-Type
- invoke:
target-url: http://myhost/mypath
header-control:
type: blocklist
values:
- ^X-Client-ID$
- ^Content-Type$
# copy no headers
- invoke:
target-url: http://myhost/mypath
header-control:
type: allowlist
values: []
# copy only the Content-Type header
- invoke:
target-url: http://myhost/mypath
header-control:
type: allowlist
values:
- ^Content-Type$

parameter-control exemplos
# copy no request parameters to the target URL
- invoke:
target-url: http://myhost/path?storeid=3
parameter-control:
type: allowlist
values: []
# append the petid parameter to the target URL
# if the incoming request is http://apigw/org/sandbox/petstore/base?petid=100&display=detailed,
# the target URL at runtime will be http://myhost/mypath?storeid=3&petid=100
- invoke:
target-url: http://myhost/path?storeid=3
parameter-control:
type: allowlist
values:
- ^petid$
# The API definition includes a query parameter petid.
# Incoming request: https://apigw/org/sandbox/pets?petid=123
# API Connect will automatically forward petid to the target URL at runtime.
- invoke:
target-url: https://myhost/pets
parameter-control:
type: allowlist
values:
- ^petid$