Publier un événement dans un abonnement GraphQL
S’APPLIQUE À : tous les niveaux de Gestion des API
La stratégie publish-event
publie un événement dans un ou plusieurs abonnements spécifiés dans un schéma de l’API GraphQL. Configurez la stratégie dans un résolveur GraphQL relatif à un champ connexe dans le schéma pour un autre type d’opération à l’instar d’une mutation. À l’exécution, l’événement est publié pour les clients GraphQL connectés. En savoir plus sur les API GraphQL dans Gestion des API.
Notes
Définissez les éléments enfants et de stratégie dans l’ordre fourni dans l’instruction de stratégie. En savoir plus sur comment définir ou modifier des stratégies du service Gestion des API.
Instruction de la stratégie
<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>
Éléments
Nom | Description | Obligatoire |
---|---|---|
cibles | Un ou plusieurs abonnements du schéma GraphQL, spécifiés dans les sous-éléments target , sur lesquels l’événement est publié. |
Oui |
Usage
- Sections stratégie :
http-response
élément dans le résolveurhttp-data-source
- Étendues de la stratégie : Résolveur GraphQL uniquement
- Passerelles : classiques, v2, de consommation
Notes d’utilisation
- Cette stratégie n’est appelée que lorsqu’une requête ou une mutation GraphQL liée est exécutée.
Exemple
L’exemple de définition de stratégie suivant est configuré dans un résolveur pour la mutation createUser
. Il publie un événement dans l’abonnement onUserCreated
.
Exemple de schéma
type User {
id: Int!
name: String!
}
type Mutation {
createUser(id: Int!, name: String!): User
}
type Subscription {
onUserCreated: User!
}
Exemple de stratégie
<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>
Stratégies connexes
Contenu connexe
Pour plus d’informations sur l’utilisation des stratégies, consultez :
- Tutoriel : Transformer et protéger votre API
- Référence de stratégie pour obtenir la liste complète des instructions et des paramètres de stratégie
- Expressions de stratégie
- Définir ou modifier des stratégies
- Réutilisation de configurations de stratégie
- Référentiel d’extrait de stratégie
- Kit de ressources des stratégies Gestion des API Azure
- Créer des stratégies à l’aide de Microsoft Copilot dans Azure