ربط إخراج المشغل

ينطبق على: المطور | بريميوم

يوجه النهج invoke-dapr-binding بوابة إدارة واجهة برمجة التطبيقات لتشغيل ربط Dapr صادر. ينجز النهج ذلك عن طريق إجراء طلب HTTP POST لاستبدال http://localhost:3500/v1.0/bindings/{{bind-name}}, معلمة القالب وإضافة المحتوى المحدد في بيان النهج.

يفترض النهج أن وقت تشغيل Dapr يعمل في حاوية جانبية في نفس الجراب مثل البوابة. وقت تشغيل Dapr مسؤول عن استدعاء المورد الخارجي الذي يمثله الربط. تعرف على المزيد حول تكامل Dapr مع APIM.

إشعار

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

نهج السياسة

<invoke-dapr-binding name="bind-name" operation="op-name" ignore-error="false | true" response-variable-name="resp-var-name" timeout="in seconds" template="Liquid" content-type="application/json">
    <metadata>
        <item key="item-name"><!-- item-value --></item>
    </metadata>
    <data>
        <!-- message content -->
    </data>
</invoke-dapr-binding>

سمات

السمة ‏‏الوصف مطلوبة افتراضي
الاسم اسم الربط الهدف. ينبغي أن يتطابق مع اسم الروابط المحددة في Dapr. يتم السماح بتعبيرات النهج. ‏‏نعم‬ غير متوفر
‏‏التشغيل اسم العملية الهدف (ربط محدد). يعين إلى خاصية operation في Dapr. تعبيرات النهج غير مسموح بها. لا بلا
تجاهل الخطأ إذا تم تعيين إلى true يرشد النهج إلى عدم تشغيل قسم "عند الخطأ" عند تلقي خطأ من وقت تشغيل Dapr. تعبيرات النهج غير مسموح بها. لا false
اسم متغير الاستجابة اسم إدخال مجموعة المتغيرات لاستخدامه لتخزين الاستجابة من وقت تشغيل Dapr. تعبيرات النهج غير مسموح بها. لا بلا
المهلة الوقت (بالثواني) لانتظار وقت تشغيل Dapr للاستجابة. يمكن أن يتراوح من 1 إلى 240 ثانية. يتم السماح بتعبيرات النهج. لا 5
القالب محرك القولبة لاستخدامه في تحويل محتوى الرسالة. "Liquid" هو القيمة الوحيدة المدعومة. لا بلا
content-type نوع محتوى الرسالة. "application/json" هي القيمة الوحيدة المدعومة. لا بلا

عناصر

العنصر الوصف مطلوب
بيانات التعريف بيانات التعريف الخاصة بالربط في شكل أزواج مفتاح/ قيمة. يعين إلى خاصية metadata في Dapr. لا
البيانات محتوى الرسالة. يعين إلى خاصية data في Dapr. يتم السماح بتعبيرات النهج. لا

الاستخدام

ملاحظات الاستخدام

يجب تمكين دعم Dapr في البوابة المستضافة ذاتيا.

مثال

يوضح المثال التالي تشغيل الربط الصادر المسمى "external-systems" مع عملية تسمى "create"، وبيانات التعريف التي تتكون من عنصري مفتاح/قيمة باسم "المصدر" و"client-ip"، والنص الأساسي الوارد من الطلب الأصلي. يتم تسجيل الاستجابة المتلقاة من وقت تشغيل Dapr في إدخال "bind-response" لمجموعة «المتغيرات» في عنصر السياق.

إذا فشل وقت تشغيل Dapr لسبب ما واستجاب خطأ، فسيتم تشغيل قسم "on-error" ويتم إرجاع الاستجابة المتلقاة من وقت تشغيل Dapr إلى الطالب حرفياً. خلاف ذلك، يتم إرجاع الاستجابة 200 OK الافتراضية.

القسم "backend" فارغ ولا يتم إعادة توجيه الطلب إلى الخلفية.

<policies>
     <inbound>
        <base />
        <invoke-dapr-binding
                      name="external-system"
                      operation="create"
                      response-variable-name="bind-response">
            <metadata>
                <item key="source">api-management</item>
                <item key="client-ip">@(context.Request.IpAddress )</item>
            </metadata>
            <data>
                @(context.Request.Body.As<string>() )
            </data>
        </invoke-dapr-binding>
    </inbound>
    <backend>
    </backend>
    <outbound>
        <base />
    </outbound>
    <on-error>
        <base />
        <return-response response-variable-name="bind-response" />
    </on-error>
</policies>

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