مشاركة عبر


إرسال الرسائل وتلقيها ومعالجتها دفعة واحدة في Azure Logic Apps

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

لإرسال الرسائل ومعالجتها معًا بطريقة معينة كمجموعات، يمكنك إنشاء حل دفعات. يجمع هذا الحل الرسائل في دفعة وينتظر حتى يتم استيفاء المعايير المحددة قبل إصدار الرسائل المجمعة ومعالجتها. يمكن أن يقلل التجميع من عدد المرات التي يعالج فيها تطبيق المنطق الرسائل.

يوضح دليل الكيفية هذا كيفية إنشاء حل دفعات عن طريق إنشاء تطبيقين منطقيين ضمن نفس اشتراك Azure، منطقة Azure، وبهذا الترتيب:

  1. تطبيق المنطق "مستقبل الدفعة"، الذي يقبل الرسائل ويجمعها في دفعة حتى يتم استيفاء المعايير المحددة لإصدار هذه الرسائل ومعالجتها. تأكد من إنشاء مستقبل الدفعة هذا أولاً بحيث يمكنك لاحقًا تحديد وجهة الدفعة عند إنشاء مرسل الدفعة.

  2. تطبيق منطق "مرسل الدفعة" واحد أو أكثر، والذي يرسل الرسائل إلى جهاز استقبال الدفعة الذي تم إنشاؤه مسبقًا.

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

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

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

القيود

  • يمكنك فقط التحقق من المحتويات في دفعة بعد الإصدار عن طريق مقارنة المحتويات التي تم إصدارها بالمصدر.

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

إنشاء جهاز استقبال دفعي

