التشغيل السريع: إنشاء تطبيق Apache Cassandra باستخدام .NET SDK وAzure Cosmos DB

ينطبق على: كاساندرا

يوضح هذا التشغيل السريع كيفية استخدام .NET وواجهة برمجة تطبيقات Azure Cosmos DB ل Cassandra لإنشاء تطبيق ملف تعريف عن طريق استنساخ مثال من GitHub. توضح لك هذه البداية السريعة أيضًا كيفية استخدام مدخل Microsoft Azure المستند إلى إنشاء حساب Azure Cosmos DB.

Azure Cosmos DB هي خدمة قواعد بيانات متعددة النماذج موزعة عالمياً من Microsoft. يمكنك إنشاء قواعد بيانات المستندات والجدول والقيمة الرئيسية والرسم البياني والاستعلام عنها بسرعة، وكلها تستفيد من التوزيع العالمي وإمكانيات القياس الأفقي في صميم Azure Cosmos DB.

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

إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ. بدلاً من ذلك، يمكنك تجربة Azure Cosmos DB مجاناً دون اشتراك Azure، مجاناً دون التزامات.

بالإضافة إلى ذلك، أنت بحاجة إلى:

  • أحدث Visual Studio مع أحمال عمل تطوير Azure. يمكنك البدء باستخدام بيئة التطوير المتكامل IDE المجانيةلمجتمع Visual Studio. بادر بتمكين حمل عمل تطوير Azure أثناء إعداد Visual Studio.
  • قم بتثبيت Git لنسخ المثال.

أنشئ «حساب قاعدة البيانات».

  1. من قائمة مدخل Azure أو الصفحة الرئيسية، حدد Create a resource.

  2. في الصفحة جديد، ابحث عن Azure Cosmos DB وحدده.

  3. في صفحة Azure Cosmos DB ، حدد Create.

  4. في صفحة API ، حدد Create ضمن قسم Cassandra .

    تحدد واجهة API نوع الحساب المقرر إنشاؤه. يوفر Azure Cosmos DB خمس واجهات برمجة تطبيقات: NoSQL لقواعد بيانات المستندات، وGremlin لقواعد بيانات الرسم البياني، وMongoDB لقواعد بيانات المستندات، وAzure Table، وCassandra. يجب إنشاء حساب منفصل لكل API.

    حدد Cassandra، لأنه في هذا التشغيل السريع تقوم بإنشاء جدول يعمل مع واجهة برمجة التطبيقات ل Cassandra.

    تعرف على المزيد حول واجهة برمجة التطبيقات ل Cassandra.

  5. في صفحة إنشاء حساب Azure Cosmos DB، أدخل الإعدادات الأساسية لحساب Azure Cosmos DB الجديد.

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

    ثم أدخل نفس اسم الحساب
    حدد إنشاء جديد. ثم أدخل اسم مجموعة موارد جديدة لحسابك. للبساطة، استخدم نفس اسم حساب Azure Cosmos DB.
    اسم الحساب أدخل اسماً فريداً أدخل اسماً فريداً لتعريف حساب Azure Cosmos DB الخاص بك. سيكون حساب URI الخاص بك cassandra.cosmos.azure.com وسيُلحق باسم حسابك الفريد.

    لا يمكن أن يستخدم اسم الحساب سوى الأحرف الصغيرة والأرقام والواصلات (-)، ويجب أن يتراوح طولها بين 3 و31 حرفًا.
    Location المنطقة الأقرب إلى مستخدميك حدد موقعًا جغرافيًّا لاستضافة حساب Azure Cosmos DB. استخدم الموقع الأقرب إلى المستخدمين لمنحهم أسرع وصول إلى البيانات.
    وضع السعة معدل النقل المقدم أو بلا خادم حدد "Provisioned throughput" لإنشاء حساب في وضع معدل النقل المتوفر. حدد Serverless لإنشاء حساب في وضع دون خادم.
    تطبيق خصم طبقة Azure Cosmos DB المجاني تطبيق أو عدم تطبيق مع Azure Cosmos DB الطبقة الحرة، سوف تحصل على أول 1000 RU / ثانية و25 غيغابايت من التخزين مجانًا في حساب. تعرف على المزيد حول الطبقة المجانية.
    ضع حدُا لمعدل نقل الحساب حدد للحد من معدل نقل الحساب وهذا مفيد إذا كنت تريد تحديد إجمالي معدل نقل الحساب إلى قيمة معينة.

    إشعار

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

    The new account page for Azure Cosmos DB for Apache Cassandra

  6. في علامة تبويب Global Distributionكوّن التفاصيل التالية. يمكنك ترك القيم الافتراضية لغرض هذه البداية السريعة:

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

    إشعار

    الخيارات التالية غير متوفرة إذا قمت بتحديد دون خادمباعتبارهاوضع السعة:

    • تطبيق خصم من الدرجة المجانية
    • Geo-redundancy
    • كتابات متعددة المناطق
  7. اختياريًا يمكنك تكوين تفاصيل إضافية في علامات التبويب التالية:

  8. حدد "Review + create".

  9. راجع الإعدادات، ثم حدد Create. يستغرق إنشاء جهاز ظاهر بضع دقائق. انتظر حتى يتم عرض صفحة المدخل، اكتمل النشر.

    The Azure portal Notifications pane

  10. حدد الانتقال إلى المورد للانتقال إلى صفحة حساب Azure Cosmos DB.

استنساخ نموذج التطبيق

الآن دعنا ننتقل إلى العمل مع التعليمة البرمجية. لننسخ واجهة برمجة تطبيقات لتطبيق Cassandra من GitHub، ونضبط سلسلة الاتصال، ونشغلها. سترى مدى سهولة العمل مع البيانات برمجيًّا.

  1. افتح موجه الأوامر. أنشئ مجلدًا جديدًا باسم git-samples. ثم أغلق موجه الأوامر.

    md "C:\git-samples"
    
  2. افتح نافذة git طرفية، مثل git bash، واستخدم الأمر cd للتغيير إلى المجلد الجديد لتثبيت عينة التطبيق.

    cd "C:\git-samples"
    
  3. قم بتشغيل الأمر التالي لاستنساخ مستودع النموذج. يقوم هذا الأمر بإنشاء نسخة من نموذج التطبيق على جهاز الكمبيوتر الخاص بك.

    git clone https://github.com/Azure-Samples/azure-cosmos-db-cassandra-dotnet-getting-started.git
    
  4. بعد ذلك، افتح ملف حل CassandraQuickStartSample في Visual Studio.

مراجعة الرمز

هذه الخطوة اختيارية. إذا كنت مهتمًا بمعرفة كيفية إنشاء التعليمات البرمجية لموارد قاعدة البيانات، فإنه يمكنك مراجعة الأجزاء التالية. يتم أخذ جميع المقتطفات من ملف Program.cs المثبت في المجلدC:\git-samples\azure-cosmos-db-cassandra-dotnet-getting-started\CassandraQuickStartSample. أو يمكنك تخطي هذا الأمر والمتابعة إلى تحديث سلسلة اتصالك.

  • ابدأ الجلسة عن طريق الاتصال بنقطة نهاية كتلة Cassandra. تدعم واجهة برمجة التطبيقات ل Cassandra على Azure Cosmos DB TLSv1.2 فقط.

    var options = new Cassandra.SSLOptions(SslProtocols.Tls12, true, ValidateServerCertificate);
    options.SetHostNameResolver((ipAddress) => CassandraContactPoint);
    Cluster cluster = Cluster.Builder().WithCredentials(UserName, Password).WithPort(CassandraPort).AddContactPoint(CassandraContactPoint).WithSSL(options).Build();
    ISession session = cluster.Connect();
    
  • أنشئ مساحة مفاتيح جديدة.

    session.Execute("CREATE KEYSPACE uprofile WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 1 };"); 
    
  • إنشاء جدول جديد.

    session.Execute("CREATE TABLE IF NOT EXISTS uprofile.user (user_id int PRIMARY KEY, user_name text, user_bcity text)");
    
  • أدخل كيانات المستخدم باستخدام كائن IMapper مع جلسة جديدة تتصل بمساحة مفاتيح uprofile.

    mapper.Insert<User>(new User(1, "LyubovK", "Dubai"));
    
  • استعلام للحصول على جميع معلومات المستخدم.

    foreach (User user in mapper.Fetch<User>("Select * from user"))
    {
       Console.WriteLine(user);
    }
    
  • استعلام للحصول على معلومات مستخدم واحد.

    mapper.FirstOrDefault<User>("Select * from user where user_id = ?", 3);
    

تحديث سلسلة الاتصال

