إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
في هذا التشغيل السريع، يمكنك نشر تطبيق Azure Cosmos DB أساسي ل NoSQL باستخدام Azure SDK ل .NET. Azure Cosmos DB ل NoSQL هو مخزن بيانات بلا مخطط يسمح للتطبيقات بتخزين البيانات غير المنظمة في السحابة. الاستعلام عن البيانات في الحاويات الخاصة بك وتنفيذ العمليات الشائعة على العناصر الفردية باستخدام Azure SDK ل .NET.
الوثائق | المرجعية لواجهة برمجة التطبيقات حزمة التعليمات البرمجية | المصدر لمكتبة (NuGet) | Azure Developer CLI
المتطلبات الأساسية
- Azure Developer CLI
- دوكر ديسكتوب
- .NET 9.0
إذا لم يكن لديك حساب Azure، فأنشئ حساباً مجانياً قبل أن تبدأ.
تهيئة المشروع
استخدم Azure Developer CLI (azd) لإنشاء حساب Azure Cosmos DB ل NoSQL ونشر نموذج تطبيق حاوية. يستخدم نموذج التطبيق مكتبة العميل لإدارة البيانات النموذجية وإنشاءها وقراءتها والاستعلام عن البيانات.
افتح محطة طرفية في دليل فارغ.
إذا لم تكن قد تمت مصادقتك بالفعل، فقم بالمصادقة على Azure Developer CLI باستخدام
azd auth login. اتبع الخطوات المحددة بواسطة الأداة للمصادقة على CLI باستخدام بيانات اعتماد Azure المفضلة لديك.azd auth loginاستخدم
azd initلتهيئة المشروع.azd init --template cosmos-db-nosql-dotnet-quickstartأثناء التهيئة، قم بتكوين اسم بيئة فريد.
انشر حساب Azure Cosmos DB باستخدام
azd up. تنشر قوالب Bicep أيضا نموذج تطبيق ويب.azd upأثناء عملية التوفير، حدد اشتراكك والموقع المطلوب ومجموعة الموارد المستهدفة. انتظر حتى اكتمال عملية التوفير. قد تستغرق العملية حوالي خمس دقائق.
بمجرد توفير موارد Azure الخاصة بك، يتم تضمين عنوان URL لتطبيق الويب قيد التشغيل في الإخراج.
Deploying services (azd deploy) (✓) Done: Deploying service web - Endpoint: <https://[container-app-sub-domain].azurecontainerapps.io> SUCCESS: Your application was provisioned and deployed to Azure in 5 minutes 0 seconds.استخدم عنوان URL في وحدة التحكم للانتقال إلى تطبيق الويب الخاص بك في المستعرض. لاحظ إخراج التطبيق قيد التشغيل.
تثبيت مكتبة العميل
تتوفر مكتبة العميل من خلال NuGet، كحزمة Microsoft.Azure.Cosmos .
افتح terminal وانتقل إلى
/src/webالمجلد.cd ./src/webإذا لم يكن مثبتا بالفعل، فقم بتثبيت الحزمة
Microsoft.Azure.Cosmosباستخدامdotnet add package.dotnet add package Microsoft.Azure.Cosmos --version 3.*أيضا، قم بتثبيت الحزمة
Azure.Identityإذا لم تكن مثبتة بالفعل.dotnet add package Azure.Identity --version 1.12.*افتح الملف src/web/Cosmos.Samples.NoSQL.Quickstart.Web.csproj وراجعه
استيراد مكتبات
Azure.Identity استيراد مساحات الأسماء و Microsoft.Azure.Cosmos إلى التعليمات البرمجية للتطبيق الخاص بك.
using Azure.Identity;
using Microsoft.Azure.Cosmos;
نموذج الكائن
| الاسم | وصف |
|---|---|
| CosmosClient | هذه الفئة هي فئة العميل الأساسية وتستخدم لإدارة بيانات التعريف أو قواعد البيانات على مستوى الحساب. |
| Database | تمثل هذه الفئة قاعدة بيانات داخل الحساب. |
| Container | تستخدم هذه الفئة بشكل أساسي لتنفيذ عمليات القراءة والتحديث والحذف على الحاوية أو العناصر المخزنة داخل الحاوية. |
| PartitionKey | تمثل هذه الفئة مفتاح قسم منطقي. هذه الفئة مطلوبة للعديد من العمليات والاستعلامات الشائعة. |
أمثلة على التعليمات البرمجية
يستخدم نموذج التعليمات البرمجية في القالب قاعدة بيانات باسم cosmicworks وحاوية باسم products.
products تحتوي الحاوية على تفاصيل مثل الاسم والفئة والكمية والمعرف الفريد وعلامة البيع لكل منتج. تستخدم الحاوية الخاصية /category كمفتاح قسم منطقي.
مصادقة العميل
ينشئ هذا النموذج مثيلا جديدا للفئة CosmosClient ويصادق باستخدام مثيل DefaultAzureCredential .
DefaultAzureCredential credential = new();
CosmosClient client = new(
accountEndpoint: "<azure-cosmos-db-nosql-account-endpoint>",
tokenCredential: credential
);
الحصول على قاعدة بيانات
استخدم client.GetDatabase لاسترداد قاعدة البيانات الموجودة المسماة cosmicworks.
Database database = client.GetDatabase("cosmicworks");
الحصول على حاوية
استرداد الحاوية الموجودة products باستخدام database.GetContainer.
Container container = database.GetContainer("products");
إنشاء عنصر
أنشئ نوع سجل C# مع جميع الأعضاء الذين تريد تسلسلهم في JSON. في هذا المثال، يحتوي النوع على معرف فريد وحقول للفئة والاسم والكمية والسعر والبيع.
public record Product(
string id,
string category,
string name,
int quantity,
decimal price,
bool clearance
);
إنشاء عنصر في الحاوية باستخدام container.UpsertItem. هذا الأسلوب "upserts" العنصر استبدال العنصر بشكل فعال إذا كان موجودا بالفعل.
Product item = new(
id: "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
category: "gear-surf-surfboards",
name: "Yamba Surfboard",
quantity: 12,
price: 850.00m,
clearance: false
);
ItemResponse<Product> response = await container.UpsertItemAsync<Product>(
item: item,
partitionKey: new PartitionKey("gear-surf-surfboards")
);
قراءة عنصر
تنفيذ عملية قراءة نقطة باستخدام كل من المعرف الفريد (id) وحقول مفتاح القسم. استخدم container.ReadItem لاسترداد العنصر المحدد بكفاءة.
ItemResponse<Product> response = await container.ReadItemAsync<Product>(
id: "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
partitionKey: new PartitionKey("gear-surf-surfboards")
);
عناصر الاستعلام
تنفيذ استعلام عبر عناصر متعددة في حاوية باستخدام container.GetItemQueryIterator. ابحث عن كافة العناصر ضمن فئة محددة باستخدام هذا الاستعلام الذي تم تحديد معلمات له:
SELECT * FROM products p WHERE p.category = @category
string query = "SELECT * FROM products p WHERE p.category = @category";
var queryDefinition = new QueryDefinition(query)
.WithParameter("@category", "gear-surf-surfboards");
using FeedIterator<Product> feed = container.GetItemQueryIterator<Product>(
queryDefinition
);
تحليل النتائج المرقمة للاستعلام عن طريق التكرار الحلقي عبر كل صفحة من النتائج باستخدام feed.ReadNextAsync. استخدم feed.HasMoreResults لتحديد ما إذا كانت هناك أي نتائج متبقية في بداية كل حلقة.
List<Product> items = new();
while (feed.HasMoreResults)
{
FeedResponse<Product> response = await feed.ReadNextAsync();
foreach (Product item in response)
{
items.Add(item);
}
}
استكشف بياناتك
استخدم ملحق Visual Studio Code ل Azure Cosmos DB لاستكشاف بيانات NoSQL. يمكنك تنفيذ عمليات قاعدة البيانات الأساسية بما في ذلك على سبيل المثال لا الحصر:
- تنفيذ الاستعلامات باستخدام سجل قصاصات أو محرر الاستعلام
- تعديل العناصر وتحديثها وإنشائه وحذفها
- استيراد البيانات المجمعة من مصادر أخرى
- إدارة قواعد البيانات والحاويات
لمزيد من المعلومات، راجع كيفية استخدام ملحق Visual Studio Code لاستكشاف Azure Cosmos DB لبيانات NoSQL.
تنظيف الموارد
عندما لم تعد بحاجة إلى نموذج التطبيق أو الموارد، قم بإزالة التوزيع المقابل وجميع الموارد.
azd down