Sdílet prostřednictvím


Odeslání žádosti o jeden způsob

PLATÍ PRO: Všechny úrovně služby API Management

Zásada send-one-way-request odešle zadaný požadavek na zadanou adresu URL bez čekání na odpověď.

Poznámka:

Nastavte prvky zásad a podřízené prvky v pořadí uvedeném v prohlášení o zásadách. Přečtěte si další informace o tom, jak nastavit nebo upravit zásady služby API Management.

Prohlášení o zásadách

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

Atributy

Atribut Popis Požaduje se Výchozí
režim Určuje, jestli se jedná o new požadavek, nebo copy hlavičku a text v aktuálním požadavku. V části mode=copy odchozí zásady neicializuje text požadavku. Výrazy zásad jsou povolené. No new
timeout Interval časového limitu v sekundách před selháním volání adresy URL. Výrazy zásad jsou povolené. No 60

Elementy

Element (Prvek) Popis Povinní účastníci
set-url Adresa URL požadavku. Výrazy zásad jsou povolené. Ne, jinak mode=copyano.
set-method Nastaví metodu požadavku. Výrazy zásad nejsou povolené. Ne, jinak mode=copyano.
set-header Nastaví hlavičku v požadavku. Pro více hlaviček požadavků použijte více set-header prvků. No
set-body Nastaví text požadavku. No
authentication-certificate Certifikát, který se má použít pro ověřování klienta, zadaný v atributu thumbprint . No
plná moc Směruje požadavek prostřednictvím proxy serveru HTTP. No

Využití

  • Oddíly zásad: příchozí, odchozí, back-end, on-error
  • Obory zásad: globální, pracovní prostor, produkt, rozhraní API, operace
  • Brány: Classic, v2, consumption, self-hosted

Příklad

Tento příklad používá zásadu send-one-way-request k odeslání zprávy do chatovací místnosti Slack, pokud je kód odpovědi HTTP větší nebo roven 500. Další informace o této ukázce najdete v tématu Použití externích služeb ze služby Azure API Management.

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

Další informace o práci se zásadami najdete v tématech: