Övning – Ansluta till en databas

Slutförd

Eftersom du distribuerade Spring PetClinic-programmet med standarddatabasen H2 i minnet kanske du vill ansluta den till en kraftfullare, beständig databas som PostgreSQL. Genom att använda en beständig databas ser du till att dina programdata lagras även när programmet startas om, vilket ger bättre hållbarhet och skalbarhet för produktionsanvändning.

Anmärkning

Den här enheten är valfri. Du kan hoppa över det om du redan är bekant med databaskonfigurationer.

Skapa PostgreSQL-servern

Använd följande kommandon för att ange miljövariabler som används för att skapa databasanslutningarna:

export POSTGRESQLSERVER="petclinic-server"
export DATABASE="petclinic"

Uppdatera spring.profiles.active för PostgreSQL

Använd följande kommando för att uppdatera miljövariablerna för de distribuerade containerapparna för att ange databasen som PostgreSQL:

az containerapp update \
    --resource-group $RESOURCE_GROUP \
    --name $APP_NAME \
    --set-env-vars "spring.profiles.active"="postgres"

Skapa en ny databas

Använd följande steg för att skapa en databas i en ny flexibel PostgreSQL-serverinstans:

  1. Skapa en flexibel PostgreSQL-server med hjälp av följande kommando:

    az postgres flexible-server create \
        --resource-group $RESOURCE_GROUP \
        --name $POSTGRESQLSERVER
    
  2. Leta upp det automatiskt genererade administratörsanvändarnamnet och lösenordet i utdata och spara sedan dessa autentiseringsuppgifter på en säker plats. Du kan också använda dem senare för att ansluta och konfigurera databasen.

  3. Skapa en ny databas i postgreSQL-instansen för flexibel server med hjälp av följande kommando:

    az postgres flexible-server db create \
        --resource-group $RESOURCE_GROUP \
        --database-name $DATABASE \
        --server-name $POSTGRESQLSERVER
    

    Mer information finns i Snabbstart: Skapa en instans av Azure Database for PostgreSQL – flexibel server.

Ansluta via Service Connector

Anslut sedan din tidigare distribuerade containerapp till PostgreSQL-databasen med hjälp av följande steg:

  1. I Azure-portalen går du till din Azure Container Apps-instans.

  2. Gå till Inställningar>Tjänstanslutning.

  3. Välj Skapa och fyll sedan i anslutningsformuläret med hjälp av följande information:

    • Grundläggande:
      • För Tjänsttyp använder du DB för flexibel PostgreSQL-server.
      • För Flexibel PostgreSQL-server använder du petclinic-server.
      • För PostgreSQL-databas använder du petclinic.
      • För Klienttyp använder du SpringBoot.
    • Autentisering:
      • Välj Anslutningssträng.
      • Fyll i värden för fälten Användarnamn och Lösenord och lämna de andra fälten med sina standardinställningar.

    Skärmbild av Azure-portalen som visar sidan Service Connector (förhandsversion) och fönstret Skapa anslutning.

  4. Bekräfta och distribuera ändringarna.

  5. När distributionen är klar väljer du Verifiera för att verifiera anslutningsstatusen.

Mer information finns i Ansluta till PostgreSQL Database från en Java Quarkus Container App utan hemligheter med hjälp av en hanterad identitet.

Verifiera databaskonfigurationen

Konfigurationen är klar. Om du ansluter till PostgreSQL-databasen kan du se att tabellen skapades, vilket bör likna den som visas i följande exempel:

           List of relations
| Schema | Name            | Type  |
|--------|-----------------|-------|
| public | owners          | table |
| public | pets            | table |
| public | specialties     | table |
| public | types           | table |
| public | vet_specialties | table |
| public | vets            | table |
| public | visits          | table |