إنشاء قاعدة بيانات في Azure Cosmos DB ل NoSQL باستخدام .NET

ينطبق على: NoSQL

قواعد البيانات في Azure Cosmos DB هي عبارة عن وحدات إدارة لحاوية واحدة أو أكثر. قبل أن تتمكن من إنشاء الحاويات أو إدارتها، يجب عليك أولاً إنشاء قاعدة بيانات.

تسمية قاعدة بيانات

في قاعدة بيانات Azure Cosmos DB، تشبه قاعدة البيانات مساحة الاسم. عند إنشاء قاعدة بيانات، يشكّل اسم قاعدة البيانات مقطعًا من عنوان URI المستخدم للوصول إلى مورد قاعدة البيانات وأي موارد فرعية.

فيما يلي بعض القواعد السريعة عند تسمية قاعدة بيانات:

  • يجب ألا تكون أسماء قواعد البيانات فارغة.
  • لا يمكن أن تزيد أسماء قواعد البيانات عن 256 حرفا.

بمجرد الإنشاء، يكون عنوان URI لقاعدة البيانات بهذا التنسيق:

https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>

تلميح

لمزيد من المعلومات حول حدود اسم قاعدة البيانات، راجع حصص الخدمة وحدودها

إنشاء قاعدة بيانات

لإنشاء قاعدة بيانات، قم باستدعاء إحدى الطرق التالية:

إنشاء قاعدة بيانات بشكل غير متزامن

ينشئ المثال التالي قاعدة بيانات بشكل غير متزامن:

// New instance of Database class referencing the server-side database
Database database1 = await client.CreateDatabaseAsync(
    id: "adventureworks-1"
);

CosmosClient.CreateDatabaseAsync يطرح الأسلوب استثناء إذا كانت قاعدة بيانات بنفس الاسم موجودة بالفعل.

إنشاء قاعدة بيانات بشكل غير متزامن إذا لم تكن موجودة بالفعل

ينشئ المثال التالي قاعدة بيانات بشكل غير متزامن فقط إذا لم تكن موجودة بالفعل على الحساب:

// New instance of Database class referencing the server-side database
Database database2 = await client.CreateDatabaseIfNotExistsAsync(
    id: "adventureworks-2"
);

CosmosClient.CreateDatabaseIfNotExistsAsync ينشئ الأسلوب قاعدة بيانات جديدة فقط إذا لم تكن موجودة بالفعل. هذا الأسلوب مفيد لتجنب الأخطاء إذا قمت بتشغيل نفس التعليمة البرمجية عدة مرات.

تحليل الاستجابة

في جميع الأمثلة حتى الآن، تم توجيه الاستجابة من الطلب غير المتزامن على الفور إلى Databaseالنوع. قد ترغب في بيانات التعريف الوصفية حول الاستجابة بما في ذلك الرؤوس ورمز حالة HTTP. نوع الإرجاع الحقيقي للأسلوبين CosmosClient.CreateDatabaseAsync وCosmosClient.CreateDatabaseIfNotExistsAsync هو DatabaseResponse.

يوضح المثال التالي أسلوب CosmosClient.CreateDatabaseIfNotExistsAsync الذي يقوم بإرجاع DatabaseResponse. بمجرد إرجاعها، يمكنك تحليل خصائص الاستجابة ثم الحصول في النهاية على كائن قاعدة البيانات الأساسي:

// New instance of Database response class referencing the server-side database
DatabaseResponse response = await client.CreateDatabaseIfNotExistsAsync(
    id: "adventureworks-3"
);
// Parse additional response properties
Database database3 = response.Database;

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

الآن بعد أن قمت بإنشاء قاعدة بيانات، استخدم الدليل التالي لإنشاء حاويات.