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" />
  <authentication-managed-identity resource="ResourceID"/>
</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
zaman aşımı 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 Zorunlu
URL ayarla İ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.
başlık-ayarla İstekte bir üst bilgi ayarlar. Birden çok set-header istek üst bilgisi için birden çok öğe kullanın. Hayır
gövdeyi ayarla İsteğin gövdesini ayarlar. Hayır
kimlik doğrulama sertifikası için kullanılacak sertifika. Hayır
authentication-managed-identity Öznitelikte resource. Hayır
ara sunucu İsteği HTTP ara sunucusu aracılığıyla yönlendirir. Hayır

Kullanım

Kullanım notları

  • Şirket içinde barındırılan ağ geçidinde giden bölümde birden çok send-one-way-request ilke kullanılması desteklenmez.

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