التمرين - نشر سير عمل Logic App الأساسي باستخدام قالب ARM
في هذه الوحدة، سنقوم بنشر سير عمل Logic App باستخدام قالب Azure Resource Manager.
إنشاء موارد في Azure
عادة، أول شيء نقوم به هو إنشاء مجموعة موارد للاحتفاظ بكل الأشياء التي نحتاج إلى إنشائها. وهذا يتيح لنا إدارة جميع الأجهزة الظاهرية والأقراص وواجهات الشبكة والعناصر الأخرى التي تشكل الحل لدينا كوحدة.
يمكننا استخدام CLI Azure لإنشاء مجموعة موارد باستخدام الأمر az group create. يتطلب الأمر --name لإعطاء اسم فريد في اشتراكنا، و --location لمعرفة مساحة Azure التي نريد أن تكون الموارد موجودة بشكل افتراضي.
لأننا في بيئة الاختبار المعزولة المجانية لـ Azure، لا تحتاج إلى القيام بهذه الخطوة؛ بدلاً من ذلك، ستستخدم مجموعة الموارد التي تم إنشاؤها مسبقًا
تنزيل وفحص قالب Resource Manager الأساسي
من Cloud Shell، قم بتشغيل الأمر curl التالي لتنزيل القالب من GitHub.
curl https://raw.githubusercontent.com/MicrosoftDocs/mslearn-logic-apps-and-arm-templates/master/basic-template/template.json > basic-template.jsonلعرض القالب، افتحه في المحرر المدمج.
code basic-template.jsonيتم عرض تعريف التطبيق المنطقي الموضح في template.json في القائمة التالية.
{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": {}, "variables": {}, "resources": [ { "type": "Microsoft.Logic/workflows", "apiVersion": "2017-07-01", "name": "HelloLogicAppsTemplate", "location": "westus2", "properties": { "state": "Enabled", "definition": { "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", "contentVersion": "1.0.0.0", "parameters": {}, "triggers": { "manual": { "type": "Request", "kind": "Http", "inputs": { "method": "GET", "schema": {} } } }, "actions": { "Response": { "runAfter": {}, "type": "Response", "kind": "Http", "inputs": { "body": "Hello Logic Apps Template!", "statusCode": 200 } } }, "outputs": {} }, "parameters": {} } } ], "outputs": { "logicAppUrl": { "type": "string", "value": "[listCallbackURL(concat(resourceId('Microsoft.Logic/workflows/', 'HelloLogicAppsTemplate'), '/triggers/manual'), '2017-07-01').value]" } } }كما ترون من تعريف JSON السابق، وكما يوحي اسم القالب، فإن Logic App هذا أساسي. دعونا ننظر في المكونات الرئيسية لهذا التطبيق.
في القصاصة البرمجية التالي، نرى أن التطبيق يسمى
HelloLogicAppsTemplate. هذا الاسم هو الثابت تلوينه في القالب. كما أن الموقع الذي يعمل فيه التطبيق هو أيضًا مشفر إلى westus2."name": "HelloLogicAppsTemplate", "location": "westus2",التمرير لأسفل إلى قسم المشغلات، نرى أن التطبيق يتم تشغيله بطلب HTTP GET. يسمى المشغل
manual."triggers": { "manual": { "type": "Request", "kind": "Http", "inputs": { "method": "GET", "schema": {} } } },مزيد من أسفل في قسم الإجراءات، ونحن نعلم أن هذا التطبيق يحتوي على خطوة واحدة أو العمل. الإجراء الذي تقوم به هو الاستجابة إلى طلب HTTP مع الرسالة
Hello Logic Apps Template!."actions": { "Response": { "runAfter": {}, "type": "Response", "kind": "Http", "inputs": { "body": "Hello Logic Apps Template!", "statusCode": 200 } } },يحتوي قالب Azure Resource Manager على مخرجات واحدة في قسم مخرجات القالب تسمى
logicAppUrl. يسرد متغير الإخراج هذا عنوان URL للتطبيق المنطقي عند نشره. هذا يجعل من السهل اختبار التطبيق. يستخدم الإخراج listCallbackURL لإنشاء URl، ولكن اسم سير العمل واسم المشغل مرة أخرى كلاهما الثابت تلوينه هنا."outputs": { "logicAppUrl": { "type": "string", "value": "[listCallbackURL(concat(resourceId('Microsoft.Logic/workflows/', 'HelloLogicAppsTemplate'), '/triggers/manual'), '2017-07-01').value]" } }دعونا الآن نشر هذا التطبيق المنطق واختباره.
التحقق من صحة القالب ونشره
لنشر تطبيق المنطق، سنستخدم الأمر az deployment group create لأننا نشرنا على مجموعة موارد. عند النشر باستخدام هذا الأمر، يمكنك اختيار نشر قالب بعيد عن طريق تحديد موقعه مع المعلمة --template-uri. في حالتنا، نريد نشر القالب لدينا محليًا، لذلك سنقوم بتعيين المعلمة --template-file.
من سحابة Shell، تشغيل
az deployment group validate للتحقق من صحة القالب.az deployment group validate \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --template-file basic-template.jsonتشير الوسيطة
--template-fileإلى القالب المحلي. اسم ملف القالب هو basic-template.js.ترى كتلة JSON كبيرة كمخرج، التي تخبرك أن القالب قد اجتاز التحقق من الصحة.
تقوم Azure Resource Manager بتعبئة معلمات القالب، وتتحقق مما إذا كان القالب سيعمل بنجاح في الاشتراك.
إذا فشلت عملية التحقق من الصحة، فستشاهد وصفًا مفصلاً للفشل في الإخراج.
قم بتشغيل الأمر التالي
az deployment group create في Cloud Shell لنشر تطبيق المنطق المحدد من قبل القالب الأساسي لدينا في مجموعة موارد بيئة الاختبار المعزولة.az deployment group create \ --name MyDeployment \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --template-file basic-template.jsonيشبه هذا الأمر الأمر السابق، ولكنه يتضمن الوسيطة
--name أيضًا لإعطاء اسم للنشر.يستغرق هذا الأمر من دقيقتين إلى ثلاث دقائق للإكمال. عند اكتمال النشر، راجع كتلة JSON كبيرة أخرى كمخرج يصف النشر. راجع
provisioningState في نتيجة JSON مع القيمة Succeeded.
تحقق من النشر
تشغيل
az deployment group show للتحقق من نشر.az deployment group show \ --name MyDeployment \ --resource-group <rgn>[sandbox resource group name]</rgn>ترى نفس كتلة JSON كما فعلت سابقًا. يمكنك تشغيل هذا الأمر لاحقًا إذا كنت بحاجة إلى هذه التفاصيل حول النشر. يتم إنشاء الإخراج على أنه JSON لتسهيل التغذية في الأدوات الأخرى التي قد تستخدمها لتتبع عمليات النشر واستخدام السحابة.
لمشاهدة التطبيق وهو يعمل، ابحث عن قيمة logicAppUrl في نتيجة JSON. حدد عنوان URL وقم بلصقه في نافذة مستعرض جديدة. سيتم عرض الرسالة Hello Logic Apps Template! كما هو مبين في الصورة التالية.

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