روابط Azure Tables في Azure Functions

تتكامل Azure Functions مع Azure Tables عبر المشغلات والروابط. يسمح لك التكامل مع جداول Azure بإنشاء وظائف تقرأ البيانات وتكتبها باستخدام Azure Cosmos DB للجداول وAzure Table Storage.

الإجراء نوع
قراءة بيانات جدول في وظيفة ربط الإدخال
السماح لوظيفة بكتابة بيانات جدول ربط الإخراج

تثبيت الملحق

تعتمد حزمة NuGet الملحق التي تقوم بتثبيتها على وضع C# الذي تستخدمه في تطبيق الوظائف:

يتم تنفيذ الوظائف في عملية عامل C# معزولة. لمعرفة المزيد، راجع دليل تشغيل وظائف C# Azure في عملية عامل معزولة.

تختلف عملية تثبيت الملحق حسب إصدار الملحق:

يقدم هذا الإصدار القدرة على الاتصال باستخدام هوية بدلاً من سر. للحصول على برنامج تعليمي حول تكوين تطبيقات الوظائف الخاصة بك باستخدام الهويات المُدارة، راجع البرنامج التعليمي لإنشاء تطبيق وظائف باستخدام الاتصالات المستندة إلى الهوية.

يسمح لك هذا الإصدار بالربط بالأنواع من Azure.Data.Tables. كما يقدم القدرة على استخدام Azure Cosmos DB للجدول.

يتوفر هذا الملحق عن طريق تثبيت حزمة Microsoft.Azure.Functions.Worker.Extensions.Tables NuGet في مشروع باستخدام الإصدار 5.x أو أعلى من الملحقات للكائنات الثنائية كبيرة الحجم وقوائم الانتظار.

استخدام .NET CLI:

# Install the Azure Tables extension
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Tables --version 1.0.0

# Update the combined Azure Storage extension (to a version which no longer includes Azure Tables)
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Storage --version 5.0.0

إشعار

تستخدم الكائنات الثنائية كبيرة الحجم ل Azure وقوائم انتظار Azure وجداول Azure الآن ملحقات منفصلة وتتم الإشارة إليها بشكل فردي. على سبيل المثال، لاستخدام المشغلات والروابط لجميع الخدمات الثلاث في تطبيق .NET المعزول، يجب إضافة الحزم التالية إلى مشروعك:

في السابق، تم شحن الملحقات معا ك Microsoft.Azure.Functions.Worker.Extensions.Storage، الإصدار 4.x. تحتوي هذه الحزمة ذاتها أيضاً علىالإصدار 5.x، والذي يشير إلى الحِزم المنقسمة للعناصر الثنائية كبيرة الحجم وقوائم الانتظار فقط. عند ترقية مراجع الحزمة من الإصدارات القديمة، قد تحتاج بالتالي إلى الرجوع إلى حزمة NuGet الجديدة Microsoft.Azure.Functions.Worker.Extensions.Tables . أيضاً، عند الرجوع إلى هذه الحزم المقسمة الأحدث، تأكد من أنك لا تشير إلى إصدار أقدم من حزمة التخزين المدمجة، لأن هذا سيؤدي إلى تعارضات من تعريفين لنفس الارتباطات.

إذا كنت تكتب تطبيقك باستخدام F#، فيجب عليك أيضا تكوين هذا الملحق كجزء من تكوين بدء تشغيل التطبيق. في الاستدعاء إلى ConfigureFunctionsWorkerDefaults() أو ConfigureFunctionsWebApplication()، أضف مفوضا يأخذ معلمة IFunctionsWorkerApplication . ثم داخل نص هذا المفوض، استدع ConfigureTablesExtension() على الكائن :

let hostBuilder = new HostBuilder()
hostBuilder.ConfigureFunctionsWorkerDefaults(fun (context: HostBuilderContext) (appBuilder: IFunctionsWorkerApplicationBuilder) ->
    appBuilder.ConfigureTablesExtension() |> ignore
) |> ignore

تثبيت الحزمة

