أمثلة Azure Cosmos DB Python
ينطبق على:
واجهة برمجة تطبيقات SQL
تُدرج نماذج الحلول التي تُنفذ عمليات CRUD، والعمليات الشائعة الأخرى على موارد Azure Cosmos DB في مستودع GitHub azure-documentdb-python. توفر هذه المقالة:
- ارتباطات إلى المهام الموجودة في كل ملفات مشروع أمثلة Python.
- ارتباطات إلى المحتوى المرجعي لواجهة برمجة التطبيقات ذات الصلة.
المتطلبات الأساسية
- حساب Cosmos DB. الخيارات المتاحة لك هي:
- ضمن اشتراك Azure النشط:
- إنشاء حساب Azure مجاني، أو استخدام اشتراكك الحالي
- بيانات فريق عمل Visual Studio الشهرية
- Azure Cosmos DB Free Tier
- دون اشتراك Azure النشط:
- جرب Azure Cosmos DB مجانًا، وهي بيئة اختبارات تستمر لمدة 30 يومًا.
- Azure Cosmos DB Emulator
- ضمن اشتراك Azure النشط:
- Python 2.7 أو 3.6+، مع
python القابل للتنفيذ في PATH. - Visual Studio Code.
- ملحق Python لـ Visual Studio Code.
- Git.
- Azure Cosmos DB SQL API SDK for Python
أمثلة قاعدة البيانات
تظهر عينة Python database_management.py كيفية تنفيذ المهام التالية. وللتعرف على قواعد بيانات Azure Cosmos قبل تشغيل النماذج الآتية، راجع المقالة المفاهيمية العمل مع قواعد البيانات والحاويات والعناصر.
| المهمة | مرجع واجهة برمجة التطبيقات |
|---|---|
| إنشاء قاعدة بيانات | CosmosClient.create_database |
| قراءة قاعدة بيانات حسب المعرّف | CosmosClient.get_database_client |
| الاستعلام عن قواعد البيانات | CosmosClient.query_databases |
| إدراج قواعد البيانات في حساب | CosmosClient.list_databases |
| حذف قاعدة بيانات | CosmosClient.delete_database |
أمثلة الحاوية
تظهر عينة Python container_management.py كيفية تنفيذ المهام التالية. وللتعرف على مجموعات Azure Cosmos قبل تشغيل النماذج الآتية، راجع المقالة المفاهيمية العمل مع قواعد البيانات والحاويات والعناصر.
| المهمة | مرجع واجهة برمجة التطبيقات |
|---|---|
| الاستعلام عن حاوية | database.query_containers |
| إنشاء حاوية | database.create_container |
| سرد جميع الحاويات في قاعدة بيانات | database.list_containers |
| الحصول على حاوية حسب معرّفها | database.get_container_client |
| إدارة معدل النقل المُقدم للحاوية | container.read_offer، container.replace_throughput |
| حذف حاوية | database.delete_container |
أمثلة العناصر
تظهر عينة Python item_management.py كيفية تنفيذ المهام التالية. وللتعرف على مستندات Azure Cosmos قبل تشغيل النماذج الآتية، راجع المقالة المفاهيمية العمل مع قواعد البيانات والحاويات والعناصر.
| المهمة | مرجع واجهة برمجة التطبيقات |
|---|---|
| إنشاء عناصر في حاوية | container.create_item |
| قراءة عنصر حسب مُعرّفه | container.read_item |
| قراءة جميع العناصر في حاوية | container.read_all_items |
| الاستعلام عن عنصر حسب مُعرّفه | container.query_items |
| استبدال عنصر | container.replace_items |
| إجراء عملية Upsert على العنصر | container.upsert_item |
| حذف عنصر | container.delete_item |
| الحصول على موجز تغيير العناصر في حاوية | container.query_items_change_feed |
أمثلة الفهرسة
تظهر عينة Python index_management.py كيفية تنفيذ المهام التالية. وللتعرف على الفهرسة في قاعدة بيانات Azure Cosmos DB قبل تشغيل النماذج الآتية، راجع المقالة المفاهيمية سياسات الفهرسة وأنواع الفهرسة ومسارات الفهرسة.
| المهمة | مرجع واجهة برمجة التطبيقات |
|---|---|
| استبعاد عنصر معين من الفهرسة | documents.IndexingDirective.Exclude |
| استخدام الفهرسة اليدوية مع عناصر مفهرسة معينة | documents.IndexingDirective.Include |
| استبعاد المسارات من الفهرسة | تعريف المسارات التي يجب استبعادها في خاصيةIndexingPolicy |
| استخدام فهارس النطاقات على سلاسل | تعريف نهج الفهرسة مع فهارس النطاق على نوع بيانات السلسلة. 'kind': documents.IndexKind.Range, 'dataType': documents.DataType.String |
| تنفيذ تحويل فهرس | database.replace_container (استخدام نهج الفهرسة المحدث) |
| استخدام عمليات الفحص عند وجود فهرس التجزئة فقط على المسار | تعيين enable_scan_in_query=True وenable_cross_partition_query=True عند الاستعلام عن العناصر |
الخطوات التالية
هل تحاول القيام بتخطيط السعة للترحيل إلى Azure Cosmos DB؟ يمكنك استخدام معلومات حول مجموعة قاعدة البيانات الموجودة لتخطيط السعة.
- إذا كان كل ما تعرفه هو عدد vcores والخوادم في مجموعة قاعدة البيانات الموجودة، فاقرأ عن تقدير وحدات الطلب باستخدام vCores أو vCPUs
- إذا كنت تعرف المعدلات النموذجية للطلب لحمل العمل الحالي في قاعدة بياناتك، فاقرأ عن تقدير وحدات الطلب باستخدام مخطط السعة من Azure Cosmos DB