Send one way request

S’APPLIQUE À : Tous les niveaux de Gestion des API

La stratégie send-one-way-request envoie une demande à l’URL indiquée sans attendre de réponse.

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

<send-one-way-request mode="new | copy" timeout="time in seconds">
  <set-url>request URL</set-url>
  <set-method>...</set-method>
  <set-header>...</set-header>
  <set-body>...</set-body>
  <authentication-certificate thumbprint="thumbprint" />
</send-one-way-request>

Attributs

Attribut Description Obligatoire Default
mode Détermine s’il s’agit d’une requête new ou d’une copy des en-têtes et du corps dans la requête actuelle. Dans la section stratégie outbound, mode=copy n’initialise pas le corps de la demande. Les expressions de stratégie sont autorisées. Non new
délai d'expiration Délai d’expiration en secondes avant l’échec de l’appel à l’URL. Les expressions de stratégie sont autorisées. Non 60

Éléments

Élément Description Obligatoire
set-url URL de la demande. Les expressions de stratégie sont autorisées. Non si mode=copy. Dans le cas contraire Oui.
set-method Définit la méthode de la requête. Les expressions de stratégie ne sont pas autorisées. Non si mode=copy. Dans le cas contraire Oui.
set-header Définit un en-tête dans la requête. Utilisez plusieurs éléments set-header pour plusieurs en-tête de requête. Non
set-body Définit le corps de la requête. Non
authentication-certificate Certificat à utiliser pour l’authentification du client, spécifié dans un attribut thumbprint. Non
proxy Demande d’itinéraires via un proxy HTTP. Non

Usage

Exemple

Cet exemple utilise la stratégie send-one-way-request pour envoyer un message à une salle de conversation Slack si le code de la réponse HTTP est supérieur ou égal à 500. Pour plus d’informations sur cet exemple, consultez la page Utilisation de services externes à partir du service Gestion des API Azure.

<choose>
    <when condition="@(context.Response.StatusCode >= 500)">
      <send-one-way-request mode="new" timeout="20">
        <set-url>https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX</set-url>
        <set-method>POST</set-method>
        <set-body>@{
                return new JObject(
                        new JProperty("username","APIM Alert"),
                        new JProperty("icon_emoji", ":ghost:"),
                        new JProperty("text", String.Format("{0} {1}\nHost: {2}\n{3} {4}\n User: {5}",
                                                context.Request.Method,
                                                context.Request.Url.Path + context.Request.Url.QueryString,
                                                context.Request.Url.Host,
                                                context.Response.StatusCode,
                                                context.Response.StatusReason,
                                                context.User.Email
                                                ))
                        ).ToString();
            }</set-body>
      </send-one-way-request>
    </when>
</choose>

Pour plus d’informations sur l’utilisation des stratégies, consultez :