مشاركة عبر


تلقي مكالمات HTTPS الواردة والاستجابة لها إلى مهام سير العمل في Azure Logic Apps

ينطبق على: Azure Logic Apps (الاستهلاك + قياسي)

يوضح دليل الكيفية هذا إنشاء سير عمل تطبيق منطقي يمكنه تلقي طلب HTTPS وارد أو استدعاء من خدمة أخرى ومعالجته باستخدام مشغل الطلب المضمن. عندما يستخدم سير العمل هذا المشغل، يمكنك الاستجابة لطلب HTTPS باستخدام الإجراء المضمن الاستجابة.

إشعار

يعمل إجراء الاستجابة فقط عند استخدام مشغل الطلب .

على سبيل المثال، تصف هذه القائمة بعض المهام التي يمكن لسير العمل تنفيذها عند استخدام مشغل الطلب وإجراء الاستجابة:

  • تلقي طلب HTTPS للبيانات والاستجابة له في قاعدة بيانات محلية.

  • تلقي طلب HTTPS المرسل من سير عمل تطبيق منطقي آخر والاستجابة له.

  • تشغيل سير عمل عند حدوث حدث إخطار على الويب خارجي.

لتشغيل سير العمل عن طريق إرسال طلب صادر أو صادر بدلا من ذلك، استخدم مشغل HTTP المضمن أو إجراء HTTP المضمن.

المتطلبات الأساسية

  • حساب واشتراك Azure. إذا لم يكن لديك اشتراك، يمكنك التسجيل للحصول على حساب Azure مجاني.

  • سير عمل التطبيق المنطقي حيث تريد تلقي طلب HTTPS الوارد. لبدء سير العمل باستخدام مشغل طلب ، يجب أن تبدأ بسير عمل فارغ. لاستخدام إجراء الاستجابة، يجب أن يبدأ سير العمل بمشغل الطلب .

  • تثبيت أو استخدام أداة يمكنها إرسال طلبات HTTP لاختبار الحل الخاص بك، على سبيل المثال:

    تنبيه

    بالنسبة للسيناريوهات التي يكون لديك فيها بيانات حساسة، مثل بيانات الاعتماد والأسرار ورمز الوصول المميزة ومفاتيح واجهة برمجة التطبيقات ومعلومات أخرى مشابهة، تأكد من استخدام أداة تحمي بياناتك باستخدام ميزات الأمان الضرورية، وتعمل دون اتصال أو محليا، ولا تقوم بمزامنة بياناتك مع السحابة، ولا تتطلب تسجيل الدخول إلى حساب عبر الإنترنت. وبهذه الطريقة، يمكنك تقليل المخاطر المتعلقة بكشف البيانات الحساسة للجمهور.

إضافة مشغل طلب

