Publicar evento na assinatura do GraphQL
APLICA-SE A: Todas as camadas de gerenciamento de API
A publish-event
política publica um evento para uma ou mais assinaturas especificadas em um esquema de API GraphQL. Configure a política em um resolvedor GraphQL para um campo relacionado no esquema para outro tipo de operação, como uma mutação. No tempo de execução, o evento é publicado para clientes GraphQL conectados. Saiba mais sobre as APIs do GraphQL no 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
<http-data-source>
<!-- http-data-source is an example resolver policy -->
<http-request>
[...]
</http-request>
<http-response>
[...]
<publish-event>
<targets>
<graphql-subscription id="subscription field" />
</targets>
</publish-event>
</http-response>
</http-data-source>
Elementos
Nome | Descrição | Obrigatório |
---|---|---|
Objetivos | Uma ou mais assinaturas no esquema GraphQL, especificado em target subelementos, no qual o evento é publicado. |
Sim |
Utilização
- Seções de política:
http-response
elemento nohttp-data-source
resolvedor - Escopos de política: somente resolvedor GraphQL
- Gateways: clássico, v2, consumo
Notas de utilização
- Esta política é invocada somente quando uma consulta ou mutação GraphQL relacionada é executada.
Exemplo
O exemplo de definição de política a seguir é configurado em um resolvedor para a createUser
mutação. Publica um evento para a onUserCreated
assinatura.
Esquema de exemplo
type User {
id: Int!
name: String!
}
type Mutation {
createUser(id: Int!, name: String!): User
}
type Subscription {
onUserCreated: User!
}
Exemplo de política
<http-data-source>
<http-request>
<set-method>POST</set-method>
<set-url>https://contoso.com/api/user</set-url>
<set-body template="liquid">{ "id" : {{body.arguments.id}}, "name" : "{{body.arguments.name}}"}</set-body>
</http-request>
<http-response>
<publish-event>
<targets>
<graphql-subscription id="onUserCreated" />
</targets>
</publish-event>
</http-response>
</http-data-source>
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
- Criar políticas usando o Microsoft Copilot no Azure