البرنامج التعليمي: نشر تطبيق إلى 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 باستخدام تدفق المصادقة الأكثر أمانا المتوفر. يتطلب تدفق المصادقة الموضح في هذا الإجراء درجة عالية جدا من الثقة في التطبيق، ويحمل مخاطر غير موجودة في تدفقات أخرى. يجب عليك استخدام هذا التدفق فقط عندما لا تكون التدفقات الأخرى الأكثر أمانا، مثل الهويات المدارة، قابلة للتطبيق.
المتطلبات الأساسية
- تثبيت JDK 8 أو JDK 11
- التسجيل للاشتراك في Azure
- تثبيت الإصدار 2.0.67 من Azure CLI أو إصدار أحدث وتثبيت ملحق Azure Spring Apps باستخدام الأمر :
az extension add --name spring
توفير مثيل من Azure Spring Apps
يستخدم الإجراء التالي ملحق Azure CLI لتوفير مثيل Azure Spring Apps.
تحديث Azure CLI بملحق Azure Spring Apps.
az extension update --name spring
سجل الدخول إلى 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>
إنشاء مجموعة موارد لاحتواء تطبيقك ومثيل لخدمة Azure Spring Apps.
az group create --name ServiceConnector-tutorial-mysqlf --location eastus
قم بإنشاء مثال على 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.
إنشاء التطبيقات ونشرها
إنشاء التطبيق مع تعيين نقطة نهاية عامة. إذا حددت 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
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 وتشغيل أمر الاتصال مرة أخرى.قم باستنساخ نموذج التعليمات البرمجية
git clone https://github.com/Azure-Samples/serviceconnector-springcloud-mysql-springboot.git
قم ببناء المشروع باستخدام Maven.
cd serviceconnector-springcloud-mysql-springboot mvn clean package -DskipTests
انشر ملف 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
قم بالاستعلام عن حالة التطبيق بعد عملية النشر باستخدام الأمر التالي.
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.