ينشئ مشغل الطلب نقطة نهاية قابلة للاستدعاء يدويا تعالج الطلبات الواردة فقط عبر HTTPS. عندما يرسل المتصل طلبا إلى نقطة النهاية هذه، يتم تشغيل مشغل الطلب وتشغيل سير العمل. للحصول على معلومات حول كيفية استدعاء هذا المشغل، راجع عمليات سير العمل المكالمات أو المشغلات أو التداخل مع نقاط نهاية HTTPS في Azure Logic Apps.

  1. في مدخل Microsoft Azure، افتح تطبيق منطق الاستهلاك وسير العمل الفارغ في المصمم.

  2. على المصمم، اتبع هذه الخطوات العامة للبحث عن المشغل المضمن للطلب وإضافته المسمى عند تلقي طلب HTTP.

  3. بعد ظهور مربع معلومات المشغل، قم بتوفير المعلومات التالية كما هو مطلوب:

    اسم الخاصية اسم خاصية JSON المطلوب ‏‏الوصف
    HTTP POST URL {none} ‏‏نعم‬ عنوان URL لنقطة النهاية الذي تم إنشاؤه بعد حفظ سير العمل الخاص بك ويستخدم لإرسال طلب يؤدي إلى تشغيل سير العمل الخاص بك.
    طلب مخطط JSON الأساسي schema لا مخطط JSON الذي يصف الخصائص والقيم في نص الطلب الوارد. يستخدم المصمم هذا المخطط لإنشاء رموز مميزة للخصائص في الطلب. وبهذه الطريقة، يمكن لسير العمل تحليل المخرجات واستهلاكها وتمريرها من مشغل الطلب إلى سير العمل الخاص بك.

    إذا لم يكن لديك مخطط JSON، يمكنك إنشاء المخطط من حمولة عينة باستخدام استخدام حمولة العينة لإنشاء إمكانية المخطط .

    يوضح المثال التالي نموذج مخطط JSON:

    لقطة شاشة تعرض سير عمل الاستهلاك ومشغل الطلب مع مثال مخطط JSON.

    يوضح المثال التالي نموذج مخطط JSON الكامل:

    {
       "type": "object",
       "properties": {
          "account": {
             "type": "object",
             "properties": {
                "name": {
                   "type": "string"
                },
                "ID": {
                   "type": "string"
                },
                "address": {
                   "type": "object",
                   "properties": {
                      "number": {
                         "type": "string"
                      },
                      "street": {
                         "type": "string"
                      },
                      "city": {
                         "type": "string"
                      },
                      "state": {
                         "type": "string"
                      },
                      "country": {
                         "type": "string"
                      },
                      "postalCode": {
                         "type": "string"
                      }
                   }
                }
             }
          }
       }
    }
    

    عند إدخال مخطط JSON، يعرض المصمم تذكيرا لتضمين عنوان نوع المحتوى في طلبك وتعيين قيمة العنوان هذه إلى application/json. لمزيد من المعلومات، راجع معالجة أنواع المحتويات.

    لقطة شاشة تعرض سير عمل الاستهلاك ومشغل الطلب والتذكير لتضمين عنوان

    يوضح المثال التالي كيفية ظهور رأس نوع المحتوى بتنسيق JSON:

    {
       "Content-Type": "application/json"
    }
    

    لإنشاء مخطط JSON يستند إلى الحمولة المتوقعة (البيانات)، يمكنك استخدام أداة مثل JSONSchema.net، أو يمكنك اتباع الخطوات التالية:

    1. في مشغّل Request، حدد "Use sample payload to generate schema".

      لقطة شاشة تعرض سير عمل الاستهلاك ومشغل الطلب و

    2. أدخل حمولة العينة، وحدد تم.

      لقطة شاشة تعرض سير عمل الاستهلاك ومشغل الطلب وعينة البيانات الأساسية التي تم إدخالها لإنشاء مخطط.

      يوضح المثال التالي حمولة العينة:

      {
         "account": {
            "name": "Contoso",
            "ID": "12345",
            "address": {
               "number": "1234",
               "street": "Anywhere Street",
               "city": "AnyTown",
               "state": "AnyState",
               "country": "USA",
               "postalCode": "11111"
            }
         }
      }
      
  4. للتحقق من أن الاستدعاء الوارد يحتوي على نص طلب يطابق المخطط المحدد، اتبع الخطوات التالية:

    1. لفرض الرسالة الواردة للحصول على نفس الحقول الدقيقة التي يصفها المخطط، في المخطط، أضف الخاصية required وحدد الحقول المطلوبة. أضف الخاصية additionalProperties ، واضبط القيمة على false.

      على سبيل المثال، يحدد المخطط التالي أن الرسالة الواردة يجب أن تحتوي على msg الحقل وليس أي حقول أخرى:

      {
         "properties": {
           "msg": {
              "type": "string"
           }
         },
         "type": "object",
         "required": ["msg"],
         "additionalProperties": false
      }
      
    2. في شريط عنوان مشغل الطلب ، حدد زر علامات الحذف (...).

    3. في إعدادات المشغل، قم بتشغيل التحقق من صحة المخطط، وحدد تم.

      إذا لم يتطابق نص طلب المكالمة الواردة مع المخطط الخاص بك، يقوم المشغل بإرجاع خطأ طلب غير صحيح HTTP 400.

  5. لإضافة خصائص أو معلمات أخرى إلى المشغل، افتح قائمة إضافة معلمات جديدة، وحدد المعلمات التي تريد إضافتها.

    اسم الخاصية اسم خاصية JSON المطلوب ‏‏الوصف
    الطريقة method لا الأسلوب الذي يجب أن يستخدمه الطلب الوارد لاستدعاء تطبيق المنطق
    المسار النسبي relativePath لا المسار النسبي للمعلمة التي يمكن أن يقبلها عنوان URL لنقطة نهاية التطبيق المنطقي

    يضيف المثال التالي خاصية Method :

    لقطة شاشة تعرض سير عمل الاستهلاك ومشغل الطلب وإضافة معلمة

    تظهر الخاصية Method في المشغل بحيث يمكنك تحديد أسلوب من القائمة.

    لقطة شاشة تعرض سير عمل الاستهلاك ومشغل الطلب وقائمة

  6. عندما تكون مستعدا، احفظ سير العمل. في شريط أدوات المصمم، حدد "Save".

    تنشئ هذه الخطوة عنوان URL الذي يمكنك استخدامه لإرسال طلب يؤدي إلى تشغيل سير العمل.

  7. لنسخ عنوان URL الذي تم إنشاؤه، حدد رمز النسخ بجوار عنوان URL.

    لقطة شاشة تعرض سير عمل الاستهلاك ومشغل الطلب وزر نسخ عنوان URL المحدد.

    إشعار

    إذا كنت تريد تضمين رمز التجزئة أو الجنيه (#) في URI عند إجراء استدعاء لمشغل الطلب ، فاستخدم هذا الإصدار المشفر بدلا من ذلك: %25%23

الآن، تابع إنشاء سير العمل الخاص بك عن طريق إضافة إجراء آخر كخطوة تالية. على سبيل المثال، يمكنك الاستجابة للطلب عن طريق إضافة إجراء استجابة، والذي يمكنك استخدامه لإرجاع استجابة مخصصة ويتم وصفه لاحقا في هذه المقالة.

إشعار

يحتفظ سير العمل الخاص بك بطلب وارد مفتوح لفترة محدودة فقط. بافتراض أن سير العمل يتضمن أيضا إجراء استجابة، إذا لم يرجع سير العمل استجابة إلى المتصل بعد انتهاء صلاحية هذا الوقت، يقوم سير العمل بإرجاع حالة مهلة البوابة 504 إلى المتصل. إذا لم يتضمن سير العمل إجراء استجابة، فإن سير العمل الخاص بك يقوم على الفور بإرجاع حالة 202 ACCEPTED إلى المتصل.

للحصول على معلومات حول الأمان والمصادقة والتشفير للمكالمات الواردة إلى سير العمل، مثل أمان طبقة النقل (TLS)، المعروف سابقا باسم طبقة مآخذ التوصيل الآمنة (SSL)، أو OAuth مع معرف Microsoft Entra، أو توقيعات الوصول المشترك (SAS)، أو تعريض مورد تطبيق المنطق الخاص بك باستخدام Azure API Management، أو تقييد عناوين IP التي تنشأ المكالمات الواردة، راجع الوصول الآمن والبيانات - الوصول إلى المكالمات الواردة إلى المشغلات المستندة إلى الطلب.

مخرجات المشغل

يسرد الجدول التالي المخرجات من مشغل الطلب :

اسم خاصية JSON نوع البيانات ‏‏الوصف
العناوين ‏‏الكائن كائن JSON يصف الرؤوس من الطلب
النص الأساسي ‏‏الكائن كائن JSON يصف محتوى النص الأساسي من الطلب

إضافة إجراء استجابة

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

هام

  • إذا كان إجراء الاستجابة يتضمن العناوين التالية، فإن Azure Logic Apps يزيل هذه الرؤوس تلقائيا من رسالة الاستجابة التي تم إنشاؤها دون إظهار أي تحذير أو خطأ. لن تتضمن Azure Logic Apps هذه العناوين، على الرغم من أن الخدمة لن تمنعك من حفظ مهام سير العمل التي تحتوي على إجراء استجابة مع هذه العناوين.

    • Allow
    • Content-* العناوين باستثناء Content-Dispositionو Content-Encodingو Content-Type عند استخدام عمليات POST و PUT، ولكن لا يتم تضمينها لعمليات GET
    • Cookie
    • Expires
    • Last-Modified
    • Set-Cookie
    • Transfer-Encoding
  • إذا كان لديك إجراء استجابة واحد أو أكثر في سير عمل معقد مع فروع، فتأكد من أن سير العمل يعالج إجراء استجابة واحدا على الأقل أثناء وقت التشغيل. وإلا، إذا تم تخطي كافة إجراءات الاستجابة، يتلقى المتصل خطأ 502 Bad Gateway ، حتى إذا انتهى سير العمل بنجاح.

  • في سير عمل تطبيق المنطق القياسي عديم الحالة ، يجب أن يظهر إجراء الاستجابة الأخير في سير العمل الخاص بك. إذا ظهر الإجراء في أي مكان آخر، فلن يتم تشغيل Azure Logic Apps حتى تنتهي جميع الإجراءات الأخرى من التشغيل.

  1. على مصمم سير العمل، اتبع هذه الخطوات العامة للعثور على الإجراء المضمن للاستجابة المسمى Response وإضافته.

    للتبسيط، تظهر الأمثلة التالية مشغل طلب مطوي.

  2. في مربع معلومات الإجراء، أضف القيم المطلوبة لرسالة الاستجابة.

    اسم الخاصية اسم خاصية JSON المطلوب ‏‏الوصف
    رمز الحالة statusCode ‏‏نعم‬ رمز الحالة المراد إرجاعه في الاستجابة
    رؤوس headers لا كائن JSON يصف رأسا واحدا أو أكثر لتضمينه في الاستجابة
    نص الرسالة body لا نص الاستجابة

    عند التحديد داخل أي حقول نصية، يتم فتح قائمة المحتوى الديناميكي تلقائيا. يمكنك بعد ذلك تحديد الرموز المميزة التي تمثل أي مخرجات متوفرة من الخطوات السابقة في سير العمل. تظهر أيضا الخصائص من المخطط الذي تحدده في قائمة المحتوى الديناميكي هذه. يمكنك تحديد هذه الخصائص لاستخدامها في سير العمل.

    على سبيل المثال، في حقل الرؤوس، قم بتضمينContent-Type كاسم المفتاح، وقم بتعيين قيمة المفتاح إلى application/json كما هو مذكور سابقا في هذه المقالة. بالنسبة إلى المربع Body ، يمكنك تحديد إخراج نص المشغل من قائمة المحتوى الديناميكي.

    لقطة شاشة تعرض مدخل Microsoft Azure وسير عمل الاستهلاك ومعلومات إجراء الاستجابة.

    لعرض الرؤوس بتنسيق JSON، حدد التبديل إلى طريقة عرض النص.

    لقطة شاشة تعرض مدخل Microsoft Azure وسير عمل الاستهلاك ورؤوس إجراءات الاستجابة في طريقة عرض

  3. لإضافة المزيد من الخصائص للإجراء، مثل مخطط JSON لنص الاستجابة، من قائمة إضافة معلمات جديدة، حدد المعلمات التي تريد إضافتها.

  4. عند الانتهاء، احفظ سير العمل الخاص بك. في شريط أدوات المصمم، حدد "Save".

اختبار سير العمل

لتشغيل سير العمل، أرسل طلب HTTP إلى عنوان URL الذي تم إنشاؤه لمشغل الطلب ، بما في ذلك الأسلوب الذي يتوقعه مشغل الطلب ، باستخدام أداة طلب HTTP والتعليمات الخاصة به.

لمزيد من المعلومات حول تعريف JSON الأساسي للمشغل وكيفية استدعاء هذا المشغل، راجع هذه الموضوعات، نوع مشغل الطلب والمكالمات أو المشغل أو تداخل مهام سير العمل مع نقاط نهاية HTTP في Azure Logic Apps.

الأمان والمصادقة

في سير عمل تطبيق المنطق القياسي الذي يبدأ بمشغل الطلب (ولكن ليس مشغل إخطار على الويب)، يمكنك استخدام توفير Azure Functions لمصادقة المكالمات الواردة المرسلة إلى نقطة النهاية التي تم إنشاؤها بواسطة هذا المشغل باستخدام هوية مدارة. ويعرف هذا الحكم أيضًا باسم "المصادقة السهلة". للمزيد من المعلومات، راجع تشغيل مهام سير العمل في تطبيقات المنطق القياسية باستخدام المصادقة السهلة.

لمزيد من المعلومات حول الأمان والتخويل والتشفير للمكالمات الواردة إلى سير عمل تطبيق المنطق، مثل أمان طبقة النقل (TLS)، المعروف سابقا باسم طبقة مآخذ التوصيل الآمنة (SSL)، أو مصادقة Microsoft Entra ID Open Authentication (Microsoft Entra ID OAuth)، أو تعريض تطبيق المنطق الخاص بك باستخدام Azure API Management، أو تقييد عناوين IP التي تنشأ المكالمات الواردة، راجع الوصول الآمن والبيانات - الوصول إلى المكالمات الواردة إلى المشغلات المستندة إلى الطلب.

الخطوات التالية