عد الآن إلى مدخل Microsoft Azure للحصول على معلومات سلسلة الاتصال الخاصة بك ونسخها في التطبيق. تتيح معلومات سلسلة الاتصال للتطبيق الاتصال بقاعدة البيانات المستضافة.

  1. في مدخل Microsoft Azure، حدد Connection String.

  2. استخدم الزر الموجود على الجانب الأيمن من الشاشة لنسخ قيمة USERNAME.

    View and copy an access key in the Azure portal, Connection String page

  3. في Visual Studio، افتح ملف Program.cs.

  4. ألصق قيمة USERNAME من البوابة عبر <FILLME> في السطر 13.

    يجب أن يبدو السطر 13 من Program.cs مشابهًا الآن لـ

    private const string UserName = "cosmos-db-quickstart";

  5. ارجع إلى البوابة وانسخ قيمة PASSWORD. ألصق قيمة PASSWORD من المدخل فوق <FILLME> في السطر 14.

    السطر 14 من Program.cs يجب أن تبدو الآن مشابهة لـ

    private const string Password = "2Ggkr662ifxz2Mg...==";

  6. قم بالعودة إلى المدخل ونسخ قيمة CONTACT POINT (نقطة الاتصال). ألصق قيمة CONTACT POINT من البوابة عبر <FILLME> في السطر 15.

    يجب أن يبدو السطر 15 من Program.cs مشابهًا الآن لـ

    private const string CassandraContactPoint = "cosmos-db-quickstarts.cassandra.cosmosdb.azure.com"; // DnsName

  7. احفظ ملف Program.cs.

تشغيل تطبيق NET

  1. في Visual Studio، حدد ⁧Tools⁧>⁧NuGet Package Manager⁧⁧>⁧Package Manager Console⁧.

  2. في موجه الأوامر، استخدم الأمر التالي لتثبيت حزمة NuGet لبرنامج NET. Driver.

    Install-Package CassandraCSharpDriver
    
  3. اضغط على CTRL + F5 لتشغيل التطبيق. يتم عرض تطبيقك في نافذة وحدة التحكم الخاصة بك.

    View and verify the output

    اضغط على CTRL + C لإيقاف تنفيذ البرنامج وإغلاق نافذة وحدة التحكم.

  4. في مدخل Microsoft Azure، افتح Data Explorer للاستعلام عن هذه البيانات الجديدة، وتعديلها، والعمل عليها.

    View the data in Data Explorer

مراجعة اتفاقيات مستوى الخدمة في مدخل Azure

يراقب مدخل Azure معدل نقل حساب Azure Cosmos DB والتخزين والتوافر وزمن الانتقال والاتساق. المخططات الخاصة بالمقاييس المقترنة بـ اتفاقية مستوى خدمة Azure Cosmos DB (SLA) تعرض قيمة اتفاقية مستوى الخدمة مقارنة بالأداء الفعلي. هذه المجموعة من المقاييس تجعل مراقبة اتفاقيات مستوى الخدمة الخاصة بك شفافة.

لمراجعة المقاييس واتفاقيات مستوى الخدمة:

  1. حدد Metrics في قائمة التنقل لحساب Azure Cosmos DB.

  2. حدد علامة تبويب مثل زمن الانتقال، وحدد إطارًا زمنيًا على اليسار. قارن الأسطر الفعلية واتفاقية مستوى الخدمة على المخططات.

    Azure Cosmos DB metrics suite

  3. راجع المقاييس في علامات التبويب الأخرى.

تنظيف الموارد

عند الانتهاء من تطبيقك وحساب Azure Cosmos DB، يمكنك حذف موارد Azure التي أنشأتها حتى لا تتحمل المزيد من الرسوم. لحذف الموارد:

  1. في شريط البحث في مدخل Azure، ابحث عن مجموعات المواردوحددها.

  2. من القائمة، حدد مجموعة الموارد التي أنشأتها خلال هذا التشغيل السريع.

    Select the resource group to delete

  3. في صفحة نظرة عامة على مجموعة الموارد، حدد حذف مجموعة الموارد.

    Delete the resource group

  4. في النافذة التالية، أدخل اسم مجموعة الموارد لحذفها، ثم حدد حذف.

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

في هذه البداية السريعة، تعلمت كيفية إنشاء حساب Azure Cosmos DB وإنشاء حاوية باستخدام Data Explorer وتشغيل تطبيق ويب. يمكنك الآن استيراد بيانات أخرى إلى حساب Azure Cosmos DB الخاص بك.