Tek yönlü istek gönderme

UYGULANANLAR: Tüm API Management katmanları

İlke, send-one-way-request sağlanan isteği yanıt beklemeden belirtilen URL'ye gönderir.

Not

İlkenin öğelerini ve alt öğelerini ilke bildiriminde sağlanan sırayla ayarlayın. API Management ilkelerini ayarlama veya düzenleme hakkında daha fazla bilgi edinin.

İlke bildirimi

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

Özellikler

Öznitelik Açıklama Zorunlu Varsayılan
mod Bunun bir new istek mi yoksa geçerli istekteki üst bilgi ve gövdelerden biri copy mi olduğunu belirler. Giden ilkesi bölümünde, mode=copy istek gövdesini başlatmaz. İlke ifadelerine izin verilir. Hayır new
timeout URL çağrısı başarısız olmadan önce saniye cinsinden zaman aşımı aralığı. İlke ifadelerine izin verilir. Hayır 60

Öğeler

Öğe Açıklama Gerekli
set-url İsteğin URL'si. İlke ifadelerine izin verilir. Hayır, değilse mode=copyevet.
set-method İsteğin yöntemini ayarlar. İlke ifadelerine izin verilmez. Hayır, değilse mode=copyevet.
set-header İstekte bir üst bilgi ayarlar. Birden çok set-header istek üst bilgisi için birden çok öğe kullanın. Hayır
set-body İsteğin gövdesini ayarlar. Hayır
kimlik doğrulama sertifikası Bir öznitelikte thumbprint belirtilen istemci kimlik doğrulaması için kullanılacak sertifika. Hayır
Proxy İsteği HTTP ara sunucusu aracılığıyla yönlendirir. Hayır

Kullanım

Örnek

Bu örnekte, HTTP yanıt kodu 500'den büyük veya buna eşitse Slack sohbet odasına ileti göndermek için ilke kullanılır send-one-way-request . Bu örnek hakkında daha fazla bilgi için bkz . Azure API Management hizmetinden dış hizmetleri kullanma.

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

İlkelerle çalışma hakkında daha fazla bilgi için bkz: