بدء استخدام Azure Cosmos DB ل NoSQL باستخدام Python
ينطبق على: NoSQL
توضح هذه المقالة كيفية الاتصال ب Azure Cosmos DB ل NoSQL باستخدام Python SDK. بمجرد الاتصال، يمكنك إجراء عمليات على قواعد البيانات والحاويات والعناصر.
Package (PyPi) | Samples | API reference | Library source code | Give Feedback
المتطلبات الأساسية
- حساب Azure مع اشتراك نشط. أنشئ حساباً مجاناً.
- Azure Cosmos DB لحساب NoSQL. إنشاء واجهة برمجة تطبيقات لحساب NoSQL.
- Python 3.7 أو أحدث
- واجهة سطر الأوامر من Azure (واجهة مستوى الاستدعاء) أو Azure PowerShell
إعداد مشروعك
إنشاء بيئة يمكنك تشغيل تعليمة 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 في الأعلى. يحتوي الحساب على عقدتين تابعتين لقاعدة البيانات. تتضمن إحدى عُقد قاعدة البيانات عقدتين تابعتين للحاوية. تتضمن عقدة قاعدة البيانات الأخرى عقدة حاوية تابعة واحدة. تحتوي عقدة الحاوية المفردة على ثلاث عُقد عناصر تابعة.
يتم تمثيل كل نوع من أنواع الموارد بفئة Python مقترنة واحدة أو أكثر. فيما يلي قائمة بالفئات الأكثر شيوعا للبرمجة المتزامنة. (هناك فئات مماثلة للبرمجة غير المتزامنة ضمن مساحة الاسم azure.cosmos.aio .)
الفصل | الوصف |
---|---|
CosmosClient |
توفر هذه الفئة تمثيلاً منطقياً من جانب العميل لخدمة Azure Cosmos DB. يتم استخدام كائن العميل لتكوين الطلبات وتنفيذها على الخدمة. |
DatabaseProxy |
واجهة لقاعدة بيانات قد تكون موجودة أو لا توجد في الخدمة حتى الآن. لا يجب إنشاء مثيل لهذه الفئة مباشرة. بدلا من ذلك، يجب استخدام أسلوب get_database_client CosmosClient. |
ContainerProxy |
واجهة للتفاعل مع حاوية Cosmos DB معينة. لا يجب إنشاء مثيل لهذه الفئة مباشرة. بدلا من ذلك، استخدم أسلوب get_container_client DatabaseProxy للحصول على حاوية موجودة، أو أسلوب create_container لإنشاء حاوية جديدة. |
توضح لك الأدلة التالية كيفية استخدام كل فئة من هذه الفئات لإنشاء التطبيق الخاص بك.
الدليل: | الوصف |
---|---|
إنشاء قاعدة بيانات | إنشاء قواعد بيانات |
إنشاء حاوية | إنشاء حاويات |
أمثلة العنصر | نقطة قراءة عنصر معين |