Partager via


Envoyer une demande unidirectionnel

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" />
  <authentication-managed-identity resource="ResourceID"/>
</send-one-way-request>

Attributs

Attribut Descriptif Obligatoire Par défaut
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 soixante

Éléments

Élément Descriptif Obligatoire
définir l'URL URL de la demande. Les expressions de stratégie sont autorisées. Non si mode=copy. Dans le cas contraire Oui.
méthode de définition 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
certificat d'authentification Certificat à utiliser pour l’authentification du client, spécifié dans un attribut thumbprint. Non
authentication-managed-identity Authentifier avec une identité gérée vers la ressource spécifiée dans l’attribut resource . Non
procuration Demande d’itinéraires via un proxy HTTP. Non

Utilisation

Notes d’utilisation

  • L’utilisation de plusieurs send-one-way-request stratégies dans la section sortante n’est pas prise en charge dans la passerelle auto-hébergée.

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 :