Vytvoření vazby azure Database for PostgreSQL k vaší aplikaci v Azure Spring Apps

Poznámka:

Plány Basic, Standard a Enterprise budou od poloviny března 2025 vyřazeny ze 3letého období vyřazení. Doporučujeme přejít na Azure Container Apps. Další informace najdete v oznámení o vyřazení Azure Spring Apps.

Od 30. září 2024 bude od 30. září 2024 zastaralý plán s úplným vypnutím po šesti měsících. Doporučujeme přejít na Azure Container Apps. Další informace najdete v tématu Migrace spotřeby Azure Spring Apps Úrovně Standard a vyhrazeného plánu do Azure Container Apps.

Tento článek se vztahuje na: ✔️ Java ✔️ C#

Tento článek se vztahuje na: ✔️ Basic/Standard ✔️ Enterprise

Pomocí Azure Spring Apps můžete svázat vybrané služby Azure s vašimi aplikacemi automaticky a nemusíte aplikaci Spring Boot konfigurovat ručně. V tomto článku se dozvíte, jak vytvořit vazbu aplikace na instanci Azure Database for PostgreSQL.

V tomto článku obsahujeme dvě metody ověřování: ověřování Microsoft Entra a ověřování PostgreSQL. Karta Bez hesla zobrazuje ověřování Microsoft Entra a karta Heslo zobrazuje ověřování PostgreSQL.

Ověřování Microsoft Entra je mechanismus pro připojení ke službě Azure Database for PostgreSQL pomocí identit definovaných v MICROSOFT Entra ID. Pomocí ověřování Microsoft Entra můžete spravovat identity uživatelů databáze a další služby Microsoft v centrálním umístění, což zjednodušuje správu oprávnění.

Ověřování PostgreSQL používá účty uložené v PostgreSQL. Pokud se rozhodnete používat hesla jako přihlašovací údaje pro účty, uloží se tyto přihlašovací údaje do tabulky uživatelů. Vzhledem k tomu, že tato hesla jsou uložená v PostgreSQL, musíte spravovat rotaci hesel sami.

Požadavky

Příprava projektu

Pomocí následujících kroků připravte projekt.

  1. Do souboru pom.xml projektu přidejte následující závislost:

    <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. V souboru application.properties odeberte všechny spring.datasource.* vlastnosti.

  3. Aktualizujte aktuální aplikaci spuštěním az spring app deploypříkazu , nebo vytvořte nové nasazení pro tuto změnu spuštěním az spring app deployment create.

Vytvoření vazby aplikace k instanci Azure Database for PostgreSQL

Poznámka:

Při vytváření připojení nezapomeňte vybrat pouze jeden z následujících přístupů. Pokud jste už vytvořili tabulky s jedním připojením, ostatní uživatelé nemají přístup k tabulkám nebo je upravovat. Když vyzkoušíte jiný přístup, aplikace vyvolá chyby, jako je například "Oprávnění odepřeno". Pokud chcete tento problém vyřešit, připojte se k nové databázi nebo odstraňte a znovu vytvořte existující databázi.

Poznámka:

Ve výchozím nastavení se konektory služeb vytvářejí na úrovni aplikace. Pokud chcete přepsat připojení, můžete v nasazeních znovu vytvořit další připojení.

  1. Nainstalujte rozšíření bez hesla konektoru služby pro Azure CLI:

    az extension add --name serviceconnector-passwordless --upgrade
    
  2. Nakonfigurujte Azure Spring Apps pro připojení k databázi PostgreSQL pomocí spravované identity přiřazené systémem pomocí az spring connection create příkazu.

    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
    

Další kroky

V tomto článku jste zjistili, jak vytvořit vazbu aplikace v Azure Spring Apps na instanci Azure Database for PostgreSQL. Další informace o vazbách služeb k aplikaci najdete v tématu Vytvoření vazby databáze Azure Cosmos DB na aplikaci v Azure Spring Apps.