قبل أن تتمكن من إرسال رسائل إلى دفعة، يجب أن تكون تلك الدفعة موجودة أولاً كوجهة حيث تُرسل هذه الرسائل. لذلك أولا، يجب إنشاء سير عمل التطبيق المنطقي "مستقبل الدفعة"، والذي يبدأ بمشغل الدفعة. بهذه الطريقة، عند إنشاء سير عمل التطبيق المنطقي "مرسل الدفعات"، يمكنك تحديد سير عمل تطبيق منطق استقبال الدفعة. يستمر مستقبل الدفعة في جمع الرسائل حتى يتم استيفاء المعايير المحددة لتحرير ومعالجة تلك الرسائل. بينما لا يحتاج مستقبلو الدفعات إلى معرفة أي شيء عن مرسلي الدفعات، يجب أن يعرف مرسلو الدفعات الوجهة التي يرسلون منها الرسائل.

  1. في مدخل Microsoft Azure، أنشئ مورد تطبيق منطقي بسير عمل فارغ.

    ينشئ هذا المثال تطبيق منطق مستقبل الدفعة وسير العمل المسمى BatchReceiver.

  2. في مصمم سير العمل، حدد Add a trigger، واتبع هذه الخطوات العامة لإضافة مشغل Batch Operations المسمى Batch Trigger.

  3. تعيين خصائص المشغل التالية:

    الخاصية ‏‏الوصف
    طريقة
    (مهام سير عمل الاستهلاك فقط)
    - مضمن: لتعريف معايير الإصدار داخل مشغل الدفعة

    - حساب التكامل: لتعريف تكوينات معايير الإصدار المتعددة من خلال حساب تكامل. باستخدام حساب تكامل، يمكنك الحفاظ على هذه التكوينات كلها في مكان واحد بدلا من موارد تطبيق منطقي منفصلة.
    اسم الدفعة اسم الدفعة الخاصة بك. في مهام سير عمل الاستهلاك، تظهر هذه الخاصية فقط عند تعيين الوضع إلى مضمن. يستخدم هذا المثال TestBatch.
    معايير الإصدار المعايير التي يجب تلبيتها قبل معالجة كل دفعة. بشكل افتراضي، يعمل مشغل الدفعة باستخدام "الوضع المضمن" حيث تحدد معايير إصدار الدفعة داخل مشغل الدفعة.

    - استنادًا إلى عدد الرسائل: إصدار الدفعة استنادًا إلى عدد الرسائل التي تم جمعها من قبل الدفعة.

    - الحجم المستند: إصدار الدفعة استنادًا إلى الحجم الإجمالي بالبايت لكافة الرسائل التي تم تجميعها بواسطة تلك المجموعة.

    - يستند إلى الجدول الزمني: حرر الدفعة استنادا إلى جدول تكرار، والذي يحدد فاصلا زمنيا وتكرارا. يمكنك اختياريا تحديد منطقة زمنية وتوفير تاريخ ووقت بدء.

    لاستخدام جميع المعايير المحددة، حدد جميع الخيارات.
    عدد الرسائل عدد الرسائل التي يجب تجميعها في الدفعة، على سبيل المثال، 10 رسائل. الحد الأقصى للرسائل المجمعة هو 8000 رسالة.
    حجم الدفعة إجمالي حجم البايت للرسائل المراد جمعها في الدفعة، على سبيل المثال، 10 ميغابايت أو 10485760 بايت. حد حجم الدفعة هو 80 ميغابايت.
    تكرار الفاصل الزمني والتكرار بين إصدارات الدفعات، على سبيل المثال، 10 دقائق. الحد الأدنى للتكرار هو 60 ثانية أو دقيقة واحدة. يتم تقريب الدقائق الكسرية بشكل فعال حتى دقيقة واحدة. اختياريا، يمكنك تحديد منطقة زمنية وتوفير تاريخ ووقت بدء.

    إشعار

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

    يوضح هذا المثال جميع المعايير، ولكن للاختبار الخاص بك، جرب معيارًا واحدًا فقط:

    لقطة شاشة تعرض جميع معايير Batch Trigger.

  4. الآن يمكنك إضافة إجراء واحد أو أكثر لمعالجة كل دفعة.

    على سبيل المثال، أضف إجراء يرسل بريدًا إلكترونيًا عند تشغيل مشغل الدفعة. يتم تشغيل المشغل وإرسال بريد إلكتروني عندما تحتوي الدفعة على 10 رسائل أو تصل إلى 10 ميغابايت أو بعد مرور 10 دقائق.

    1. ضمن مشغل الدفعة، حدد علامة +الجمع (>) إضافة إجراء.

    2. اتبع هذه الخطوات العامة لإضافة إجراء يرسل بريدا إلكترونيا، استنادا إلى موفر البريد الإلكتروني.

      على سبيل المثال، إذا كان لديك حساب عمل أو مؤسسة تعليمية، مثل @fabrikam.com أو @fabrikam.onmicrosoft.com، فحدد موصل Microsoft 365 Outlook. إذا كان لديك حساب شخصي، مثل @outlook.com أو @hotmail.com، فحدد موصل Outlook.com. يستخدم هذا المثال موصل Microsoft 365 Outlook.

  5. إذا طُلب منك ذلك، فسجل دخولك باستخدام حساب البريد الإلكتروني الخاص بك.

  6. تعيين خصائص الإجراء التالية:

    • في المربع إلى، أدخل عنوان البريد الإلكتروني للمستلم. لأغراض الاختبار، يمكنك استخدام عنوان البريد الإلكتروني الخاص بك.

    • حدد داخل مربع الموضوع لعرض خيارات قائمة المحتوى الديناميكي (أيقونة البرق) ومحرر التعبير (أيقونة الدالة). حدد أيقونة البرق لفتح قائمة المحتوى الديناميكي، وحدد الحقل المسمى اسم القسم.

      تظهر لقطة الشاشة قائمة المحتوى الديناميكي وحقل محدد لخاصية اسم القسم.

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

      هام

      يحتوي القسم على حد 5000 رسالة أو 80 ميغابايت. إذا تم استيفاء أي من الشرطين، فقد تحرر Azure Logic Apps الدفعة، حتى عندما لا يتم استيفاء شرط الإصدار المحدد.

    • حدد داخل مربع النص الأساسي ، وحدد أيقونة البرق لفتح قائمة المحتوى الديناميكي، وحدد حقل معرف رسالة الرسالة.

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

      يوضح المثال التالي جزء المعلومات بعد تحديد المربع لكل عنوان على المصمم حيث العناصر المجمعة هو اسم المجموعة:

      تظهر لقطة الشاشة مجموعة العناصر المجمعة مع مخرجات العملية السابقة.

  7. احفظ سير العمل الخاص بك. لقد قمت الآن بإنشاء جهاز استقبال دفعي.

    هام

    إذا كنت تستخدم Visual Studio Code، قبل المتابعة إلى القسم التالي، فتأكد من نشر مورد تطبيق منطق مستقبل الدفعة أولا إلى Azure. وإلا، لا يمكنك تحديد سير عمل تطبيق منطق المتلقي الدفعي عند إنشاء سير عمل تطبيق منطق المرسل الدفعي.

