Veröffentlichen des Ereignisses im GraphQL-Abonnement
GILT FÜR: Alle API Management-Ebenen
Die publish-event
-Richtlinie veröffentlicht ein Ereignis für ein oder mehrere Abonnements, die in einem GraphQL-API-Schema angegeben sind. Konfigurieren Sie die Richtlinie mit einem GraphQL-Resolver für ein verknüpftes Feld im Schema für einen anderen Vorgangstyp, z. B. eine Mutation. Zur Laufzeit wird das Ereignis auf verbundenen GraphQL-Clients veröffentlicht. Weitere Informationen zu GraphQL-APIs finden Sie in API Management.
Hinweis
Legen Sie die Elemente und untergeordneten Elemente einer Richtlinie in der Reihenfolge fest, die in der Richtlinienanweisung angegeben ist. Erfahren Sie mehr darüber, wie Sie API Management-Richtlinien festlegen oder bearbeiten.
Richtlinienanweisung
<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>
Elemente
Name | BESCHREIBUNG | Erforderlich |
---|---|---|
Ziele | Mindestens ein Abonnement im GraphQL-Schema, das in target Unterelementen angegeben ist, in denen das Ereignis veröffentlicht wird. |
Ja |
Verwendung
- Richtlinienabschnitte:
http-response
-Element imhttp-data-source
-Resolver - Richtlinienbereiche: GraphQL-Resolver
- Gateways: klassisch, v2, Verbrauch
Hinweise zur Verwendung
- Diese Richtlinie wird nur aufgerufen, wenn eine zugehörige GraphQL-Abfrage oder Mutation ausgeführt wird.
Beispiel
Die folgende Beispielrichtliniendefinition ist in einem Resolver für die createUser
-Mutation konfiguriert. Es veröffentlicht ein Ereignis im onUserCreated
-Abonnement.
Beispielschema
type User {
id: Int!
name: String!
}
type Mutation {
createUser(id: Int!, name: String!): User
}
type Subscription {
onUserCreated: User!
}
Beispielrichtlinie
<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>
Verwandte Richtlinien
Zugehöriger Inhalt
Weitere Informationen zum Arbeiten mit Richtlinien finden Sie hier:
- Tutorial: Transformieren und Schützen Ihrer API
- Unter Richtlinien für die API-Verwaltung finden Sie eine komplette Liste der Richtlinienanweisungen und der zugehörigen Einstellungen.
- Richtlinienausdrücke
- Festlegen oder Bearbeiten von Richtlinien
- Wiederverwenden von Richtlinienkonfigurationen
- Repository für Richtliniencodeausschnitte
- Erstellen von Richtlinien mit Microsoft Copilot in Azure