Publicar evento na assinatura do GraphQL
APLICA-SE A: todas as camadas do Gerenciamento de API
A política publish-event
publica um evento em uma ou mais assinaturas especificadas em um esquema de API do 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 runtime, o evento é publicado em clientes conectados do GraphQL. Saiba mais sobre as APIs do GraphQL no Gerenciamento de API.
Observação
Defina os elementos da política e os elementos filho na ordem fornecida na declaração da política. Saiba mais sobre como definir e editar as 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 |
---|---|---|
destinos | Uma ou mais assinaturas no esquema GraphQL, especificadas em subelementos target , nos quais o evento é publicado. |
Yes |
Uso
- Seções da política: elemento
http-response
no resolvedorhttp-data-source
- Escopos de política: somente resolvedor do GraphQL
- Gateways: clássico, v2, consumo
Observações de uso
- Essa política é invocada somente quando uma consulta ou mutação relacionada do GraphQL é executada.
Exemplo
A definição da política do exemplo a seguir está configurada em um resolvedor para a mutação createUser
. Publica um evento na assinatura onUserCreated
.
Esquema de exemplo
type User {
id: Int!
name: String!
}
type Mutation {
createUser(id: Int!, name: String!): User
}
type Subscription {
onUserCreated: User!
}
Política de exemplo
<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údo relacionado
Para obter mais informações sobre como trabalhar com políticas, consulte:
- Tutorial: Transformar e proteger sua API
- Referência de Política para uma lista completa das instruções de política e suas configurações
- Expressões de política
- Definir ou editar políticas
- Reutilizar configurações de política
- Repositório de snippets de política
- Criar políticas usando o Microsoft Copilot no Azure