Azure Logic Apps
أنشئ سير عمل تكامل بلا تعليمات برمجية في Logic Apps يُشغَّل عند وصول بريد إلكتروني جديد، ويحوّل الحمولة، ويكتب سجلًا إلى Azure SQL Database.
Azure Logic Apps درس مجاني في Cloud & IT Cert Prep على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cloud & IT Cert Prep، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cloud & IT Cert Prep 4 دروس في المجموع.
ما المقصود بـ Azure Logic Apps؟
إن Azure Logic Apps منصة تكامل منخفضة التعليمات البرمجية أو منعدمتها، تتيح لكم إنشاء مهام سير عمل مؤتمتة بصريًا باستخدام مصمم السحب والإفلات. وتتكون كل مهمة سير عمل من مشغّل (الحدث الذي يبدأ تشغيلها) وإجراء واحد أو أكثر (خطوات تُنفّذ بالتتابع). وتربط Logic Apps مئات الخدمات — مثل Office 365 وSalesforce وServiceNow وAzure SQL وBlob Storage وغيرها الكثير — من خلال موصلات مُعدة مسبقًا، من دون كتابة تعليمات برمجية للتكامل من البداية.
Logic Apps مقابل Azure Functions
تتيح كل من Logic Apps وAzure Functions الأتمتة serverless القائمة على الأحداث، لكنهما تستهدفان جمهورين مختلفين. صُممت Logic Apps لمتخصصي التكامل ومحللي الأعمال الذين يفضلون مهام سير العمل المرئية والمنعدمة التعليمات البرمجية مع موصلات المؤسسات. أما Azure Functions فصُممت للمطورين الذين يحتاجون إلى تحكم كامل في لغة البرمجة ومنطق أعمال مخصص وزمن استجابة أقل. وبالنسبة إلى المنطق الشرطي المعقد أو المسارات الحساسة للأداء، تكون Azure Functions الخيار الأنسب؛ أما لتكامل SaaS وأتمتة عمليات الأعمال، فتتفوق Logic Apps.
استضافة Logic Apps: Consumption مقابل Standard
توفر Logic Apps خطتي استضافة. تعمل Consumption (الكلاسيكية) على بنية أساسية مشتركة متعددة المستأجرين، وتُحتسب التكلفة لكل تنفيذ إجراء — مما يجعلها مثالية لعمليات التشغيل الآلية منخفضة التكرار. أما Standard فتعمل على بنية أساسية مخصصة أحادية المستأجر ضمن App Service، وتدعم التكامل مع VNet والموصلات المخصصة عبر واجهات API المُدارة، بالإضافة إلى مهام سير عمل متعددة لكل Logic App. وتُحتسب تكلفة Standard بالساعة للخطة، على نحو مشابه لـ App Service. اختاروا Standard لمهام سير عمل المؤسسات التي تحتاج إلى عزل للامتثال أو اتصال بـ VNet.
# Create a Consumption Logic App
az logic workflow create \
--name MyLogicApp \
--resource-group MyRG \
--location eastus \
--definition @workflow-definition.json
# Create a Standard Logic App (requires an App Service plan)
az logicapp create \
--name MyStandardLogicApp \
--resource-group MyRG \
--plan MyAppServicePlan \
--storage-account mystorageaccountالمشغّلات: بدء تشغيل مهمة سير عمل
تبدأ مهام سير العمل في Logic Apps بمشغّل يعمل عند وقوع حدث معين. تتحقق مشغّلات الاستقصاء من خدمة على فترات منتظمة (مثل «عند وصول بريد إلكتروني جديد» في Outlook، حيث يتم التحقق كل دقيقة). وتستخدم مشغّلات الدفع webhooks وتعمل فور وقوع الحدث (مثل «عند تلقي طلب HTTP»). أما مشغّلات التكرار فتعمل وفق جدول زمني. وتتوفر بيانات ناتج المشغّل (مثل نص البريد الإلكتروني أو حمولة HTTP) لجميع الإجراءات اللاحقة في مهمة سير العمل.
// Workflow definition snippet: HTTP trigger
{
'definition': {
'triggers': {
'manual': {
'type': 'Request',
'kind': 'Http',
'inputs': {
'schema': {
'type': 'object',
'properties': {
'customerName': { 'type': 'string' },
'orderTotal': { 'type': 'number' }
}
}
}
}
}
}
}الإجراءات والموصلات
الإجراءات هي الخطوات التي تُنفّذ بعد المشغّل. ويستخدم كل إجراء موصلًا — وهو محوّل تكامل مُعد مسبقًا لخدمة أو بروتوكول محدد. وتضم Logic Apps أكثر من 400 موصل مضمّن ومدار، بما في ذلك Office 365 Outlook وSharePoint وAzure SQL Database وSalesforce وSlack وTwitter/X وSAP، إضافة إلى موصلات HTTP وSFTP وFTP العامة. وتتولى الموصلات المُدارة معالجة المصادقة وإدارة الاتصالات تلقائيًا.
// Workflow: send an email via Office 365 after HTTP trigger
// Actions section of the workflow definition:
{
'Send_an_email': {
'type': 'ApiConnection',
'inputs': {
'host': { 'connection': { 'name': '@parameters("$connections")["office365"]["connectionId"]' } },
'method': 'post',
'path': '/v2/Mail',
'body': {
'To': 'manager@contoso.com',
'Subject': 'New Order from @{triggerBody()["customerName"]}',
'Body': 'Order total: @{triggerBody()["orderTotal"]}'
}
}
}
}تدفق التحكم: الشروط والحلقات
تدعم Logic Apps تراكيب تدفق التحكم القياسية. وتفرّع إجراءات Condition مهمة سير العمل استنادًا إلى تعبير (مثل orderTotal > 1000). وتوجّه إجراءات Switch التنفيذ إلى فروع مختلفة استنادًا إلى قيمة معينة. وتكرّر حلقات For Each التنفيذ على عناصر صفيف (مثل معالجة كل مرفق في رسالة بريد إلكتروني). أما حلقات Until فتكرر الإجراءات حتى يتحقق شرط معين. ويمكن تهيئة جميع هذه التراكيب بصريًا في المصمم أو بصيغة JSON ضمن تعريف مهمة سير العمل.
// Condition action in workflow definition
{
'Check_order_value': {
'type': 'If',
'expression': {
'and': [{
'greater': ['@triggerBody()["orderTotal"]', 1000]
}]
},
'actions': {
'Notify_Manager': { /* send email action */ }
},
'else': {
'actions': {
'Auto_Approve': { /* approve action */ }
}
}
}
}التعبيرات والدوال
تستخدم Logic Apps لغة تعبيرات لتحويل البيانات والإشارة إليها بين الإجراءات. وتُحاط التعبيرات بـ @{...}، وتدعم دوال مضمّنة للسلاسل النصية (concat وtoLower) والصفائف (length وfirst وfilter) والتواريخ (utcNow وaddDays) ومعالجة JSON ومراجع مهام سير العمل (triggerBody() وoutputs('ActionName')). وتُقيَّم هذه الدوال أثناء التشغيل عند تنفيذ الخطوة.
// Expression examples in Logic Apps actions
// Reference trigger data
'@triggerBody()["customerName"]'
// String manipulation
'@toUpper(triggerBody()["customerName"])'
// Date operations
'@addDays(utcNow(), 7)' // One week from now
// Reference previous action output
'@outputs("Get_customer")["body"]["email"]'
// Conditional expression
'@if(greater(triggerBody()["total"], 1000), "VIP", "Standard")'معالجة الأخطاء: Run After وإعادة المحاولة
يحتوي كل إجراء في Logic Apps على إعداد Run After الذي يتحكم في وقت تنفيذه: بعد نجاح الخطوة السابقة أو فشلها أو انتهاء مهلتها أو تخطيها. ويتيح ذلك معالجة الأخطاء بمتانة — إذ يمكنكم إضافة إجراء تعويضي أو إجراء تنبيه لا يعمل إلا عند فشل الخطوة السابقة. كما يتيح كل إجراء سياسات إعادة محاولة قابلة للتهيئة (بفاصل ثابت أو بتراجع أُسّي) لمعالجة حالات الفشل المؤقتة في الخدمات التابعة تلقائيًا.
// Action that runs only when a previous action fails
{
'Send_failure_alert': {
'type': 'ApiConnection',
'runAfter': {
'Process_order': ['Failed', 'TimedOut']
},
'inputs': { /* Teams notification */ },
'operationOptions': 'DisableAsyncPattern',
'runtimeConfiguration': {
'staticResult': null
}
}
}التكامل مع خدمات Azure
تتكامل Logic Apps مباشرةً مع خدمات Azure الأساسية بوصفها مشغّلات وإجراءات على حد سواء. ويمكنكم تشغيل مهمة سير عمل عند إضافة كائن ثنائي كبير إلى حاوية تخزين، وكتابة النتائج إلى Azure SQL Database، وإرسال رسالة إلى Azure Service Bus، واستدعاء Azure Function لتنفيذ منطق مخصص، أو تسجيل النتائج في مساحة عمل Log Analytics. وهذا يجعل Logic Apps طبقة تنسيق فعالة تربط خدمات Azure المتخصصة ببعضها من دون تعليمات برمجية مخصصة.
// Azure Blob trigger + SQL Database action pattern
// Trigger: 'When a blob is added or modified'
// Action 1: Read blob contents
// Action 2: Parse CSV/JSON body
// Action 3: 'Insert row' into Azure SQL Database
// Action 4: 'Delete blob' from source container
// Action 5: Send success notification email
//
// No custom code required for this common ETL patternالمراقبة وسجل عمليات التشغيل
يُسجّل كل تشغيل لمهمة سير عمل في Logic Apps ضمن سجل عمليات التشغيل المتاح في مدخل Azure. ويمكنكم فحص مدخلات كل تشغيل ومخرجاته ومدته ورسائل الخطأ الخاصة به على مستوى الإجراء الفردي، مما يجعل تصحيح الأخطاء أمرًا سهلًا. فعّلوا التسجيل التشخيصي لإرسال سجل عمليات التشغيل وسجلات المشغّلات إلى مساحة عمل Log Analytics لإجراء التحليل والتنبيه على المدى الطويل. وأعدّوا تنبيهات Azure Monitor على المقياس RunsFailed لاكتشاف مهام سير العمل المعطلة.
# Enable diagnostic logging for a Logic App
az monitor diagnostic-settings create \
--resource '/subscriptions/.../providers/Microsoft.Logic/workflows/MyLogicApp' \
--name 'LogAnalyticsLogs' \
--workspace /subscriptions/.../workspaces/MyLogAnalytics \
--logs '[{"category": "WorkflowRuntime", "enabled": true, "retentionPolicy": {"days": 30, "enabled": true}}]'متى تختار Logic Apps
اختر Logic Apps من أجل: تكامل تطبيقات SaaS وتطبيقات المؤسسات (Salesforce وSAP وServiceNow)، وأتمتة عمليات الأعمال باستخدام مهام سير عمل الموافقات، ومسارات ETL التي يتم تشغيلها عند تحميل الملفات، ومهام سير عمل الإشعارات والتنبيهات، والسيناريوهات التي يحتاج فيها غير المطورين (محللو الأعمال) إلى تعديل خطوات سير العمل دون كتابة تعليمات برمجية. تجنب استخدام Logic Apps في السيناريوهات عالية التواتر ومنخفضة زمن الاستجابة (استخدم Azure Functions بدلاً منها)، أو عندما تحتاج إلى تراكيب برمجية معقدة لا تتوفر في لغة التعبيرات.
تحقق سريع
اختبر مدى فهمك لمفاهيم Microsoft Azure Fundamentals (AZ-900) التي تناولها هذا الدرس.
مراجعة الدرس
تعلمت في هذا الدرس أن Azure Logic Apps توفر أتمتة لمهام سير العمل باستخدام تعليمات برمجية قليلة وأكثر من 400 موصل مُنشأ مسبقًا، وأن إعدادات Run After تتيح معالجة دقيقة للأخطاء لكل إجراء، وأن Logic Apps تتفوق في تكامل SaaS وأتمتة عمليات الأعمال عندما يحتاج غير المطورين إلى تعديل مهام سير العمل. في الجزء التالي، سنستكشف Event Grid والبنية المعمارية المعتمدة على الأحداث.
الأسئلة الشائعة
هل درس «Azure Logic Apps» مجاني؟
نعم — نص درس «Azure Logic Apps» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cloud & IT Cert Prep، انتقل إلى CoddyKit PRO. تتضمن دورة Cloud & IT Cert Prep 4 دروس في المجموع.
ماذا ستتعلم في «Azure Logic Apps»؟
أنشئ سير عمل تكامل بلا تعليمات برمجية في Logic Apps يُشغَّل عند وصول بريد إلكتروني جديد، ويحوّل الحمولة، ويكتب سجلًا إلى Azure SQL Database. تتمرن على Cloud & IT Cert Prep مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Cloud & IT Cert Prep؟
لا تُشترط خبرة سابقة. Cloud & IT Cert Prep على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «Azure Logic Apps»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Cloud & IT Cert Prep هذا؟
نعم. كل درس في Cloud & IT Cert Prep يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- المشغّلات والارتباطات في Azure Functions
- Durable Functions لسير العمل ذي الحالة
- Azure Logic Apps
- Event Grid والبنية المستندة إلى الأحداث