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

ينطبق على: NoSQL

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

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

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

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

  • احتفظ بأسماء قواعد البيانات بين 3 و63 حرفًا
  • يمكن أن تحتوي أسماء قواعد البيانات فقط على أحرف صغيرة أو أرقام أو حرف الشرطة (-).
  • يجب أن تبدأ أسماء قواعد البيانات بحرف صغير أو رقم.

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

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

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

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

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

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

try:
    database = client.create_database(id=DATABASE_ID)
    print(f"Database created: {database.id}")

except CosmosResourceExistsError:
    print("Database already exists.")

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

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

try:
    database = client.create_database_if_not_exists(id=DATABASE_ID)
    print(f"Database created or returned: {database.id}")

except CosmosHttpResponseError:
    print("Request to the Azure Cosmos database service failed.")

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

يمكنك أيضا إنشاء قاعدة بيانات بشكل غير متزامن باستخدام كائن وأساليب مماثلة في مساحة الاسم azure.cosmos.aio . على سبيل المثال، استخدم CosmosClient.create_database الأسلوب أو أسلوب 'CosmoClient.create_database_if_not_exists .

يعد العمل بشكل غير متزامن مفيدا عندما تريد تنفيذ عمليات متعددة بالتوازي. لمزيد من المعلومات، راجع استخدام العميل غير المتزامن.

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

في الأمثلة أعلاه، الاستجابة من الطلبات هي DatabaseProxy، وهي واجهة للتفاعل مع قاعدة بيانات معينة. من الوكيل، يمكنك الوصول إلى أساليب لتنفيذ العمليات على قاعدة البيانات.

يوضح المثال التالي الأسلوب create_database_if_not_exists الذي يرجع كائن قاعدة بيانات .

database = client.create_database_if_not_exists(id=DATABASE_ID)
for container in database.list_containers():
    print(f'Container name: {container["id"]}')

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

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