Envoyer un message à une rubrique Publier/S’abonner
S'APPLIQUE À : Développeur | Premium
La stratégie publish-to-dapr
indique à la passerelle de Gestion des API d’envoyer un message à une rubrique Publier/S’abonner de Dapr. La stratégie accomplit cela en adressant une requête HTTP POST à http://localhost:3500/v1.0/publish/{{pubsub-name}}/{{topic}}
en remplaçant les paramètres du modèle et en ajoutant le contenu spécifié dans la déclaration de stratégie.
La stratégie part du principe que le runtime Dapr s’exécute dans un conteneur sidecar se trouvant dans le même pod que la passerelle. Le runtime Dapr implémente la sémantique Publier/S’abonner. En savoir plus sur l’intégration de Dapr à 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
<publish-to-dapr pubsub-name="pubsub-name" topic="topic-name" ignore-error="false|true" response-variable-name="resp-var-name" timeout="in seconds" template="Liquid" content-type="application/json">
<!-- message content -->
</publish-to-dapr>
Attributs
Attribut | Description | Obligatoire | Default |
---|---|---|---|
pubsub-name | Nom du composant PubSub cible. Correspond au paramètre pubsubname dans Dapr. À défaut, la valeur de l’attribut topic doit se présenter sous la forme pubsub-name/topic-name . Les expressions de stratégie sont autorisées. |
Non | None |
topic | Nom de la rubrique. Correspond au paramètre topic dans Dapr. Les expressions de stratégie sont autorisées. | Oui | N/A |
ignore-error | Si cette valeur est définie sur true , elle indique à la stratégie de ne pas déclencher la section « on-error » lors de la réception d’une erreur du runtime Dapr Les expressions de stratégie ne sont pas autorisées. |
Non | false |
response-variable-name | Nom de l’entrée de collection Variables à utiliser pour stocker la réponse du runtime Dapr. Les expressions de stratégie ne sont pas autorisées. | Non | None |
délai d'expiration | Durée (en secondes) d’attente de la réponse du runtime Dapr. Peut être comprise entre 1 et 240 secondes. Les expressions de stratégie sont autorisées. | Non | 5 |
template | Moteur de création de modèles à utiliser pour transformer le contenu du message. « Liquid » est la seule valeur prise en charge. | Non | None |
content-type | Type de contenu du message. « application/json » est la seule valeur prise en charge. | Non | None |
Usage
- Sections de la stratégie : inbound
- Étendues de la stratégie : global, product, API, operation
- Passerelles : auto-hébergées
Notes d’utilisation
La prise en charge de Dapr doit être activée dans la passerelle auto-hébergée.
Exemple
L’exemple suivant montre comment envoyer le corps de la demande actuelle à la rubrique « new » du composant Publier/S’abonner d’« orders ». La réponse reçue du runtime Dapr est stockée dans l’entrée « dapr-response » de la collection Variables dans l’objet contexte.
Si le runtime Dapr ne peut pas localiser la rubrique cible, par exemple, et répond avec une erreur, la section « on-error » est déclenchée. La réponse reçue du runtime Dapr est renvoyée au verbatim de l’appelant. Dans le cas contraire, la réponse 200 OK
par défaut est retournée.
La section « backend » est vide et la demande n’est pas transférée au serveur principal.
<policies>
<inbound>
<base />
<publish-to-dapr
pubsub-name="orders"
topic="new"
response-variable-name="dapr-response">
@(context.Request.Body.As<string>())
</publish-to-dapr>
</inbound>
<backend>
</backend>
<outbound>
<base />
</outbound>
<on-error>
<base />
<return-response response-variable-name="pubsub-response" />
</on-error>
</policies>
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
- Créer des stratégies à l’aide de Microsoft Copilot dans Azure