ربط قاعدة بيانات Azure ل PostgreSQL بتطبيقك في Azure Spring Apps

إشعار

يعد Azure Spring Apps هو الاسم الجديد لخدمة Azure Spring Cloud. رغم أن الخدمة تحمل اسماً جديداً، سترى الاسم القديم في بعض الأماكن لفترة من الوقت بينما نعمل على تحديث الأصول مثل لقطات الشاشة، ومقاطع الفيديو، والرسوم التخطيطية.

تنطبق هذه المقالة على: ✔️ Java ✔️ C#‎

تنطبق هذه المقالة على: ✔️ Basic/Standard ✔️ Enterprise

باستخدام Azure Spring Apps، بإمكانك ربط خدمات Azure المحددة بتطبيقاتك تلقائيًا، بدلًا من الاضطرار إلى تكوين تطبيق Spring Boot يدويًا. توضح لك هذه المقالة كيفية ربط تطبيقك بقاعدة بيانات Azure لمثيل PostgreSQL.

في هذه المقالة، نقوم بتضمين طريقتين للمصادقة: مصادقة Microsoft Entra ومصادقة PostgreSQL. تعرض علامة التبويب Passwordless مصادقة Microsoft Entra وتعرض علامة التبويب Password مصادقة PostgreSQL.

مصادقة Microsoft Entra هي آلية للاتصال بقاعدة بيانات Azure ل PostgreSQL باستخدام الهويات المحددة في معرف Microsoft Entra. باستخدام مصادقة Microsoft Entra، يمكنك إدارة هويات مستخدمي قاعدة البيانات خدمات Microsoft الأخرى في موقع مركزي، ما يبسط إدارة الأذونات.

تستخدم مصادقة PostgreSQL الحسابات المخزنة في PostgreSQL. إذا اخترت استخدام كلمات المرور كبيانات اعتماد للحسابات، يتم تخزين بيانات الاعتماد هذه في جدول المستخدم. نظرا إلى تخزين كلمات المرور هذه في PostgreSQL، تحتاج إلى إدارة تدوير كلمات المرور بنفسك.

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

تحضير مشروعك

استخدم الخطوات التالية لإعداد مشروعك.

  1. أضف التبعية التالية إلى ملف pom.xml الخاص بمشروعك:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>com.azure.spring</groupId>
        <artifactId>spring-cloud-azure-starter-jdbc-postgresql</artifactId>
    </dependency>
    
  2. في ملف application.properties، قم بإزالة أي spring.datasource.* خصائص.

  3. حدّث التطبيق الحالي عن طريق تشغيل az spring app deploy، أو أنشئ توزيعًا جديدًا لهذا التغيير عن طريق تشغيل az spring app deployment create.

ربط تطبيقك بقاعدة بيانات Azure لمثيل PostgreSQL

إشعار

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

إشعار

بشكل افتراضي، يتم إنشاء موصلات الخدمة على مستوى التطبيق. لتجاوز الاتصالات، يمكنك إنشاء اتصالات أخرى مرة أخرى في عمليات التوزيع.

  1. تثبيت ملحق Service Connector بدون كلمة مرور ل Azure CLI:

    az extension add --name serviceconnector-passwordless --upgrade
    
  2. تكوين Azure Spring Apps للاتصال بقاعدة بيانات PostgreSQL باستخدام هوية مدارة معينة من قبل النظام باستخدام az spring connection create الأمر .

    az spring connection create postgres-flexible \
        --resource-group $AZ_SPRING_APPS_RESOURCE_GROUP \
        --service $AZ_SPRING_APPS_SERVICE_INSTANCE_NAME \
        --app $APP_NAME \
        --deployment $DEPLOYMENT_NAME \
        --target-resource-group $POSTGRES_RESOURCE_GROUP \
        --server $POSTGRES_SERVER_NAME \
        --database $DATABASE_NAME \
        --system-identity
    

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

في هذه المقالة، تعلمت كيفية ربط تطبيق في Azure Spring Apps بقاعدة بيانات Azure لمثيل PostgreSQL. ولمعرفة المزيد حول ربط الخدمات بتطبيق ما، راجع ربط قاعدة بيانات Azure Cosmos DB بتطبيق في Azure Spring Apps.