تعيين وظائف لخدمات Azure باستخدام الروابط

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

التطوير المحلي

عند تطوير دالات محلياً، يتعيّن عليك تحديث التعليمات البرمجية للدالة لإضافة روابط. بالنسبة للغات التي تستخدم function.json، يوفر Visual Studio Code أدوات لإضافة روابط إلى دالة.

إضافة روابط يدوياً استناداً إلى الأمثلة

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

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

عند إضافة ربط إلى دالة موجودة، تحتاج إلى تحديث التعليمات البرمجية للدالة وإضافة تعريف إلى ملف التكوين function.json.

عند إضافة ربط إلى دالة موجودة، تحتاج إلى تحديث تعريف الدالة، اعتمادا على النموذج الخاص بك:

تحتاج إلى إضافة تعليقات توضيحية خاصة بالربط إلى تعريف الدالة في التعليمات البرمجية.

يوضح المثال التالي تعريف الدالة بعد إضافة ربط إخراج Queue Storage إلى دالة HTTP المشغلة:

نظرا لأن الدالة التي تم تشغيلها من قبل HTTP تقوم أيضا بإرجاع استجابة HTTP، ترجع الدالة كائنا MultiResponse ، والذي يمثل كلا من إخراج HTTP وقوائم الانتظار.

[Function("HttpExample")]
public static MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequest req,
    FunctionContext executionContext)
{

هذا المثال هو تعريف MultiResponse العنصر الذي يتضمن ربط الإخراج:

public class MultiResponse
{
    [QueueOutput("outqueue",Connection = "AzureWebJobsStorage")]
    public string[] Messages { get; set; }
    public IActionResult HttpResponse { get; set; }
}

عند تطبيق هذا المثال على مشروعك الخاص، قد تحتاج إلى التغيير HttpRequest إلى HttpRequestData وإلى IActionResultHttpResponseData، اعتمادا على ما إذا كنت تستخدم ASP.NET التكامل الأساسي أم لا.

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

@FunctionName("HttpExample")
public HttpResponseMessage run(
        @HttpTrigger(name = "req", methods = {HttpMethod.GET, HttpMethod.POST}, authLevel = AuthorizationLevel.ANONYMOUS) 
        HttpRequestMessage<Optional<String>> request, 
        @QueueOutput(name = "msg", queueName = "outqueue", 
        connection = "AzureWebJobsStorage") OutputBinding<String> msg, 
        final ExecutionContext context) {

لمزيد من المعلومات، بما في ذلك الارتباطات إلى مثال التعليمات البرمجية للربط التي يمكنك الرجوع إليها، راجع إضافة روابط إلى دالة.

مثال ربط لنموذج Node.js v4 غير متوفر بعد.

تعتمد الطريقة التي تحدد بها ربط الإخراج على إصدار نموذج Node.js الخاص بك. لمزيد من المعلومات، بما في ذلك الارتباطات إلى مثال التعليمات البرمجية للربط التي يمكنك الرجوع إليها، راجع إضافة روابط إلى دالة.

$outputMsg = $name
Push-OutputBinding -name msg -Value $outputMsg

لمزيد من المعلومات، بما في ذلك الارتباطات إلى مثال التعليمات البرمجية للربط التي يمكنك الرجوع إليها، راجع إضافة روابط إلى دالة.

@app.route(route="HttpExample")
@app.queue_output(arg_name="msg", queue_name="outqueue", connection="AzureWebJobsStorage")
def HttpExample(req: func.HttpRequest, msg: func.Out [func.QueueMessage]) -> func.HttpResponse:
    logging.info('Python HTTP trigger function processed a request.')

تعتمد الطريقة التي تحدد بها ربط الإخراج على إصدار نموذج Python الخاص بك. لمزيد من المعلومات، بما في ذلك الارتباطات إلى مثال التعليمات البرمجية للربط التي يمكنك الرجوع إليها، راجع إضافة روابط إلى دالة.

مثال ربط لنموذج Node.js v4 غير متوفر بعد.

تعتمد الطريقة التي تحدد بها ربط الإخراج على إصدار نموذج Node.js الخاص بك. لمزيد من المعلومات، بما في ذلك الارتباطات إلى مثال التعليمات البرمجية للربط التي يمكنك الرجوع إليها، راجع إضافة روابط إلى دالة.

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

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

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

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

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

تعليمة Visual Studio برمجية

عند استخدام تعليمات Visual Studio البرمجية لتطوير دالتك وتستخدم دالتك ملف function.json، يمكن لملحق Azure Functions إضافة ربط تلقائياً إلى ملف function.js موجود بالفعل. لمعرفة المزيد، راجع إضافة روابط الإدخال والإخراج.

مدخل Azure

عند تطوير الدالات الخاصة بك في مدخل Microsoft Azure، فإنك تُضيف روابط الإدخال والإخراج في علامة التبويب Integrate لدالة معينة. تُضاف الارتباطات الجديدة إلى ملف function.js أو إلى سمات الأسلوب، اعتماداً على لغتك. تعرض المقالات التالية أمثلة حول كيفية إضافة روابط إلى دالة موجودة في المدخل:

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