مشاركة عبر


بدء استخدام Azure Cosmos DB ل NoSQL باستخدام Python

ينطبق على: NoSQL

توضح هذه المقالة كيفية الاتصال ب Azure Cosmos DB ل NoSQL باستخدام Python SDK. بمجرد الاتصال، يمكنك إجراء عمليات على قواعد البيانات والحاويات والعناصر.

Package (PyPi) | Samples | API reference | Library source code | Give Feedback

المتطلبات الأساسية

إعداد مشروعك

إنشاء بيئة يمكنك تشغيل تعليمة Python البرمجية فيها.

مع بيئة ظاهرية، يمكنك تثبيت حزم Python في بيئة معزولة دون التأثير على بقية النظام الخاص بك.

تثبيت Azure Cosmos DB ل NoSQL Python SDK في البيئة الظاهرية.

pip install azure-cosmos

إنشاء تطبيق Python

في بيئتك، قم بإنشاء ملف app.py جديد وأضف التعليمات البرمجية التالية إليه:

import json
import os
import sys
import uuid

from azure.core.exceptions import AzureError
from azure.cosmos import CosmosClient, PartitionKey

تستورد التعليمات البرمجية السابقة الوحدات النمطية التي ستستخدمها في بقية المقالة.

الاتصال ب Azure Cosmos DB ل NoSQL

للاتصال بواجهة برمجة التطبيقات ل NoSQL ل Azure Cosmos DB، قم بإنشاء مثيل للفئة CosmosClient . هذه الفئة هي نقطة البداية لتنفيذ جميع العمليات الخاصة بقواعد البيانات.

للاتصال بواجهة برمجة التطبيقات الخاصة بك لحساب NoSQL باستخدام Microsoft Entra، استخدم أساس أمان. سيعتمد النوع الدقيق للحساب الأساسي على المكان الذي تستضيف فيه التعليمات البرمجية للتطبيق الخاص بك. الجدول التالي دليل مرجعي سريع.

مكان تشغيل التطبيق أساس الأمان
جهاز محلي (تطوير واختبار) هوية المستخدم أو كيان الخدمة
Azure الهوية المُدارة
الخوادم أو العملاء خارج Azure كيان الخدمة

قم باستيراد حزمة Azure.Identity

تحتوي حزمة azure-identity على وظيفة المصادقة الأساسية التي تتم مشاركتها بين جميع مكتبات Azure SDK.

استيراد حزمة azure-identity إلى بيئتك.

pip install azure-identity

قم بإنشاء CosmosClient عن طريق تنفيذ بيانات الاعتماد الافتراضية

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

في app.py:

  • احصل على نقطة النهاية للاتصال بحسابك وقم بتعيين ذلك كمتغير COSMOS_ENDPOINTالبيئة .

  • استيراد DefaultAzureCredential وإنشاء مثيل له.

  • إنشاء مثيل جديد من فئة CosmosClient باستخدام نقطة النهاية وبيانات الاعتماد كمعلمات.

from azure.identity import DefaultAzureCredential

ENDPOINT = os.environ["COSMOS_ENDPOINT"]

credential = DefaultAzureCredential()

client = CosmosClient(ENDPOINT, credential)

هام

للحصول على تفاصيل حول كيفية إضافة الدور الصحيح لتمكين DefaultAzureCredential العمل، راجع تكوين التحكم في الوصول المستند إلى الدور باستخدام معرف Microsoft Entra لحساب Azure Cosmos DB الخاص بك. على وجه الخصوص، راجع القسم الخاص بإنشاء الأدوار وتعيينها إلى معرف أساسي.

إنشاء التطبيق الخاص بك

في أثناء إنشاء تطبيقك، سوف تتفاعل التعليمة البرمجية الخاصة بك في المقام الأول مع أربعة أنواع من الموارد:

  • واجهة برمجة التطبيقات لحساب NoSQL، وهي مساحة الاسم الفريدة ذات المستوى الأعلى لبيانات Azure Cosmos DB.

  • قواعد البيانات، وهي تنظم الحاويات في حسابك.

  • الحاويات، وهي تحتوي على مجموعة من العناصر الفردية في قاعدة البيانات الخاصة بك.

  • العناصر، وهي تمثل مستند JSON في الحاوية الخاصة بك.

يعرض الرسم التخطيطي التالي العلاقة بين هذه الموارد.

رسم تخطيطي لتدرج Azure Cosmos DB الهرمي بما في ذلك الحسابات وقواعد البيانات والحاويات والعناصر.

رسم تخطيطي هرمي يظهر حساب قاعدة بيانات Azure Cosmos في الأعلى. يحتوي الحساب على عقدتين تابعتين لقاعدة البيانات. تتضمن إحدى عُقد قاعدة البيانات عقدتين تابعتين للحاوية. تتضمن عقدة قاعدة البيانات الأخرى عقدة حاوية تابعة واحدة. تحتوي عقدة الحاوية المفردة على ثلاث عُقد عناصر تابعة.

يتم تمثيل كل نوع من أنواع الموارد بفئة Python مقترنة واحدة أو أكثر. فيما يلي قائمة بالفئات الأكثر شيوعا للبرمجة المتزامنة. (هناك فئات مماثلة للبرمجة غير المتزامنة ضمن مساحة الاسم azure.cosmos.aio .)

الفصل ‏‏الوصف
CosmosClient توفر هذه الفئة تمثيلاً منطقياً من جانب العميل لخدمة Azure Cosmos DB. يتم استخدام كائن العميل لتكوين الطلبات وتنفيذها على الخدمة.
DatabaseProxy واجهة لقاعدة بيانات قد تكون موجودة أو لا توجد في الخدمة حتى الآن. لا يجب إنشاء مثيل لهذه الفئة مباشرة. بدلا من ذلك، يجب استخدام أسلوب get_database_client CosmosClient.
ContainerProxy واجهة للتفاعل مع حاوية Cosmos DB معينة. لا يجب إنشاء مثيل لهذه الفئة مباشرة. بدلا من ذلك، استخدم أسلوب get_container_client DatabaseProxy للحصول على حاوية موجودة، أو أسلوب create_container لإنشاء حاوية جديدة.

توضح لك الأدلة التالية كيفية استخدام كل فئة من هذه الفئات لإنشاء التطبيق الخاص بك.

الدليل: ‏‏الوصف
إنشاء قاعدة بيانات إنشاء قواعد بيانات
إنشاء حاوية إنشاء حاويات
أمثلة العنصر نقطة قراءة عنصر معين

(راجع أيضًا )

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