تعيين وظائف لخدمات 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
وإلى IActionResult
HttpResponseData
، اعتمادا على ما إذا كنت تستخدم 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 الخاص بك. لمزيد من المعلومات، بما في ذلك الارتباطات إلى مثال التعليمات البرمجية للربط التي يمكنك الرجوع إليها، راجع إضافة روابط إلى دالة.
$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 الخاص بك. لمزيد من المعلومات، بما في ذلك الارتباطات إلى مثال التعليمات البرمجية للربط التي يمكنك الرجوع إليها، راجع إضافة روابط إلى دالة.
استخدم الجدول التالي للبحث عن أمثلة لأنواع ربط معينة يمكنك استخدامها لإرشادك في تحديث دالة موجودة. أولاً، قم باختيار علامة التبويب اللغة التي تتوافق مع المشروع.
تعتمد التعليمات البرمجية الملزمة ل C# على نموذج العملية المحدد.
الخدمة | الأمثلة | العينات |
---|---|---|
مساحة تخزين Blob | المشغِّل الادخال الاخراج |
الارتباط |
Azure Cosmos DB | المشغِّل الادخال الاخراج |
الارتباط |
Azure Data Explorer (Kusto) | الادخال الاخراج |
الارتباط |
عنوان SQL لـ Azure | المشغِّل الادخال الاخراج |
الارتباط |
Event Grid | المشغِّل الاخراج |
الارتباط |
مراكز الأحداث | المشغِّل الاخراج |
|
IoT Hub | المشغِّل الاخراج |
|
HTTP | المشغِّل | الارتباط |
تخزين قائمة الانتظار | المشغِّل الاخراج |
الارتباط |
RabbitMQ | المشغِّل الاخراج |
|
SendGrid | الاخراج | |
ناقل الخدمة | المشغِّل الاخراج |
الارتباط |
SignalR | المشغِّل الادخال الاخراج |
|
تخزين الجداول | الادخال الاخراج |
|
عدّاد الوقت | المشغِّل | الارتباط |
Twilio | الاخراج | الارتباط |
الخدمة | الأمثلة | العينات |
---|---|---|
مساحة تخزين Blob | المشغِّل الادخال الاخراج |
الارتباط |
Azure Cosmos DB | المشغِّل الادخال الاخراج |
الارتباط |
Azure Data Explorer (Kusto) | الادخال الاخراج |
الارتباط |
عنوان SQL لـ Azure | المشغِّل الادخال الاخراج |
|
Event Grid | المشغِّل الاخراج |
الارتباط |
مراكز الأحداث | المشغِّل الاخراج |
|
IoT Hub | المشغِّل الاخراج |
|
HTTP | المشغِّل | الارتباط |
تخزين قائمة الانتظار | المشغِّل الاخراج |
الارتباط |
RabbitMQ | المشغِّل الاخراج |
|
SendGrid | الاخراج | |
ناقل الخدمة | المشغِّل الاخراج |
الارتباط |
SignalR | المشغِّل الادخال الاخراج |
|
تخزين الجداول | الادخال الاخراج |
|
عدّاد الوقت | المشغِّل | الارتباط |
Twilio | الاخراج | الارتباط |
الخدمة | الأمثلة | العينات |
---|---|---|
مساحة تخزين Blob | المشغِّل الادخال الاخراج |
الارتباط |
Azure Cosmos DB | المشغِّل الادخال الاخراج |
الارتباط |
Azure Data Explorer (Kusto) | الادخال الاخراج |
|
عنوان SQL لـ Azure | المشغِّل الادخال الاخراج |
الارتباط |
Event Grid | المشغِّل الاخراج |
الارتباط |
مراكز الأحداث | المشغِّل الاخراج |
|
IoT Hub | المشغِّل الاخراج |
|
HTTP | المشغِّل | الارتباط |
تخزين قائمة الانتظار | المشغِّل الاخراج |
الارتباط |
RabbitMQ | المشغِّل الاخراج |
|
SendGrid | الاخراج | |
ناقل الخدمة | المشغِّل الاخراج |
الارتباط |
SignalR | المشغِّل الادخال الاخراج |
|
تخزين الجداول | الادخال الاخراج |
|
عدّاد الوقت | المشغِّل | الارتباط |
Twilio | الاخراج | الارتباط |
الخدمة | الأمثلة | العينات |
---|---|---|
مساحة تخزين Blob | المشغِّل الادخال الاخراج |
الارتباط |
Azure Cosmos DB | المشغِّل الادخال الاخراج |
الارتباط |
عنوان 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 أو إلى سمات الأسلوب، اعتماداً على لغتك. تعرض المقالات التالية أمثلة حول كيفية إضافة روابط إلى دالة موجودة في المدخل: