وظائف المشغلات ومفاهيم ربط البيانات في Azure

في هذه المقالة، ستتعلم المفاهيم عالية المستوى المحيطة بالمشغلات والارتباطات الخاصة بالوظائف.

تؤدي المشغلات إلى تشغيل وظيفة. يُعرف المشغل كيفية استدعاء وظيفة ويجب أن يكون للوظيفة مشغل واحد بالضبط. تتضمن المُشغّلات بيانات مرتبطة بها، والتي غالباً ما تتوفر في صورة الحمولة الخاصة بالدالة.

الربط إلى وظيفة هو طريقة من الربط بشكل تصريحي لمورد آخر بالوظيفة قد تكون متصلة الارتباطات كارتباطات المدخلاتأو روابط المخرجاتأو كليهما. يتم توفير البيانات من الارتباطات للوظيفة في صورة معلمات.

يمكنك خلط ومطابقة الارتباطات المختلفة لتناسب احتياجاتك. تُعد الروابط أمراً اختيارياً وقد تحتوي الدالة على رابط إدخال/إخراج واحد أو عدة روابط.

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

الأخذ بعين الاعتبار الأمثلة التالية كيفية تنفيذ وظائف مختلفة.

سيناريو مثال المشغِّل ربط بيانات الإدخال ربط بيانات الإخراج
تصل رسالة قائمة الانتظار الجديدة وتقوم بتشغيل دالة للكتابة إلى قائمة انتظار أخرى. قائمه انتظار* بلا قائمه انتظار*
تقرأ الوظيفة المجدولة محتويات Blob Storage وتنشئ مستند Azure Cosmos DB جديدا. المؤقت مخزن البيانات الثنائية الكبيرة Azure Cosmos DB
يتم استخدام Event Grid لقراءة صورة من Blob Storage ومستند من Azure Cosmos DB لإرسال بريد إلكتروني. Event Grid Blob Storage وAzure Cosmos DB SendGrid
يستخدم إخطار على الويب Microsoft Graph لتحديث ورقة Excel. HTTP بلا Microsoft Graph

* يمثل قوائم انتظار مختلفة

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

تعريفات المشغل والربط

التعرف على المشغلات والروابط بشكل مختلف اعتمادًا على لغة التطوير.

اللغة تُكون المشغلات والروابط بواسطة...
C#‎ مكتبة الفئات      تزيين الأساليب والمعلمات مع سمات C#‎
Java      تزيين الأساليب والمعلمات مع التعليقات التوضيحية Java
JavaScript/PowerShell/Python/TypeScript      تحديث function.json (مخطط)

بالنسبة للغات التي تعتمد على function.json، يوفر المدخل واجهة مستخدم لإضافة روابط في علامة التبويب Integration . يمكنك أيضا تحرير الملف مباشرة في المدخل في علامة التبويب Code + test من الدالة الخاصة بك. يتيح لك Visual Studio Code إضافة ربط بسهولة إلى ملف function.json باتباع مجموعة ملائمة من المطالبات.

يعرف نوع المعلمة في .NET و Java نوع بيانات الإدخال. على سبيل المثال، استخدم string لربط نص مشغل قائمة انتظار وصف بايت للقراءة كثنائي ونوع مخصص لإلغاء التسلسل إلى موضوع. نظرًا لأن وظائف مكتبة فئات .NET ودوال Java لا تعتمد على function.json لتعريفات الربط فلا يمكن إنشاؤها وتحريرها في المدخل. يعتمد تحرير المدخل C# على برنامج نصي C# يستخدم function.js بدلًا من السمات.

لمعرفة المزيد حول كيفية إضافة روابط إلى الوظائف الموجودة، راجع الاتصال الوظائف إلى خدمات Azure باستخدام الروابط.

بالنسبة للغات التي تكتب ديناميكيا مثل JavaScript، استخدم dataType الخاصية في ملف function.js. على سبيل المثال، لقراءة محتوى طلب HTTP بتنسيق ثنائي عين dataTypeإلىbinary:

{
    "dataType": "binary",
    "type": "httpTrigger",
    "name": "req",
    "direction": "in"
}

خيارات أخرى dataType يكون stream و string.

اتجاه الربط

تحتوي جميع المشغلات والروابط على direction خاصية في ملف function.json :

  • بالنسبة للمشغلات، يكون الاتجاه دائما in
  • تستخدم روابط الإدخال والإخراج in و out
  • تدعم بعض الارتباطات اتجاه خاص inout. إذا كنت تستخدم inout فإن المحرر المتقدم فقط هو المتوفر عبر علامة التبويب دمج في المدخل.

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

