Liaison de sortie du déclencheur
S’APPLIQUE À : Développeur | Premium
La stratégie invoke-dapr-binding
indique à la passerelle de Gestion des API de déclencher une liaison Dapr sortante. La stratégie accomplit cela en adressant une requête HTTP POST à http://localhost:3500/v1.0/bindings/{{bind-name}},
en remplaçant le paramètre 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 est chargé d’appeler la ressource externe représentée par la liaison. 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
<invoke-dapr-binding name="bind-name" operation="op-name" ignore-error="false | true" response-variable-name="resp-var-name" timeout="in seconds" template="Liquid" content-type="application/json">
<metadata>
<item key="item-name"><!-- item-value --></item>
</metadata>
<data>
<!-- message content -->
</data>
</invoke-dapr-binding>
Attributs
Attribut | Description | Obligatoire | Default |
---|---|---|---|
name | Nom de la liaison cible. Doit correspondre au nom des liaisons définies dans Dapr. Les expressions de stratégie sont autorisées. | Oui | N/A |
operation | Nom de l’opération cible (spécifique de la liaison). Correspond à la propriété operation dans Dapr. Les expressions de stratégie ne sont pas autorisées. | Non | None |
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 |
Éléments
Élément | Description | Obligatoire |
---|---|---|
metadata | Liaison de métadonnées spécifiques sous la forme de paires clé/valeur. Correspond à la propriété metadata dans Dapr. | Non |
Données | Contenu du message. Correspond à la propriété data dans Dapr. Les expressions de stratégie sont autorisées. | Non |
Usage
- Sections de la stratégie : inbound, outbound, on-error
- É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 illustre le déclenchement d’une liaison sortante nommée « external-systems » avec le nom d’opération « create », les métadonnées étant composées de deux éléments clé/valeur nommés « source » et « client-ip », et le corps provenant de la demande d’origine. La réponse reçue du runtime Dapr est capturée dans l’entrée « bind-response » de la collection Variables dans l’objet context.
Si le runtime Dapr échoue pour une raison quelconque et répond avec une erreur, la section « on-error » est déclenchée et 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 />
<invoke-dapr-binding
name="external-system"
operation="create"
response-variable-name="bind-response">
<metadata>
<item key="source">api-management</item>
<item key="client-ip">@(context.Request.IpAddress )</item>
</metadata>
<data>
@(context.Request.Body.As<string>() )
</data>
</invoke-dapr-binding>
</inbound>
<backend>
</backend>
<outbound>
<base />
</outbound>
<on-error>
<base />
<return-response response-variable-name="bind-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