Gebeurtenis publiceren naar GraphQL-abonnement
VAN TOEPASSING OP: Alle API Management-lagen
Het publish-event
beleid publiceert een gebeurtenis naar een of meer abonnementen die zijn opgegeven in een GraphQL API-schema. Configureer het beleid in een GraphQL-resolver voor een gerelateerd veld in het schema voor een ander bewerkingstype, zoals een mutatie. Tijdens runtime wordt de gebeurtenis gepubliceerd naar verbonden GraphQL-clients. Meer informatie over GraphQL-API's in API Management.
Notitie
Stel de elementen en onderliggende elementen van het beleid in de volgorde in die in de beleidsverklaring is opgegeven. Meer informatie over het instellen of bewerken van API Management-beleid.
Beleidsinstructie
<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>
Elementen
Name | Beschrijving | Vereist |
---|---|---|
Doelstellingen | Een of meer abonnementen in het GraphQL-schema, opgegeven in target subelementen, waarnaar de gebeurtenis wordt gepubliceerd. |
Ja |
Gebruik
- Beleidssecties:
http-response
element inhttp-data-source
resolver - Beleidsbereiken: alleen GraphQL-resolver
- Gateways: klassiek, v2, verbruik
Gebruiksnotities
- Dit beleid wordt alleen aangeroepen wanneer een gerelateerde GraphQL-query of mutatie wordt uitgevoerd.
Opmerking
De volgende voorbeeldbeleidsdefinitie is geconfigureerd in een resolver voor de createUser
mutatie. Er wordt een gebeurtenis naar het onUserCreated
abonnement gepubliceerd.
Voorbeeldschema
type User {
id: Int!
name: String!
}
type Mutation {
createUser(id: Int!, name: String!): User
}
type Subscription {
onUserCreated: User!
}
Voorbeeldbeleid
<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>
Gerelateerd beleid
Gerelateerde inhoud
Zie voor meer informatie over het werken met beleid:
- Zelfstudie: Uw API transformeren en beveiligen
- Beleidsreferentie voor een volledige lijst met beleidsinstructies en hun instellingen
- Beleidsexpressies
- Beleid instellen of bewerken
- Beleidsconfiguraties opnieuw gebruiken
- Beleidsfragmentenopslagplaats
- Beleid ontwerpen met Behulp van Microsoft Copilot in Azure