Teilen über


Unidirektionale Anforderung senden

GILT FÜR: Alle API Management-Ebenen

Die send-one-way-request-Richtlinie sendet die bereitgestellte Anforderung an die angegebene URL, ohne auf eine Antwort zu warten.

Hinweis

Legen Sie die Elemente und untergeordneten Elemente einer Richtlinie in der Reihenfolge fest, die in der Richtlinienanweisung angegeben ist. Erfahren Sie mehr darüber, wie Sie API Management-Richtlinien festlegen oder bearbeiten.

Richtlinienanweisung

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

Attribute

Attribut BESCHREIBUNG Erforderlich Standard
Modus Bestimmt, ob es sich um eine new-Anforderung oder eine copy von Header und Text in der aktuellen Anforderung handelt. Im Abschnitt für ausgehende Richtlinien initialisiert mode=copy den Anforderungstext nicht. Richtlinienausdrücke sind zulässig. Nein new
Zeitüberschreitung Das Zeitüberschreitungsintervall in Sekunden, bis für den Aufruf der URL ein Fehler auftritt. Richtlinienausdrücke sind zulässig. Nein 60

Elemente

Element BESCHREIBUNG Erforderlich
URL festlegen Die URL der Anforderung. Richtlinienausdrücke sind zulässig. Nein, wenn mode=copy, andernfalls ja.
Setzmethode Legt die Methode der Anforderung fest. Richtlinienausdrücke sind nicht zulässig. Nein, wenn mode=copy, andernfalls ja.
Kopfzeile festlegen Legt einen Header in der Anforderung fest. Verwenden Sie mehrere set-header-Elemente für mehrere Anforderungsheader. Nein
Set-Body Legt den Text der Anforderung fest. Nein
Authentifizierungszertifikat Zertifikat für die Clientauthentifizierung, angegeben in einem thumbprint-Attribut. Nein
authentication-managed-identity Authentifiziere dich mit verwalteter Identität auf die im resource Attribut angegebene Ressource. Nein
Stellvertreter Leitet Anforderungen über den HTTP-Proxy weiter. Nein

Verwendung

Verwendungshinweise

  • Die Verwendung mehrerer send-one-way-request Richtlinien im ausgehenden Abschnitt wird im selbst gehosteten Gateway nicht unterstützt.

Beispiel

Dieses Beispiel verwendet die send-one-way-request-Richtlinie zum Senden einer Nachricht an einen Slack-Chatraum, wenn der HTTP-Antwortcode größer als oder gleich 500 ist. Weitere Informationen zu diesem Beispiel finden Sie unter Verwenden externer Dienste über den Azure API Management-Dienst.

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

Weitere Informationen zum Arbeiten mit Richtlinien finden Sie hier: