إرسال طلب في اتجاه واحد

ينطبق على: جميع مستويات إدارة واجهة برمجة التطبيقات

يرسل نهج send-one-way-request طلب إلى محدد موقع المعلومات (URL) المحدد دون انتظار استجابة.

إشعار

تعيين عناصر النهج والعناصر التابعة بالترتيب الوارد في بيان النهج. تعلم كيفية إعداد نُهج APIM أو تعديلها.

نهج السياسة

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

سمات

السمة ‏‏الوصف مطلوبة افتراضي
الوضع تحديد ما إذا كان هذا new طلبا أو أحد copy العناوين والنص الأساسي في الطلب الحالي. في قسم النهج الصادر، mode=copy لا يقوم بتهيئة نص الطلب. يتم السماح بتعبيرات النهج. لا new
المهلة الفاصل الزمني المهلة بالثواني قبل فشل الاستدعاء إلى عنوان URL. يتم السماح بتعبيرات النهج. لا 60

عناصر

العنصر الوصف مطلوب
set-url عنوان URL للطلب. يتم السماح بتعبيرات النهج. لا إذا كان mode=copy؛ وإلا نعم.
أسلوب التعيين تعيين أسلوب الطلب. تعبيرات النهج غير مسموح بها. لا إذا كان mode=copy؛ وإلا نعم.
تعيين العنوان تعيين رأس في الطلب. استخدم عناصر متعددة set-header لرؤوس طلبات متعددة. لا
تعيين النص الأساسي تعيين نص الطلب. لا
شهادة المصادقة الشهادة المراد استخدامها لمصادقة العميل، المحددة في سمة thumbprint . لا
الوكيل طلب التوجيه عبر وكيل HTTP. لا

الاستخدام

  • أقسام النهج: واردة وصادرة وخلفية وعند الخطأ
  • نطاقات النهج: العمومية، ومساحة العمل، والمنتج، وواجهة برمجة التطبيقات، والتشغيل
  • البوابات: الكلاسيكية، الإصدار 2، الاستهلاك، المستضافة ذاتيا

مثال

يستخدم هذا المثال النهج send-one-way-request لإرسال رسالة إلى غرفة محادثة Slack إذا كان رمز استجابة HTTP أكبر من أو يساوي 500. لمزيد من المعلومات حول هذا النموذج، راجع استخدام الخدمات الخارجية من خدمة 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>

لمزيد من المعلومات حول العمل مع النُهج، راجع: