Udostępnij za pomocą


Wiązanie usługi Azure Database for PostgreSQL z aplikacją w usłudze Azure Spring Apps

Note

Plany Podstawowy, Standardowy i Enterprise weszły w okres wycofania z dniem 17 marca 2025 r. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu usługi Azure Spring Apps.

Ten artykuł dotyczy:✅ Java ✅ C#

Ten artykuł dotyczy:✅ Podstawowa/Standardowa ✅ Enterprise

Usługa Azure Spring Apps umożliwia automatyczne wiązanie wybranych usług platformy Azure z aplikacjami zamiast ręcznego konfigurowania aplikacji Spring Boot. W tym artykule pokazano, jak zbindować aplikację z instancją bazy danych Azure PostgreSQL.

W tym artykule uwzględniliśmy dwie metody uwierzytelniania: uwierzytelnianie firmy Microsoft Entra i uwierzytelnianie PostgreSQL. Karta Bez hasła zawiera uwierzytelnianie firmy Microsoft Entra, a karta Hasło zawiera uwierzytelnianie PostgreSQL.

Uwierzytelnianie Microsoft Entra to mechanizm łączenia się z usługą Azure Database for PostgreSQL przy użyciu tożsamości zdefiniowanych w Microsoft Entra ID. Dzięki uwierzytelnianiu firmy Microsoft Entra można zarządzać tożsamościami użytkowników bazy danych i innymi usługami firmy Microsoft w centralnej lokalizacji, co upraszcza zarządzanie uprawnieniami.

Uwierzytelnianie postgreSQL używa kont przechowywanych w usłudze PostgreSQL. Jeśli zdecydujesz się używać haseł jako poświadczeń dla kont, te poświadczenia są przechowywane w tabeli użytkowników. Ponieważ te hasła są przechowywane w usłudze PostgreSQL, musisz samodzielnie zarządzać rotacją haseł.

Prerequisites

Przygotowywanie projektu

Aby przygotować projekt, wykonaj następujące czynności.

  1. W pliku pom.xml projektu dodaj następującą zależność:

    <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. W pliku application.properties usuń wszelkie spring.datasource.* właściwości.

  3. Zaktualizuj bieżącą aplikację, uruchamiając az spring app deploypolecenie , lub utwórz nowe wdrożenie dla tej zmiany, uruchamiając polecenie az spring app deployment create.

Podłącz swoją aplikację do instancji Azure Database for PostgreSQL

Note

Pamiętaj, aby wybrać tylko jedno z poniższych podejść do utworzenia połączenia. Jeśli już utworzono tabele z jednym połączeniem, inni użytkownicy nie będą mogli uzyskać dostępu do tabel ani zmodyfikować ich. Podczas próby zastosowania innego podejścia aplikacja będzie zgłaszać błędy, takie jak "Odmowa uprawnień". Aby rozwiązać ten problem, połącz się z nową bazą danych lub usuń ją i utwórz ponownie istniejącą.

Note

Domyślnie łączniki usługi są tworzone na poziomie aplikacji. Aby zastąpić połączenia, możesz ponownie utworzyć inne połączenia we wdrożeniach.

  1. Zainstaluj rozszerzenie bez hasła łącznika usługi dla interfejsu wiersza polecenia platformy Azure:

    az extension add --name serviceconnector-passwordless --upgrade
    
  2. Skonfiguruj usługę Azure Spring Apps, aby nawiązać połączenie z bazą danych PostgreSQL przy użyciu przypisanej przez system tożsamości zarządzanej az spring connection create przy użyciu polecenia .

    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
    

Dalsze kroki

W tym artykule nauczyłeś się, jak powiązać aplikację w usłudze Azure Spring Apps z wystąpieniem Azure Database for PostgreSQL. Aby dowiedzieć się więcej o wiązaniu usług z aplikacją, zobacz Wiązanie bazy danych usługi Azure Cosmos DB z aplikacją w usłudze Azure Spring Apps.