تعتبر روابط Azure Tables جزءًا من مجموعة الملحقات، المحددة في ملف مشروع host.json الخاص بك. قد تحتاج إلى تعديل هذه المجموعة لتغيير إصدار الروابط أو إذا لم تكن المجموعات مثبتة بالفعل. لمعرفة المزيد، راجع حزمة الإضافات.

يقدم هذا الإصدار القدرة على الاتصال باستخدام هوية بدلاً من سر. للحصول على برنامج تعليمي حول تكوين تطبيقات الوظائف الخاصة بك باستخدام الهويات المُدارة، راجع البرنامج التعليمي لإنشاء تطبيق وظائف باستخدام الاتصالات المستندة إلى الهوية.

يمكن إضافة حزمة ملحق مجموعة المعاينة v3 هذا من خلال إضافة أو استبدال التعليمة البرمجية التالية في ملف host.jsonالخاص بك:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[3.3.0, 4.0.0)"
    }
}

أنواع الربط

تعتمد أنواع الربط المعتمدة ل .NET على كل من إصدار الملحق ووضع تنفيذ C#، والتي يمكن أن تكون واحدة مما يلي:

تعمل مكتبة فئة معالجة عامل معزولة تعمل دالة C# المحولة برمجيا في عملية معزولة عن وقت التشغيل.

اختر إصدارا للاطلاع على تفاصيل نوع الربط للوضع والإصدار.

تدعم عملية العامل المعزولة أنواع المعلمات وفقا للجداول أدناه. دعم الربط بالأنواع من Azure.Data.Tables قيد المعاينة.

ربط إدخال جداول Azure

عند العمل مع كيان جدول واحد، يمكن ربط إدخال جداول Azure بالأنواع التالية:

النوع ‏‏الوصف
نوع JSON القابل للتسلسل الذي ينفذ ITableEntity تحاول الدالات إلغاء تسلسل الكيان إلى نوع كائن CLR (POCO) قديم عادي. يجب أن ينفذ النوع ITableEntity أو أن يكون له خاصية سلسلة RowKey وخاصية سلسلة PartitionKey .
جدولEntity1 الكيان كنوع يشبه القاموس.

عند العمل مع كيانات متعددة من استعلام، يمكن ربط ربط إدخال جداول Azure بالأنواع التالية:

النوع ‏‏الوصف
IEnumerable<T> حيث T ينفذ ITableEntity تعداد للكيانات التي تم إرجاعها بواسطة الاستعلام. يمثل كل إدخال كيانا واحدا. يجب أن ينفذ النوع T ITableEntity أو أن يكون له خاصية سلسلة RowKey وخاصية سلسلةPartitionKey.
TableClient1 عميل متصل بالجدول. يوفر هذا أكبر قدر من التحكم لمعالجة الجدول ويمكن استخدامه للكتابة إليه إذا كان الاتصال لديه إذن كاف.

1 لاستخدام هذه الأنواع، تحتاج إلى الرجوع إلى Microsoft.Azure.Functions.Worker.Extensions.Tables 1.2.0 أو أحدث والتبعيات الشائعة لروابط نوع SDK.

ربط إخراج جداول Azure

عندما تريد أن تكتب الدالة إلى كيان واحد، يمكن ربط إخراج جداول Azure بالأنواع التالية:

النوع ‏‏الوصف
نوع JSON القابل للتسلسل الذي ينفذ [ITableEntity] تحاول الدالات تسلسل نوع كائن CLR (POCO) قديم عادي ككيان. يجب أن ينفذ النوع [ITableEntity] أو أن يكون له خاصية سلسلة RowKey وخاصية سلسلة PartitionKey .

عندما تريد أن تكتب الدالة إلى كيانات متعددة، يمكن ربط ربط إخراج جداول Azure بالأنواع التالية:

النوع ‏‏الوصف
T[] حيث T هو أحد أنواع الكيانات الفردية صفيف يحتوي على كيانات متعددة. يمثل كل إدخال كيانا واحدا.

بالنسبة لسيناريوهات الإخراج الأخرى، قم بإنشاء TableClient واستخدامه مع أنواع أخرى من Azure.Data.Tables مباشرة. راجع تسجيل عملاء Azure للحصول على مثال لاستخدام إدخال التبعية لإنشاء نوع عميل من Azure SDK.

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