إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على: Azure Logic Apps (الاستهلاك + قياسي)
عندما تريد إجراء تحويلات JSON الأساسية في سير عمل تطبيقات المنطق الخاصة بك، يمكنك استخدام بيانات العمليات المدمجة مثل إجراء Compose أو إجراء Parse JSON. ومع ذلك، قد تتطلب بعض السيناريوهات تحويلات متقدمة ومعقدة تتضمن عناصر مثل التكرارات وتدفقات التحكم والمتغيرات. بالنسبة للتحويلات بين JSON إلى JSON أو JSON إلى نص أو XML إلى JSON أو XML إلى نص، يمكنك إنشاء قالب يصف التعيين أو التحويل المطلوب باستخدام لغة القالب Liquid ذو مصدر مفتوح. يمكنك تحديد هذا القالب عند إضافة إجراء مدمج في قالب Liquid إلى سير العمل الخاص بك. يمكنك استخدام إجراءات Liquid في مهام سير عمل تطبيق منطق الاستهلاك متعدد المستأجرين ومهام سير عمل التطبيق المنطقي القياسي أحادي المستأجر.
على الرغم من عدم توفر مشغّلات Liquid، يمكنك استخدام أي مشغّل أو إجراء لنقل محتوى JSON المصدر h, XML إلى سير العمل. على سبيل المثال، يمكنك استخدام مشغّل موصل مضمن أو مشغّل موصل مُدار أو مُستضاف على Azure متوفر لـ Azure Logic Apps أو حتى لتطبيق آخر.
توضح هذه المقالة كيفية إكمال المهام التالية:
- إنشاء قالب Liquid.
- حمّل القالب إلى حساب التكامل الخاص بك لسير عمل تطبيق منطق الاستهلاك أو إلى مورد تطبيق المنطق القياسي للاستخدام في أي سير عمل تابع.
- أضف إجراء Liquid إلى سير العمل الخاص بك.
- حدد القالب كخريطة تريد استخدامها.
لمعرفة مزيد من المعلومات، راجع الوثائق التالية:
- تنفيذ عمليات البيانات في Azure Logic Apps
- لغة القالب Liquid ذو مصدر مفتوح
- تطبيق منطق "الاستهلاك" مقابل تطبيق منطق "قياسي"
- العمليات المضمنة بين الشركات (B2B)
- حول الموصلات المضمنة في Azure Logic Apps
- حول الموصلات المدارة في Azure Logic Appsوالموصلات المدارة ل Azure Logic Apps
المتطلبات الأساسية
حساب واشتراك Azure. إذا لم يكن لديك اشتراك، فيجب التسجيل للحصول على حساب Azure مجاني.
مورد تطبيق المنطق وسير العمل. لا تحتوي العمليات السائلة على أي مشغلات متوفرة، لذلك يجب أن يتضمن سير العمل الحد الأدنى من المشغل.
إذا لم يكن لديك مورد تطبيق منطقي وسير عمل، فبادر بإنشائه الآن باتباع الخطوات الخاصة بتطبيق المنطق الذي تريده:
مورد حساب تكامل. تحتاج عادة إلى هذا المورد عندما تريد تعريف الأدوات وتخزينها لاستخدامها في تكامل المؤسسة ومهام سير عمل تعاون B2B.
هام
يجب أن يتواجد كل من حساب التكامل ومورد تطبيق المنطق في نفس اشتراك Azure ومنطقة Azure ليعملا معاً.
بالنسبة لسير عمل تطبيق منطق الاستهلاك ، يتطلب حساب التكامل الخاص بك ارتباطا بمورد تطبيق المنطق الخاص بك.
بالنسبة لسير عمل تطبيق المنطق القياسي ، يمكنك ربط حساب التكامل الخاص بك بمورد تطبيق المنطق الخاص بك، أو تحميل الخرائط مباشرة إلى مورد تطبيق المنطق الخاص بك، أو كليهما، استنادا إلى السيناريوهات التالية:
إذا كان لديك بالفعل حساب تكامل مع البيانات الاصطناعية التي تحتاجها أو تريد استخدامها، يمكنك ربط حساب التكامل بموارد تطبيق منطق قياسي متعددة حيث تريد استخدام البيانات الاصطناعية. وبهذه الطريقة، لا يتعين عليك تحميل الخرائط إلى كل تطبيق منطق فردي. لمزيد من المعلومات، راجع ربط مورد تطبيق المنطق بحساب التكامل الخاص بك.
يتيح لك موصل Liquid المضمن تحديد خريطة قمت بتحميلها مسبقا إلى مورد تطبيق المنطق أو إلى حساب تكامل مرتبط، ولكن ليس كليهما. يمكنك بعد ذلك استخدام هذه البيانات الاصطناعية عبر جميع مهام سير عمل الفرعية داخل نفس مورد التطبيق المنطقي.
لذلك، إذا لم يكن لديك حساب تكامل أو لا تحتاج إليه، يمكنك استخدام خيار التحميل. وإلا، يمكنك استخدام خيار الربط. يمكنك، في كلتا الحالتين، استخدام هذه الأدوات عبر جميع مهام سير العمل التابعة داخل نفس مورد تطبيق المنطق.
معلومات أساسية حول لغة قالب Liquid. Azure Logic Apps تستخدم DotLiquid 2.0.361.
إشعار
يتبع الإجراء المسمي Liquid تحويل JSON إلى JSONتنفيذ DotLiquid لـ Liquid، والذي يختلف في حالات محددة عن تنفيذ Shopify لـ Liquid. لمزيد من المعلومات، راجع اعتبارات قالب Liquid.
تثبيت أو استخدام أداة يمكنها إرسال طلبات HTTP لاختبار الحل الخاص بك، على سبيل المثال:
- Visual Studio Code مع ملحق من Visual Studio Marketplace
- استدعاء PowerShell-RestMethod
- Microsoft Edge - أداة وحدة تحكم الشبكة
- برونو
- حليقه
تنبيه
بالنسبة للسيناريوهات التي يكون لديك فيها بيانات حساسة، مثل بيانات الاعتماد والأسرار ورمز الوصول المميزة ومفاتيح واجهة برمجة التطبيقات وغيرها من المعلومات المشابهة، تأكد من استخدام أداة تحمي بياناتك بميزات الأمان الضرورية. يجب أن تعمل الأداة دون اتصال أو محليا، ولا تتطلب تسجيل الدخول إلى حساب عبر الإنترنت أو مزامنة البيانات إلى السحابة. عند استخدام أداة بهذه الخصائص، فإنك تقلل من خطر تعريض البيانات الحساسة للجمهور.
الخطوة 1: إنشاء القالب
قبل أن تتمكن من إجراء تحويل Liquid في سير عمل تطبيق المنطق، يجب أولاً إنشاء قالب Liquid الذي يحدد التعيين الذي تريده.
إنشاء قالب Liquid الذي تستخدمه كخريطة لتحويل JSON. يمكنك استخدام أي أداة تحرير تريدها.
يستخدم مثال تحويل JSON إلى JSON في هذه المقالة نموذج القالب Liquid التالي:
{%- assign deviceList = content.devices | Split: ', ' -%} { "fullName": "{{content.firstName | Append: ' ' | Append: content.lastName}}", "firstNameUpperCase": "{{content.firstName | Upcase}}", "phoneAreaCode": "{{content.phone | Slice: 1, 3}}", "devices" : [ {%- for device in deviceList -%} {%- if forloop.Last == true -%} "{{device}}" {%- else -%} "{{device}}", {%- endif -%} {%- endfor -%} ] }احفظ القالب باستخدام ملحق ملف Liquid template (.liquid). يسمى هذا المثال SimpleJsonToJsonTemplate.liquid.
الخطوة 2: تحميل قالب Liquid
بعد إنشاء قالب Liquid، يجب عليك الآن تحميل القالب استنادًا إلى السيناريو التالي:
إذا كنت تعمل على سير عمل تطبيق منطق الاستهلاك، فحمّل القالب إلى حساب التكامل الخاص بك.
إذا كنت تعمل على سير عمل تطبيق منطق قياسي، يمكنك تحميل القالب إلى حساب التكامل الخاص بك، أو تحميل القالب الخاص بك إلى مورد تطبيق المنطق الخاص بك.
تحميل القالب إلى حساب التكامل
في مدخل Microsoft Azure، سجل الدخول باستخدام بيانات اعتماد حساب Azure.
في مربّع البحث بمدخل Azure، أدخل integration accounts وحدد Integration accounts.
ابحث عن حساب التكامل الخاص بك وحدده.
في قائمة تنقل حساب التكامل، ضمن Settings، حدد Maps.
في جزء Maps، حدد Add. قدم المعلومات التالية حول خريطتك:
الخاصية القيمة الوصف الاسم JsonToJsonTemplate اسم الخريطة الخاصة بك، وهو JsonToJsonTemplate في هذا المثال نوع الخريطة سائل نوع الخريطة. لتحويل JSON إلى JSON، يجب عليك تحديد Liquid. الخريطة SimpleJsonToJsonTemplate.liquid قالب Liquid موجود أو ملف خريطة لاستخدامه للتحويل، وهو SimpleJsonToJsonTemplate.liquid في هذا المثال. للعثور على هذا الملف، يمكنك استخدام منتقي الملفات. للحصول على حدود حجم الخريطة، راجع الحدود والتكوين.
تحميل قالب إلى تطبيق المنطق القياسي
في مدخل Microsoft Azure، افتح مورد تطبيق المنطق القياسي. تأكد من أنك على مستوى المورد، وليس مستوى سير العمل.
في قائمة الشريط الجانبي للمورد، ضمن Artifacts، حدد Maps.
في شريط أدوات جزء Maps ، حدد Add.
في جزء إضافة خريطة ، اسحب الملف وأفلته إلى مربع التحميل، أو حدد استعراض بحثا عن الملفات.
بعد انتهاء تحميل ملف المخطط، يظهر المخطط في قائمة Maps . في صفحة Overview على حساب التكامل الخاص بك، ضمن Artifacts، يظهر المخطط الذي تم تحميله أيضًا.
الخطوة 3: إضافة إجراء تحويل السائل
توضح الخطوات التالية كيفية إضافة إجراء تحويل Liquid لسير عمل تطبيق المنطق الاستهلاكي والقياسي.
في قائمة الشريط الجانبي للمورد، ضمن أدوات التطوير، حدد المصمم لفتح سير العمل الخاص بك.
إذا لم يكن لسير العمل مشغّل أو أي إجراءات أخرى يحتاجها سير العمل، فأضف هذه العمليات أولًا. لا تحتوي العمليات السائلة على أي مشغّلات متوفرة.
يستمر هذا المثال مع مشغل الطلب المسمى عند تلقي طلب HTTP.
ضمن المشغل، حدد إضافة إجراء. في مربع البحث، أدخل Liquid.
من قائمة الإجراءات، حدد الإجراء Liquid الذي تريد استخدامه.
يستمر هذا المثال في استخدام الإجراء المسمى تحويل JSON إلى JSON.
في خاصية Content الخاصة بالإجراء، قدّم إخراج JSON من المشغّل أو إجراء سابق تريد تحويله من خلال اتباع هذه الخطوات.
حدد داخل مربع المحتوى ، الذي يعرض خيارات فتح قائمة المحتوى الديناميكي (أيقونة البرق) أو محرر التعبير (أيقونة الدالة). حدد أيقونة البرق لفتح قائمة المحتوى الديناميكي.
من قائمة المحتوى الديناميكي، حدّد بيانات JSON التي تريد تحويلها.
على سبيل المثال، من قائمة "المحتوى الديناميكي"، ضمن "عند تلقي طلب HTTP"، حدد رمز "النص" المميز الذي يمثل إخراج محتوى النص من المشغّل.
من قائمة مخطط، حدد قالب Liquid.
يستمر هذا المثال مع القالب المسمى JsonToJsonTemplate.
إشعار
إذا كانت قائمة الخرائط فارغة، إما أن مورد تطبيق المنطق الخاص بك غير مرتبط بحساب التكامل الخاص بك، أو أن حساب التكامل الخاص بك لا يحتوي على أي ملفات خريطة.
احفظ سير العمل الخاص بك. في شريط أدوات المصمم، حدد "Save".
اختبار سير العمل
لتشغيل سير العمل، اتبع الخطوات التالية:
في مشغل الطلب ، ابحث عن خاصية HTTP URL ، وانسخ عنوان URL.
افتح أداة طلب HTTP واستخدم إرشاداتها لإرسال طلب HTTP إلى عنوان URL المنسخ، بما في ذلك الأسلوب الذي يتوقعه مشغل الطلب .
يستخدم
POSTهذا المثال الأسلوب مع عنوان URL.قم بتضمين إدخال JSON للتحويل، على سبيل المثال:
{ "devices": "Surface, Mobile, Desktop computer, Monitors", "firstName": "Dean", "lastName": "Ledet", "phone": "(111)0001111" }بعد انتهاء تشغيل سير العمل، انتقل إلى محفوظات تشغيل سير العمل، وافحص مدخلات ومخرجات إجراء تحويل JSON إلى JSON، على سبيل المثال:
تحولات Liquid الأخرى
يمكنك استخدام Liquid لإجراء تحويلات أخرى، على سبيل المثال:
تحويل JSON إلى نص
يعرض قالب Liquid التالي مثالاً لتحويل JSON إلى نص:
{{content.firstName | Append: ' ' | Append: content.lastName}}
يوضح المثال التالي نماذج الإدخالات والمخرجات:
تحويل XML إلى JSON
يعرض قالب Liquid التالي مثالاً لتحويل XML إلى JSON:
[{% JSONArrayFor item in content -%}
{{item}}
{% endJSONArrayFor -%}]
يعبر التكرار الحلقي JSONArrayFor عن آلية تكرار حلقي مخصصة لإدخال XML بحيث يمكنك إنشاء بيانات أساسية لـ JSON تتجنب الفاصلة اللاحقة. أيضاً، يستخدم شرط where آلية التكرار الحلقي المخصصة هذه اسم عنصر XML للمقارنة، بدلاً من قيمة العنصر، مثل عوامل تصفية Liquid الأخرى. لمزيد من المعلومات، راجع التعمق في نهج المجموعة - مجموعات الأشياء.
يوضح المثال التالي نماذج الإدخالات والمخرجات:
تحويل XML إلى نص
يعرض قالب Liquid التالي مثالاً لتحويل XML إلى نص:
{{content.firstName | Append: ' ' | Append: content.lastName}}
يوضح المثال التالي نماذج الإدخالات والمخرجات:
اعتبارات قالب Liquid
تتبع قوالب Liquid حدود حجم الملف للخرائط في تطبيقات Azure Logic.
يتبع إجراء تحويل JSON إلى JSON عملية تنفيذ DotLiquid لـ Liquid. يعبر هذا التنفيذ عن منفذ إلى .NET Framework من تنفيذ Shopify لـ Liquid، ويختلف في حالات محددة.
تصف القائمة التالية الاختلافات المعروفة:
يقوم إجراء تحويل JSON إلى JSON في الأصل بإخراج سلسلة، والتي يمكن أن تتضمن JSON وXML وHTML وما إلى ذلك. يشير الإجراء Liquid فقط إلى أن إخراج النص المتوقع من قالب Liquid هو سلسلة JSON. يرشد الإجراء تطبيق المنطق الخاص بك إلى توزيع الإدخال كعنصر JSON، ويطبق برنامج تضمين بحيث يمكن لـ Liquid تفسير بنية JSON. بعد التحويل، يوجه الإجراء تطبيق المنطق إلى تحليل إخراج النص من Liquid مرة أخرى إلى JSON.
لا يفهم DotLiquid في الأصل JSON، لذا تأكد من الابتعاد عن الحرف المائل العكسي (
\) وأي أحرف JSON محجوزة أخرى.إذا كان القالب يستخدم عوامل تصفية Liquid، فتأكد من اتباع اصطلاحات تسمية DotLiquid وC# التي تستخدم كتابة الجملة. بالنسبة لجميع تحويلات Liquid، تأكد من أن أسماء التصفية في القالب تستخدم أيضاً كتابة الجملة. وإلا، فلن تعمل عوامل التصفية.
على سبيل المثال، عند استخدام عامل التصفية
replace، استخدمReplace، وليسreplace. تنطبق نفس القاعدة إذا جربت أمثلة في DotLiquid عبر الإنترنت. لمزيد من المعلومات، راجع عوامل تصفية Shopify Liquid وعوامل تصفية DotLiquid Liquid. تتضمن مواصفات Shopify أمثلة لكل عامل تصفية، لذلك للمقارنة، يمكنك تجربة هذه الأمثلة في DotLiquid - حاول عبر الإنترنت.عامل التصفية
jsonمن عوامل تصفية ملحق Shopify غير مطبق حالياً في DotLiquid. عادةً، يمكنك استخدام عامل التصفية هذا لإعداد إخراج النص لتحليل سلسلة JSON، ولكن بدلاً من ذلك، تحتاج إلى استخدام عامل التصفيةReplaceبدلاً من ذلك.عامل التصفية القياسي
Replaceفي تنفيذ DotLiquid يستخدم مطابقة التعبير العادي (RegEx)، بينما تطبيق Shopify يستخدم مطابقة سلسلة بسيطة. يبدو أن كلا التطبيقين يعملان بنفس الطريقة حتى تستخدم حرفاً محجوزاً من RegEx أو حرف إلغاء في معلمة المطابقة.على سبيل المثال، للخروج من حرف الخروج للشرطة المائلة العكسية المحجوزة لـ RegEx (
\) استخدم| Replace: '\\', '\\'، وليس| Replace: '\', '\\'. توضح هذه الأمثلة كيفية تصرف عامل التصفيةReplaceبشكل مختلف عند محاولة الخروج من حرف الشرطة المائلة العكسية. بينما يعمل هذا الإصدار بنجاح:{ "SampleText": "{{ 'The quick brown fox "jumped" over the sleeping dog\\' | Replace: '\\', '\\' | Replace: '"', '\"'}}"}مع هذه النتيجة:
{ "SampleText": "The quick brown fox \"jumped\" over the sleeping dog\\\\"}فشل هذا الإصدار:
{ "SampleText": "{{ 'The quick brown fox "jumped" over the sleeping dog\\' | Replace: '\', '\\' | Replace: '"', '\"'}}"}مع هذا الخطأ:
{ "SampleText": "Liquid error: parsing "\" - Illegal \ at end of pattern."}لمزيد من المعلومات، راجع استبدال عامل التصفية القياسي يستخدم مطابقة نمط RegEx....
يقوم عامل التصفية
Sortفي تنفيذ DotLiquid بفرز العناصر في صفيف أو مجموعة حسب الخاصية ولكن مع هذه الاختلافات:يتبع سلوك sort_natural لـ Shopify، وليس سلوك فرز Shopify.
يتم الفرز بترتيب أبجدي رقمي للسلسلة فقط. لمزيد من المعلومات، راجع الفرز الرقمي.
يستخدم ترتيباً غير حساس لحالة الأحرف، وليس ترتيباً حساساً لحالة الأحرف. لمزيد من المعلومات، راجع عامل تصفية الفرز لا يتبع سلوك الكتابة من مواصفات Shopify.