يُطلق على هذا الرابط في الأصل DocumentDB. في الإصدار 2.x من Azure Functions والإصدارات الأحدث، يطلق على المشغل والروابط والحزمة اسم Azure Cosmos DB.
واجهات برمجة التطبيقات المعتمدة
يتم دعم روابط Azure Cosmos DB فقط للاستخدام مع Azure Cosmos DB ل NoSQL. يتم توفير دعم Azure Cosmos DB للجدول باستخدام روابط تخزين الجدول، بدءا من الملحق 5.x. بالنسبة لجميع واجهات برمجة تطبيقات Azure Cosmos DB الأخرى، يجب عليك الوصول إلى قاعدة البيانات من دالتك باستخدام العميل الثابت لواجهة برمجة التطبيقات الخاصة بك، بما في ذلك Azure Cosmos DB ل MongoDB وAzure Cosmos DB ل Cassandra وAzure Cosmos DB ل Apache Gremlin.
تثبيت الملحق
تعتمد حزمة NuGet الملحق التي تقوم بتثبيتها على وضع C# الذي تستخدمه في تطبيق الوظائف:
في تباين هذا النموذج، يمكن تشغيل الدالات باستخدام البرمجة النصية C#، والتي يتم دعمها بشكل أساسي لتحرير مدخل C#. لتحديث ملحقات الروابط الحالية لتطبيقات البرنامج النصي C# التي تعمل في البوابة الإلكترونية دون الحاجة إلى إعادة نشر تطبيق الوظائف، راجع تحديث الملحقات الخاصة بك.
يقوم هذا الإصدار أيضًا بتغيير الأنواع التي يمكنك ربطها، واستبدال الأنواع من الإصدار الثاني لـ SDK Microsoft.Azure.DocumentDB بأنواع أحدث من الإصدار الثالث لـ SDK Microsoft.Azure.Cosmos. تعرف على المزيد حول كيفية اختلاف هذه الأنواع الجديدة وكيفية الترحيل إليها من دليل ترحيل SDKوالمشغلوربط الإدخالوأمثلة ربط الإخراج.
أضف الملحق إلى مشروعك عن طريق تثبيت حزمة NuGet، الإصدار 4.x.
إذا كنت تكتب تطبيقك باستخدام F#، فيجب عليك أيضا تكوين هذا الملحق كجزء من تكوين بدء تشغيل التطبيق. في الاستدعاء إلى ConfigureFunctionsWorkerDefaults() أو ConfigureFunctionsWebApplication()، أضف مفوضا يأخذ معلمة IFunctionsWorkerApplication . ثم داخل نص هذا المفوض، استدع ConfigureCosmosDBExtension() على الكائن :
let hostBuilder = new HostBuilder()
hostBuilder.ConfigureFunctionsWorkerDefaults(fun (context: HostBuilderContext) (appBuilder: IFunctionsWorkerApplicationBuilder) ->
appBuilder.ConfigureCosmosDBExtension() |> ignore
) |> ignore
أضف الملحق إلى مشروعك عن طريق تثبيت حزمة NuGet، الإصدار 3.x.
تثبيت الحزمة
يعد ملحق روابط Azure Cosmos DB جزءا من مجموعة ملحقات، والتي تم تحديدها في ملف مشروع host.json. من الممكن أن تحتاج إلى تعديل هذه الحزمة لتغيير إصدار الربط، أو إذا لم تكن الحزم مثبتة بالفعل. لمعرفة المزيد، راجع حزمة الإضافات.
يدعم ملحق Azure Cosmos DB أنواع المعلمات وفقا للجدول أدناه.
سيناريو الربط
أنواع المعلمات
مشغل Cosmos DB (مستند واحد)
أنواعJSON القابلة للتسلسل 1
مشغل Cosmos DB (دفعة من المستندات)
IEnumerable<T>حيث T هو نوعJSON قابل للتسلسل 1
إدخال Cosmos DB (مستند واحد)
أنواعJSON القابلة للتسلسل 1
إدخال Cosmos DB (استعلام يرجع مستندات متعددة)
CosmosClient IEnumerable<T> حيث T هو نوعJSON قابل للتسلسل 1
إخراج Cosmos DB (مستند واحد)
أنواعJSON القابلة للتسلسل 1
إخراج Cosmos DB (مستندات متعددة)
ICollector<T> أو IAsyncCollector<T> أين T هو نوعJSON القابل للتسلسل 1
1 يمكن إلغاء تسلسل المستندات التي تحتوي على بيانات JSON إلى أنواع كائنات CLR معروفة قديمة عادية (POCO).
تعرض الإصدارات السابقة من الملحق أنواعا من مساحة اسم Microsoft.Azure.Documents المهملة الآن. الأنواع الأحدث من Microsoft.Azure.Cosmos حصرية للملحق 4.x وأعلى.
عندما تريد أن تكتب الدالة إلى مستند واحد، يمكن ربط إخراج Cosmos DB بالأنواع التالية:
النوع
الوصف
أنواع قابلة للتسلسل إلى JSON
كائن يمثل محتوى JSON لمستند. تحاول الدالات تسلسل نوع كائن CLR (POCO) قديم عادي في بيانات JSON.
عندما تريد أن تكتب الدالة إلى مستندات متعددة، يمكن ربط إخراج Cosmos DB بالأنواع التالية:
النوع
الوصف
T[] أين T هو نوع JSON القابل للتسلسل
صفيف يحتوي على مستندات متعددة. يمثل كل إدخال مستندا واحدا.
بالنسبة لسيناريوهات الإخراج الأخرى، قم بإنشاء CosmosClient واستخدامه مع أنواع أخرى من Microsoft.Azure.Cosmos مباشرة. راجع تسجيل عملاء Azure للحصول على مثال لاستخدام إدخال التبعية لإنشاء نوع عميل من Azure SDK.
تدعم الإصدارات السابقة من الملحقات في عملية العامل المعزولة الربط فقط بالأنواع القابلة للتسلسل JSON. تتوفر خيارات إضافية للملحق 4.x والإضافات.
يصف هذا القسم إعدادات التكوين المتاحة لهذا الربط في الإصدارات 2.x وأعلى. تنطبق الإعدادات في ملف host.json على جميع الوظائف في مثيل تطبيق الوظائف. يحتوي مثال ملف host.json أدناه على إعدادات الإصدار 2.x + فقط لهذا الربط. للحصول على مزيدٍ من المعلومات عن إعدادات تكوين التطبيق الوظيفي في الإصدارات 2.x والإصدارات الأحدث، راجع مرجع host.json لوظائف Azure.
وضع الاتصال المستخدم من قبل الدالة عند الاتصال بخدمة Azure Cosmos DB. الخيارات هي Direct وGateway
userAgentSuffix
غير متوفر
إضافة قيمة السلسلة المحددة إلى جميع الطلبات التي تم إجراؤها بواسطة المشغل أو الربط بالخدمة. وهذا يسهل عليك تعقب النشاط في Azure Monitor، استنادا إلى تطبيق وظيفة معين والتصفية حسب User Agent.