التشغيل السريع: إنشاء تطبيق Cassandra مع Python SDK وAzure Cosmos DB
ينطبق على: كاساندرا
في هذا التشغيل السريع، يمكنك إنشاء Azure Cosmos DB لحساب Apache Cassandra، واستخدام تطبيق Cassandra Python المستنسخ من GitHub لإنشاء قاعدة بيانات وحاوية Cassandra. Azure Cosmos DB عبارة عن خدمة قاعدة بيانات متعددة النماذج تتيح لك إنشاء قواعد بيانات المستندات والجدول والقيمة الرئيسية والرسم البياني والاستعلام عنها بسرعة مع إمكانات التوزيع العام والقياس الأفقي.
المتطلبات الأساسية
- حساب Azure مع اشتراك نشط. أنشئ حسابًا مجانًا. أو جرب Azure Cosmos DB مجاناً بدون اشتراك Azure.
- Python 3.7+.
- Git.
- Python Driver for Apache Cassandra.
أنشئ «حساب قاعدة البيانات».
قبل أن تتمكن من إنشاء قاعدة بيانات المستندات، تحتاج إلى إنشاء حساب Cassandra باستخدام Azure Cosmos DB.
من قائمة مدخل Azure أو الصفحة الرئيسية، حدد Create a resource.
في الصفحة جديد، ابحث عن Azure Cosmos DB وحدده.
في صفحة Azure Cosmos DB ، حدد Create.
في صفحة API ، حدد Create ضمن قسم Cassandra .
تحدد واجهة API نوع الحساب المقرر إنشاؤه. يوفر Azure Cosmos DB خمس واجهات برمجة تطبيقات: NoSQL لقواعد بيانات المستندات، وGremlin لقواعد بيانات الرسم البياني، وMongoDB لقواعد بيانات المستندات، وAzure Table، وCassandra. يجب إنشاء حساب منفصل لكل API.
حدد Cassandra، لأنه في هذا التشغيل السريع تقوم بإنشاء جدول يعمل مع واجهة برمجة التطبيقات ل Cassandra.
في صفحة إنشاء حساب Azure Cosmos DB، أدخل الإعدادات الأساسية لحساب Azure Cosmos DB الجديد.
الإعداد قيمة الوصف الاشتراك اشتراكك حدد اشتراك Azure الذي تريد استخدامه لحساب Azure Cosmos DB هذا. مجموعة الموارد إنشاء و الجديدة في
ثم أدخل نفس اسم الحسابحدد إنشاء جديد. ثم أدخل اسم مجموعة موارد جديدة لحسابك. للبساطة، استخدم نفس اسم حساب Azure Cosmos DB. اسم الحساب أدخل اسماً فريداً أدخل اسماً فريداً لتعريف حساب Azure Cosmos DB الخاص بك. سيكون حساب URI الخاص بك cassandra.cosmos.azure.com وسيُلحق باسم حسابك الفريد.
لا يمكن أن يستخدم اسم الحساب سوى الأحرف الصغيرة والأرقام والواصلات (-)، ويجب أن يتراوح طولها بين 3 و31 حرفًا.الموقع المنطقة الأقرب إلى مستخدميك حدد موقعًا جغرافيًّا لاستضافة حساب Azure Cosmos DB. استخدم الموقع الأقرب إلى المستخدمين لمنحهم أسرع وصول إلى البيانات. وضع السعة معدل النقل المقدم أو بلا خادم حدد "Provisioned throughput" لإنشاء حساب في وضع معدل النقل المتوفر. حدد Serverless لإنشاء حساب في وضع دون خادم. تطبيق خصم طبقة Azure Cosmos DB المجاني تطبيق أو عدم تطبيق مع Azure Cosmos DB الطبقة الحرة، سوف تحصل على أول 1000 RU / ثانية و25 غيغابايت من التخزين مجانًا في حساب. تعرف على المزيد حول الطبقة المجانية. ضع حدُا لمعدل نقل الحساب حدد للحد من معدل نقل الحساب وهذا مفيد إذا كنت تريد تحديد إجمالي معدل نقل الحساب إلى قيمة معينة. إشعار
يمكنك الحصول على حساب طبقةAzure Cosmos DB مجانية واحدة لكل اشتراك Azure ويجب عليك الاشتراك عند إنشاء الحساب. إذا لم تشاهد خيار تطبيق خصم الطبقة المجانية، فهذا يعني أنه تم تمكين حساب آخر في الاشتراك بالفعل مع طبقة مجانية.
في علامة تبويب Global Distributionكوّن التفاصيل التالية. يمكنك ترك القيم الافتراضية لغرض هذه البداية السريعة:
الإعداد قيمة الوصف التكرار الجغرافي تعطيل تمكين التوزيع العمومي على حسابك أو تعطيله عن طريق إقران منطقتك بمنطقة زوج. يمكنك إضافة المزيد من المناطق إلى حسابك لاحقًا. كتابات متعددة المناطق تعطيل تتيح لك إمكانية الكتابة متعددة المناطق الاستفادة من الإنتاجية المقدمة لقواعد البيانات والحاويات الخاصة بك في جميع أنحاء العالم. مجموعات التوافر تعطيل مناطق التوفر هي مواقع معزولة داخل منطقة Azure. تتكون كل منطقة من مركز بيانات واحد أو أكثر مزود بمصدر طاقة وتبريد وشبكات مستقلة. إشعار
الخيارات التالية غير متوفرة إذا قمت بتحديد دون خادمباعتبارهاوضع السعة:
- تطبيق خصم من الدرجة المجانية
- Geo-redundancy
- كتابات متعددة المناطق
اختياريًا يمكنك تكوين تفاصيل إضافية في علامات التبويب التالية:
- شبكة الاتصال - تكوين الوصول من شبكة اتصال ظاهرية.
- نهج النسخ الاحتياطي - تكوين نهج النسخ الاحتياطي الدوري أو المستمر.
- التشفير - استخدم إما مفتاحًا مُدارًا بواسطة الخدمة أو مفتاحًا مُدارًا من قِبل العميل.
- العلامات - العلامات هي أزواج الاسم/القيم التي تمكنك من تصنيف الموارد وعرض الفوترة الموحدة من خلال تطبيق نفس العلامة على موارد متعددة ومجموعات موارد متعددة.
حدد "Review + create".
راجع الإعدادات، ثم حدد Create. يستغرق إنشاء جهاز ظاهر بضع دقائق. انتظر حتى يتم عرض صفحة المدخل، اكتمل النشر.
حدد الانتقال إلى المورد للانتقال إلى صفحة حساب Azure Cosmos DB.
استنساخ نموذج التطبيق
الآن دعونا نستنسخ واجهة برمجة تطبيقات لتطبيق Cassandra من GitHub، ونضبط سلسلة الاتصال، ونشغلها. ترى مدى سهولة العمل مع البيانات برمجيا.
افتح موجه الأوامر. أنشئ مجلدًا جديدًا باسم
git-samples
. ثم أغلق موجه الأوامر.md "C:\git-samples"
افتح نافذة git طرفية، مثل git bash، واستخدم الأمر
cd
للتغيير إلى المجلد الجديد لتثبيت عينة التطبيق.cd "C:\git-samples"
قم بتشغيل الأمر التالي لاستنساخ مستودع النموذج. يقوم هذا الأمر بإنشاء نسخة من نموذج التطبيق على جهاز الكمبيوتر الخاص بك.
git clone https://github.com/Azure-Samples/azure-cosmos-db-cassandra-python-getting-started.git
مراجعة الرمز
هذه الخطوة اختيارية. إذا كنت مهتمًا بمعرفة كيفية إنشاء التعليمات البرمجية لموارد قاعدة البيانات، فإنه يمكنك مراجعة الأجزاء التالية. هذه القصاصات التعليمية مأخوذة من ملف pyquickstart.py. أو يمكنك تخطي هذا الأمر والمتابعة إلى تحديث سلسلة اتصالك.
تبدأ
cluster
من خلالcontactPoint
والمعلوماتport
التي يتم استردادها من مدخل Microsoft Azure.cluster
ثم يتصل ب Azure Cosmos DB ل Apache Cassandra باستخدامconnect()
الأسلوب . يتم إنشاء اتصال مصرح به باستخدام اسم المستخدم والرقم السري وشهادة افتراضية أوشهادة المفتاح العام إذا كنت قد قدمت بالفعل واحدة ضمن ملف التكوين.ssl_context = SSLContext(PROTOCOL_TLSv1_2) ssl_context.verify_mode = CERT_NONE auth_provider = PlainTextAuthProvider(username=cfg.config['username'], password=cfg.config['password']) cluster = Cluster([cfg.config['contactPoint']], port = cfg.config['port'], auth_provider=auth_provider,ssl_context=ssl_context) session = cluster.connect()
يتم إنشاء مفتاح جديد.
print ("\nCreating Keyspace") execute_command('CREATE KEYSPACE IF NOT EXISTS uprofile WITH replication = {\'class\': \'NetworkTopologyStrategy\', \'datacenter\' : \'1\' }');
يتم إنشاء جدول جديد.
print ("\nCreating Table") execute_command('CREATE TABLE IF NOT EXISTS uprofile.user (user_id int PRIMARY KEY, user_name text, user_bcity text)');
يتم إدراج الكيانات الرئيسية/القيمة.
execute_command("INSERT INTO uprofile.user (user_id, user_name , user_bcity) VALUES (%s,%s,%s)", [1,'Lybkov','Seattle']) execute_command("INSERT INTO uprofile.user (user_id, user_name , user_bcity) VALUES (%s,%s,%s)", [2,'Doniv','Dubai']) execute_command("INSERT INTO uprofile.user (user_id, user_name , user_bcity) VALUES (%s,%s,%s)", [3,'Keviv','Chennai']) execute_command("INSERT INTO uprofile.user (user_id, user_name , user_bcity) VALUES (%s,%s,%s)", [4,'Ehtevs','Pune']) execute_command("INSERT INTO uprofile.user (user_id, user_name , user_bcity) VALUES (%s,%s,%s)", [5,'Dnivog','Belgaum']) execute_command("INSERT INTO uprofile.user (user_id, user_name , user_bcity) VALUES (%s,%s,%s)", [6,'Ateegk','Narewadi']) execute_command("INSERT INTO uprofile.user (user_id, user_name , user_bcity) VALUES (%s,%s,%s)", [7,'KannabbuS','Yamkanmardi']) execute_command("INSERT INTO uprofile.user (user_id, user_name , user_bcity) VALUES (%s,%s,%s)", [8,'Jonas','Atlanta'])
استعلم للحصول على جميع القيم الرئيسية.
print ("\nSelecting All") rows = session.execute('SELECT * FROM uprofile.user') PrintTable(rows)
استعلم للحصول على قيمة مفتاح.
print ("\nSelecting Id=1") rows = session.execute('SELECT * FROM uprofile.user where user_id=1') PrintTable(rows)
تحديث سلسلة الاتصال
عد الآن إلى مدخل Microsoft Azure للحصول على معلومات سلسلة الاتصال الخاصة بك ونسخها في التطبيق. تمكن سلسلة الاتصال تطبيقك من الاتصال بقاعدة البيانات المستضافة.
في حسابك في Azure Cosmos DB في مدخل Azure، حدد سلسلة الاتصال.
استخدم الزر الموجود على الجانب الأيمن من الشاشة لنسخ أعلى قيمة، نقطة الاتصال.
افتح ملف config.py.
الصق قيمة CONTACT POINT من المدخل عبر
<FILLME>
في السطر 10.يجب أن يبدو السطر 10 الآن مشابهاً لـ
'contactPoint': 'cosmos-db-quickstarts.cassandra.cosmosdb.azure.com'
الصق قيمة PORT من المدخل عبر
<FILLME>
في السطر 12.يجب أن يبدو السطر 12 الآن مشابها ل
'port': 10350,
انسخ قيمة USERNAME من المدخل والصقها في
<FILLME>
في السطر 6.يجب أن يبدو السطر 6 الآن مشابهاً لـ
'username': 'cosmos-db-quickstart',
نسخ قيمة كلمة المرور من المدخل ولصقها
<FILLME>
على السطر 8.يجب أن يبدو السطر 8 الآن مشابهاً لـ
'password' = '2Ggkr662ifxz2Mg==
';`احفظ ملف config.py.
شغل تطبيق python
استخدم الأمر cd في git terminal للتغير إلى
azure-cosmos-db-cassandra-python-getting-started
المجلد.شغل الأوامر التالية لتثبيت النماذج المطلوبة:
python -m pip install cassandra-driver==3.20.2 python -m pip install prettytable python -m pip install requests python -m pip install pyopenssl
إشعار
نوصي بإصدار برنامج تشغيل Python 3.20.2 للاستخدام مع واجهة برمجة التطبيقات ل Cassandra. يمكن أن تؤدي الإصدارات الأعلى إلى وقوع أخطاء.
شغل الأمر التالي لبدء العمل بتطبيق python الذي أنشأته:
python pyquickstart.py
تحقق من النتائج كما هو متوقع من سطر الأوامر.
اضغط على "CTRL + C" لإيقاف تنفيذ البرنامج وإغلاق إطار وحدة التحكم.
في مدخل Microsoft Azure، افتح Data Explorer للاستعلام عن هذه البيانات الجديدة، وتعديلها، والعمل عليها.
مراجعة اتفاقيات مستوى الخدمة في مدخل Azure
يراقب مدخل Azure معدل نقل حساب Azure Cosmos DB والتخزين والتوافر وزمن الانتقال والاتساق. المخططات الخاصة بالمقاييس المقترنة بـ اتفاقية مستوى خدمة Azure Cosmos DB (SLA) تعرض قيمة اتفاقية مستوى الخدمة مقارنة بالأداء الفعلي. هذه المجموعة من المقاييس تجعل مراقبة اتفاقيات مستوى الخدمة الخاصة بك شفافة.
لمراجعة المقاييس واتفاقيات مستوى الخدمة:
حدد Metrics في قائمة التنقل لحساب Azure Cosmos DB.
حدد علامة تبويب مثل زمن الانتقال، وحدد إطارًا زمنيًا على اليسار. قارن الأسطر الفعلية واتفاقية مستوى الخدمة على المخططات.
راجع المقاييس في علامات التبويب الأخرى.
تنظيف الموارد
عند الانتهاء من تطبيقك وحساب Azure Cosmos DB، يمكنك حذف موارد Azure التي أنشأتها حتى لا تتحمل المزيد من الرسوم. لحذف الموارد:
في شريط البحث في مدخل Azure، ابحث عن مجموعات المواردوحددها.
من القائمة، حدد مجموعة الموارد التي أنشأتها خلال هذا التشغيل السريع.
في صفحة نظرة عامة على مجموعة الموارد، حدد حذف مجموعة الموارد.
في النافذة التالية، أدخل اسم مجموعة الموارد لحذفها، ثم حدد حذف.
الخطوات التالية
في هذا التشغيل السريع، تعلمت كيفية إنشاء حساب Azure Cosmos DB باستخدام واجهة برمجة التطبيقات ل Cassandra، وتشغيل تطبيق Cassandra Python الذي ينشئ قاعدة بيانات وحاوية Cassandra. يمكنك الآن استيراد بيانات أخرى إلى حساب Azure Cosmos DB الخاص بك.