إنشاء مرسل دفعة

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

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

  • تأكد من مشاركة مستقبل الدفعة ومرسل الدفعة في نفس منطقة Azure واشتراك Azure. إذا لم يكن الأمر كذلك، فلا يمكنك تحديد مستقبل الدفعة عند إنشاء مرسل الدفعة لأنه غير مرئي لكل منهما الآخر.

  1. إنشاء مورد تطبيق منطقي آخر وسير عمل يسمى BatchSender.

    إشعار

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

  2. اتبع هذه الخطوات العامة لإضافة مشغل الجدولة المسمى التكرار.

    يعين هذا المثال الفاصل الزمني والتكرار لتشغيل سير عمل المرسل كل دقيقة.

  3. إضافة إجراء جديد لإرسال الرسائل إلى دفعة.

    1. ضمن مشغل التكرار، حدد علامة +الجمع (>) إضافة إجراء جديد.

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

    3. استنادا إلى ما إذا كان لديك سير عمل Consumption أو سير عمل قياسي، اتبع الخطوات المقابلة:

      سير عمل الاستهلاك

      بعد إضافة إجراء سير عمل مشغل الإرسال إلى الدفعة، تظهر قائمة وتعرض موارد تطبيق المنطق فقط مع مشغلات الدفعات الموجودة في نفس اشتراك Azure ومنطقة Azure كمورد تطبيق منطق مرسل الدفعات.

      1. من قائمة تطبيقات المنطق، حدد تطبيق المنطق الذي تم إنشاؤه مسبقا لاستخدامه كمتلقي دفعة. عند ظهور المشغلات المتوفرة، حدد المشغل المسمى Batch_messages.

        تظهر لقطة الشاشة سير عمل الاستهلاك مع مشغل التكرار وإجراء مرسل الدفعة الذي يحدد مورد تطبيق منطق مستقبل الدفعة والمشغل.

        هام

        إذا كنت تستخدم Visual Studio Code، ولم تشاهد أي أجهزة استقبال دفعية لتحديدها، فتحقق من أنك قمت مسبقا بإنشاء جهاز استقبال الدفعة ونشره إلى Azure. إذا لم تكن قد قمت به، فتعرف على كيفية نشر مورد تطبيق منطق مستقبل الدفعة إلى Azure.

      2. عند الانتهاء، حدد إضافة إجراء.

      سير عمل قياسي

      بعد إضافة الإجراء Send to batch ، يعرض جزء الإجراء الخصائص التالية في الخطوة التالية لتحديد اسم الدفعة ومحتوى الرسالة واسم سير العمل واسم المشغل. يمكنك تحديد معلومات فقط لسير عمل تطبيق منطق مستقبل الدفعة مع مشغل دفعة موجود في نفس اشتراك Azure ومنطقة Azure مثل تطبيق منطق مرسل الدفعة.

      تظهر لقطة الشاشة سير العمل القياسي مع مشغل التكرار والإجراء المسمى إرسال إلى الدفعة.

  4. تعيين خصائص إجراء مستقبل الدفعة التالية:

    الخاصية ‏‏الوصف
    اسم الدفعة اسم الدفعة المحدد بواسطة تطبيق منطق المتلقي، وهو TestBatch في هذا المثال

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

    في هذا المثال، بالنسبة لقيمة الخاصية "محتوى الرسالة"، أضف التعبير التالي، الذي يدرج التاريخ والوقت الحاليين في محتوى الرسالة الذي ترسله إلى الدفعة:

    1. حدد داخل المربع محتوى الرسالة لعرض خيارات المحتوى الديناميكي (أيقونة البرق) ومحرر التعبير (أيقونة الدالة).

    2. حدد أيقونة الدالة لفتح محرر التعبير.

    3. في المحرر، أدخل الدالة المسماة utcnow()، وحدد Add.

      سير عمل الاستهلاك

      تظهر لقطة الشاشة سير عمل الاستهلاك وجزء إجراء مرسل الدفعات ومربع محتوى الرسالة مع المؤشر ومحرر التعبير مع وظيفة utcNow وتفاصيل أخرى.

      سير عمل قياسي

      تظهر لقطة الشاشة سير العمل القياسي وجزء إجراء مرسل الدفعات ومربع محتوى الرسالة مع المؤشر ومحرر التعبير مع دالة utcNow وتفاصيل أخرى.

  5. الآن قم بإعداد قسم للدفعة.

    1. في جزء إجراء مرسل الدفعات، من قائمة Advanced parameters ، وحدد الخصائص التالية:

      الخاصية ‏‏الوصف
      اسم القسم مفتاح قسم فريد اختياري لاستخدامه لتقسيم الدفعة المستهدفة إلى مجموعات فرعية منطقية وجمع الرسائل استنادا إلى هذا المفتاح.

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

    3. في محرر التعبير، أدخل الدالة rand(1,6)، وحدد Add.

      ينشئ هذا المثال رقما بين واحد وخمسة. لذلك، تقوم بتقسيم هذه الدفعة إلى خمسة أقسام ذات تعداد رقمي، والتي يعينها هذا التعبير ديناميكيًا.

      تظهر لقطة الشاشة الدالة المسماة rand لتقسيم الدفعة إلى أقسام.

      عند الانتهاء، يبدو سير عمل مرسل الدفعات الآن مشابها للمثال التالي، استنادا إلى نوع سير عمل التطبيق المنطقي:

      سير عمل الاستهلاك

      تظهر لقطة الشاشة سير عمل تطبيق منطق استهلاك مرسل الدفعات النهائي.

      سير عمل قياسي

      تظهر لقطة الشاشة سير عمل تطبيق المنطق القياسي لمرسل الدفعات النهائي.

  6. احفظ سير العمل الخاص بك.

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

لاختبار حل الإرسال في دفعات، اترك مهام سير عمل تطبيق المنطق قيد التشغيل لبضع دقائق. قريبًا، تبدأ في تلقي رسائل البريد الإلكتروني في مجموعات من خمس مجموعات، وكلها بنفس مفتاح القسم.

يعمل تطبيق منطق المرسل الدفعي كل دقيقة وينشئ رقمًا عشوائيًا بين واحد وخمسة. يستخدم مرسل الدفعة هذا الرقم العشوائي كمفتاح قسم للدفعة الهدف حيث ترسل الرسائل. في كل مرة تحتوي فيها الدفعة على خمسة عناصر بنفس مفتاح القسم، ينطلق تطبيق منطق مستقبل الدفعة ويرسل البريد لكل رسالة.

هام

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