Skicka en enkelriktad begäran

GÄLLER FÖR: Alla API Management-nivåer

Principen send-one-way-request skickar den angivna begäran till den angivna URL:en utan att vänta på ett svar.

Kommentar

Ange principens element och underordnade element i den ordning som anges i principbeskrivningen. Läs mer om hur du anger eller redigerar API Management-principer.

Principuttryck

<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>

Attribut

Attribut beskrivning Obligatoriskt Standardvärde
läge Avgör om det här är en new begäran eller en copy av rubrikerna och brödtexten i den aktuella begäran. I avsnittet mode=copy utgående princip initierar inte begärandetexten. Principuttryck tillåts. Nej new
timeout Tidsgränsintervallet i sekunder innan anropet till URL:en misslyckas. Principuttryck tillåts. Nej 60

Element

Element Description Obligatoriskt
set-url URL:en för begäran. Principuttryck tillåts. Nej om mode=copy; annars ja.
set-method Anger metoden för begäran. Principuttryck tillåts inte. Nej om mode=copy; annars ja.
set-header Anger ett huvud i begäran. Använd flera set-header element för flera begärandehuvuden. Nej
set-body Anger brödtexten för begäran. Nej
authentication-certificate Certifikat som ska användas för klientautentisering, som anges i ett thumbprint attribut. Nej
Proxy Routningsbegäran via HTTP-proxy. Nej

Användning

Exempel

I det send-one-way-request här exemplet används principen för att skicka ett meddelande till ett Slack-chattrum om HTTP-svarskoden är större än eller lika med 500. Mer information om det här exemplet finns i Använda externa tjänster från Azure API Management-tjänsten.

<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>

Mer information om hur du arbetar med principer finns i: