Ligação de saída de gatilho
APLICA-SE A: Developer | Prémio
A invoke-dapr-binding
política instrui o gateway de Gerenciamento de API a acionar uma associação de Dapr de saída. A política faz isso fazendo uma solicitação HTTP POST para http://localhost:3500/v1.0/bindings/{{bind-name}},
substituir o parâmetro de modelo e adicionando conteúdo especificado na instrução de política.
A política pressupõe que o tempo de execução do Dapr esteja sendo executado em um contêiner de sidecar no mesmo pod que o gateway. O tempo de execução do Dapr é responsável por invocar o recurso externo representado pela ligação. Saiba mais sobre a integração do Dapr com o Gerenciamento de API.
Nota
Defina os elementos da política e os elementos filho na ordem fornecida na declaração de política. Saiba mais sobre como definir ou editar políticas de Gerenciamento de API.
Declaração de política
<invoke-dapr-binding name="bind-name" operation="op-name" ignore-error="false | true" response-variable-name="resp-var-name" timeout="in seconds" template="Liquid" content-type="application/json">
<metadata>
<item key="item-name"><!-- item-value --></item>
</metadata>
<data>
<!-- message content -->
</data>
</invoke-dapr-binding>
Atributos
Atributo | Description | Necessário | Predefinição |
---|---|---|---|
nome | Nome da vinculação de destino. Deve corresponder ao nome das ligações definidas em Dapr. São permitidas expressões de política. | Sim | N/A |
operation | Nome da operação de destino (específico da ligação). Mapeia para a propriedade da operação em Dapr. Expressões de política não são permitidas. | Não | Nenhuma |
ignorar-erro | Se definido como true instrui a política a não acionar a seção "on-error" ao receber o erro do tempo de execução do Dapr. Expressões de política não são permitidas. |
Não | false |
nome-variável-resposta | Nome da entrada de coleção Variables a ser usada para armazenar a resposta do tempo de execução do Dapr. Expressões de política não são permitidas. | Não | Nenhuma |
tempo limite | Tempo (em segundos) para aguardar a resposta do tempo de execução do Dapr. Pode variar de 1 a 240 segundos. São permitidas expressões de política. | Não | 5 |
aninhado | Mecanismo de criação de modelos a ser usado para transformar o conteúdo da mensagem. "Líquido" é o único valor suportado. | Não | Nenhuma |
tipo de conteúdo | Tipo de conteúdo da mensagem. "application/json" é o único valor suportado. | Não | Nenhuma |
Elementos
Elemento | Description | Obrigatório |
---|---|---|
do IdP | Vinculação de metadados específicos na forma de pares chave/valor. Mapeia para a propriedade de metadados no Dapr. | Não |
dados | Conteúdo da mensagem. Mapeia para a propriedade data no Dapr. São permitidas expressões de política. | Não |
Utilização
- Secções de política: entrada, saída, em caso de erro
- Escopos da política: global, produto, API, operação
- Gateways: auto-hospedados
Notas de utilização
O suporte a Dapr deve ser habilitado no gateway auto-hospedado.
Exemplo
O exemplo a seguir demonstra o acionamento da ligação de saída chamada "external-systems" com a operação chamada "create", metadados que consistem em dois itens de chave/valor chamados "source" e "client-ip" e o corpo proveniente da solicitação original. A resposta recebida do tempo de execução do Dapr é capturada na entrada "bind-response" da coleção Variables no objeto context.
Se o tempo de execução do Dapr falhar por algum motivo e responder com um erro, a seção "on-error" será acionada e a resposta recebida do tempo de execução do Dapr será retornada ao chamador literalmente. Caso contrário, a resposta padrão 200 OK
será retornada.
A seção "back-end" está vazia e a solicitação não é encaminhada para o back-end.
<policies>
<inbound>
<base />
<invoke-dapr-binding
name="external-system"
operation="create"
response-variable-name="bind-response">
<metadata>
<item key="source">api-management</item>
<item key="client-ip">@(context.Request.IpAddress )</item>
</metadata>
<data>
@(context.Request.Body.As<string>() )
</data>
</invoke-dapr-binding>
</inbound>
<backend>
</backend>
<outbound>
<base />
</outbound>
<on-error>
<base />
<return-response response-variable-name="bind-response" />
</on-error>
</policies>
Políticas relacionadas
Conteúdos relacionados
Para obter mais informações sobre como trabalhar com políticas, consulte:
- Tutorial: Transforme e proteja sua API
- Referência de política para uma lista completa de declarações de política e suas configurações
- Expressões de política
- Definir ou editar políticas
- Reutilizar configurações de política
- Recompra de trechos de política
- Kit de ferramentas de política de Gerenciamento de API do Azure
- Criar políticas usando o Microsoft Copilot no Azure