إضافة روابط البيانات إلى الوظيفة

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

ارتباطات البيانات المدعومة

يعرض هذا الجدول الروابط المعتمدة في الإصدارات الرئيسية من وقت تشغيل Azure Functions:

نوع 1.x1 2.x وأعلى2 المشغِّل الإدخال الإخراج
Blob storage
Azure Cosmos DB
Azure Data Explorer
عنوان SQL لـ Azure
Dapr4
شبكة الأحداث
مراكز الأحداث
خطافات HTTP والويب
مركز IoT
Kafka3
تطبيقات الجوّال
مراكز الإعلامات
تخزين قائمة الانتظار
Redis
RabbitMQ3
SendGrid
ناقل الخدمة
SignalR
تخزين الجداول
المؤقت
Twilio

1سينتهي الدعم للإصدار 1.x من وقت تشغيل Azure Functions في 14 سبتمبر 2026. نوصي بشدة بترحيل تطبيقاتك إلى الإصدار 4.x للحصول على الدعم الكامل.

2 بدءا من وقت تشغيل الإصدار 2.x، يجب تسجيل جميع الروابط باستثناء HTTP وTimer. راجع تسجيل ملحقات الربط.

3 المشغلات غير مدعومة في خطة الاستهلاك. يتطلب مشغلات تستند إلى وقت التشغيل.

4 مدعوم فقط في Kubernetes وIoT Edge وغيرها من الأوضاع المستضافة ذاتيا فقط.

للحصول على معلومات حول الروابط قيد المعاينة أو المعتمدة لاستخدام الإنتاج، راجع اللغات المدعومة.

يتم دعم إصدارات ملحق الربط المحددة فقط أثناء دعم SDK للخدمة الأساسية. تؤثر التغييرات التي يتم إجراؤها على الدعم في إصدار SDK للخدمة الأساسية على دعم الملحق المستهلك.

أمثلة التعليمة البرمجية لروابط البيانات

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

تعتمد التعليمات البرمجية الملزمة ل C# على نموذج العملية المحدد.

Service الأمثلة العينات
مساحة تخزين Blob المشغِّل
الادخال
الاخراج
الارتباط
Azure Cosmos DB المشغِّل
الادخال
الاخراج
الارتباط
Azure Data Explorer ‏(Kusto) الادخال
الاخراج
الارتباط
عنوان SQL لـ Azure المشغِّل
الادخال
الاخراج
الارتباط
Event Grid المشغِّل
الاخراج
الارتباط
مراكز الأحداث المشغِّل
الاخراج
مركز IoT المشغِّل
الاخراج
HTTP المشغِّل الارتباط
تخزين قائمة الانتظار المشغِّل
الاخراج
الارتباط
RabbitMQ المشغِّل
الاخراج
SendGrid الاخراج
ناقل الخدمة المشغِّل
الاخراج
الارتباط
SignalR المشغِّل
الادخال
الاخراج
تخزين الجداول الادخال
الاخراج
المؤقت المشغِّل الارتباط
Twilio الاخراج الارتباط

تعتمد التعليمات البرمجية الملزمة ل Python على إصدار طراز Python.

Service الأمثلة العينات
مساحة تخزين Blob المشغِّل
الادخال
الاخراج
الارتباط
Azure Cosmos DB المشغِّل
الادخال
الاخراج
الارتباط
Azure Data Explorer ‏(Kusto) الادخال
الاخراج
عنوان SQL لـ Azure المشغِّل
الادخال
الاخراج
الارتباط
Event Grid المشغِّل
الاخراج
الارتباط
مراكز الأحداث المشغِّل
الاخراج
مركز IoT المشغِّل
الاخراج
HTTP المشغِّل الارتباط
تخزين قائمة الانتظار المشغِّل
الاخراج
الارتباط
RabbitMQ المشغِّل
الاخراج
SendGrid الاخراج
ناقل الخدمة المشغِّل
الاخراج
الارتباط
SignalR المشغِّل
الادخال
الاخراج
تخزين الجداول الادخال
الاخراج
المؤقت المشغِّل الارتباط
Twilio الاخراج الارتباط

روابط بيانات مخصصة

يمكنك إنشاء روابط إدخال وإخراج مخصصة. يجب أن تكون لارتباطات مؤلفة في .NET ولكن يمكن استهلاكها من أي لغة معتمدة. لمزيد من المعلومات حول إنشاء روابط مخصصة، راجع إنشاء روابط إدخال وإخراج مخصصة.

الموارد

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