البرنامج التعليمي: نشر تطبيق إلى Azure Spring Apps وتوصيله بقاعدة بيانات Azure لخادم MySQL المرن باستخدام Service Connector

في هذا البرنامج التعليمي، سوف تكمل المهام التالية باستخدام مدخل Microsoft Azure أو Azure CLI. يُشرح كلا الأسلوبين في الإجراءات التالية.

  • توفير مثيل من Azure Spring Apps
  • إنشاء التطبيقات ونشرها في Azure Spring Apps
  • دمج Azure Spring Apps مع Azure Database for MySQL مع Service Connector

تحذير

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

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

توفير مثيل من Azure Spring Apps

يستخدم الإجراء التالي ملحق Azure CLI لتوفير مثيل Azure Spring Apps.

  1. تحديث Azure CLI بملحق Azure Spring Apps.

    az extension update --name spring
    
  2. سجل الدخول إلى CLI Azure واختر اشتراكك النشط.

    az login
    az account list -o table
    az account set --subscription <Name or ID of subscription, skip if you only have 1 subscription>
    
  3. إنشاء مجموعة موارد لاحتواء تطبيقك ومثيل لخدمة Azure Spring Apps.

    az group create --name ServiceConnector-tutorial-mysqlf --location eastus
    
  4. قم بإنشاء مثال على Azure Spring Apps. يجب أن يتراوح طول اسمه بين 4 و32 حرفا ويمكن أن يحتوي فقط على أحرف صغيرة وأرقام وواصلات. يجب أن يكون الحرف الأول من اسم مثيل Azure Spring Apps حرفا ويجب أن يكون الحرف الأخير إما حرفا أو رقما.

    az spring create -n my-azure-spring -g ServiceConnector-tutorial-mysqlf
    

أنشئ قاعدة بيانات Azure لخادم MySQL المرن

