Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.
- Resolver sollte nicht für das entsprechende Abonnement definiert werden. Das Definieren einer Richtlinie für eine
publish-eventQuellabfrage oder Mutation reicht aus, um Abonnementereignisse auszulösen.
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
- Richtlinien-Playground-Repository
- Azure API Management-Richtlinientoolkit
- Anfordern von Copilot-Unterstützung zum Erstellen, Erläutern und Problembehandlung von Richtlinien