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

Poznámka:

Azure Spring Apps je nový název služby Azure Spring Cloud. Přestože má služba nový název, na některých místech uvidíte starý název, protože pracujeme na aktualizaci prostředků, jako jsou snímky obrazovky, videa a diagramy.

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 Připojení or služby 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í service Připojení or bez hesla 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
    

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:

Service Připojení ors are created at the deployment level. Takže pokud se vytvoří jiné nasazení, budete muset znovu vytvořit připojení.

  1. Nainstalujte rozšíření service Připojení or bez hesla 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 \
        --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.