إنشاء مثيل MySQL Flexible Server. في الأمر أدناه، استبدل <admin-username> و <admin-password> ببيانات الاعتماد التي تختارها لإنشاء مستخدم مسؤول لخادم MySQL المرن. لا يمكن أن يكون اسم مستخدم المسؤول azure_superuser أو azure_pg_admin أو admin أو administrator أو rootأو guestأو public. لا يمكن أن تبدأ بـ pg_. يجب أن تحتوي كلمة المرور على 8 إلى 128 حرفا من ثلاث فئات من الفئات التالية: الأحرف الإنجليزية الكبيرة والأحرف الصغيرة الإنجليزية والأرقام والأحرف غير الأبجدية الرقمية (على سبيل المثال، !، ، #%). لا يمكن أن تحتوي كلمة المرور على username.

az mysql flexible-server create \
    --resource-group ServiceConnector-tutorial-mysqlf \
    --name mysqlf-server \
    --database-name mysqlf-db \
    --admin-user <admin-username> \
    --admin-password <admin-password>

يتم إنشاء الخادم بالقيم الافتراضية التالية ما لم تتجاوزها يدويا:

الإعداد القيمة الافتراضية الوصف
اسم الخادم النظام منشأ اسم فريد يُعرف خادم Azure Database for MySQL.
sku-name GP_Gen5_2 اسم sku. قم باتباع المصطلح {pricing tier}_{compute generation}_{vCores} باختصار. الافتراضي هو خادم الجيل الخامس للأغراض العامة به 2 vCores. لمزيد من المعلومات حول التسعير، انتقل إلى صفحة التسعير الخاصة بنا.
الاحتفاظ بالنسخ الاحتياطي 7 ما مقدار الوقت اللازم للاحتفاظ بالنسخ الاحتياطي. الوحدة بالأيام.
geo-redundant-backup ⁧⁩مُعطل⁧⁩ ما إذا كان يجب تمكين النسخ الاحتياطية المتكررة جغرافياً لهذا الخادم أم لا.
مكان غرب الولايات المتحدة2 موقع Azure للخادم.
فرض SSL مُمَكّن ما إذا كان يجب تمكين SSL لهذا الخادم أم لا.
حجم التخزين 5120 سعة التخزين للخادم (الوحدة بالميغا بايت).
إصدار 5.7 إصدار MySQL الرئيسي.

إشعار

يتم استخدام Standard_B1ms SKU بشكل افتراضي. راجع أسعار Azure Database for MySQL للحصول على تفاصيل التسعير.

إشعار

لمعرفة مزيد من المعلومات عن الأمر az mysql flexible-server create ومعلماته الإضافية، راجع وثائق Azure CLI.

إنشاء التطبيقات ونشرها

  1. إنشاء التطبيق مع تعيين نقطة نهاية عامة. إذا حددت Java الإصدار 11 عند إنشاء مشروع Azure Spring Apps، فضمن --runtime-version=Java_11 مفتاح التبديل.

    az spring app create -n hellospring -s my-azure-spring -g ServiceConnector-tutorial-mysqlf --assign-endpoint true
    
  2. az spring connection create قم بتشغيل الأمر لتوصيل التطبيق المنشور إلى Azure Spring Apps بقاعدة بيانات MySQL Flexible Server. استبدل العناصر النائبة أدناه بالمعلومات الخاصة بك.

    az spring connection create mysql-flexible \
        --resource-group ServiceConnector-tutorial-mysqlf \
        --service my-azure-spring \
        --app hellospring \
        --target-resource-group ServiceConnector-tutorial-mysqlf \
        --server mysqlf-server \
        --database mysqlf-db \
        --secret name=<admin-username> secret=<admin-secret>
    
    الإعدادات ‏‏الوصف
    --resource-group اسم مجموعة الموارد التي تحتوي على التطبيق الذي تستضيفه Azure Spring Apps.
    --service اسم مورد Azure Spring Apps.
    --app اسم التطبيق الذي تستضيفه Azure Spring Apps الذي يتصل بالخدمة الهدف.
    --target-resource-group اسم مجموعة الموارد مع حساب التخزين.
    --server خادم MySQL المرن الذي تريد الاتصال به
    --database اسم قاعدة البيانات التي أنشأتها سابقا.
    --secret name اسم مستخدم خادم MySQL المرن.
    --secret كلمة مرور خادم MySQL المرن.

    إشعار

    إذا رأيت رسالة الخطأ "لم يتم تسجيل الاشتراك لاستخدام Microsoft.ServiceLinker"، يُرجى تشغيل az provider register -n Microsoft.ServiceLinkerلتسجيل موفر موارد Service Connector وتشغيل أمر الاتصال مرة أخرى.

  3. قم باستنساخ نموذج التعليمات البرمجية

    git clone https://github.com/Azure-Samples/serviceconnector-springcloud-mysql-springboot.git
    
  4. قم ببناء المشروع باستخدام Maven.

    cd serviceconnector-springcloud-mysql-springboot
    mvn clean package -DskipTests 
    
  5. انشر ملف JAR للتطبيق target/demo-0.0.1-SNAPSHOT.jar.

    az spring app deploy \
        --name hellospring \
        --service my-azure-spring \
        --resource-group ServiceConnector-tutorial-mysqlf \
        --artifact-path target/demo-0.0.1-SNAPSHOT.jar
    
  6. قم بالاستعلام عن حالة التطبيق بعد عملية النشر باستخدام الأمر التالي.

    az spring app list  --resource-group ServiceConnector-tutorial-mysqlf --service my-azure-spring --output table
    

    ينبغي أن تشاهد المخرج التالي:

    Name         Location    ResourceGroup                     Public Url                                                 Production Deployment    Provisioning State    CPU    Memory    Running Instance    Registered Instance    Persistent Storage    Bind Service Registry    Bind Application Configuration Service
    -----------  ----------  --------------------------------  ---------------------------------------------------------  -----------------------  --------------------  -----  --------  ------------------  ---------------------  --------------------  -----------------------  ----------------------------------------
    hellospring  eastus      ServiceConnector-tutorial-mysqlf  https://my-azure-spring-hellospring.azuremicroservices.io  default                  Succeeded             1      1Gi       1/1                 0/1                    -                     -
    
    

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

اتبع البرامج التعليمية المذكورة أدناه لمعرفة المزيد عن Service Connector.