Share via


Quickstart: Integreren met Azure Database for PostgreSQL en Azure Cache voor Redis

Notitie

Azure Spring Apps is de nieuwe naam voor de Azure Spring Cloud-service. Hoewel de service een nieuwe naam heeft, ziet u de oude naam op sommige plaatsen terwijl we werken aan het bijwerken van assets, zoals schermopnamen, video's en diagrammen.

Dit artikel is van toepassing op:❌ Basic/Standard ✔️ Enterprise

In deze quickstart ziet u hoe u een Azure Database for PostgreSQL en een Azure Cache voor Redis kunt inrichten en voorbereiden om te worden gebruikt met apps die worden uitgevoerd in het Azure Spring Apps Enterprise-abonnement.

In dit artikel worden deze services gebruikt voor demonstratiedoeleinden. U kunt uw toepassing verbinden met elke back-upservice van uw keuze met behulp van instructies die vergelijkbaar zijn met de instructies in de sectie Service maken Verbinding maken ors verderop in dit artikel.

Vereisten

Services inrichten

Als u persistentie aan de toepassing wilt toevoegen, maakt u een Azure Cache voor Redis en een Flexibele Azure Database for PostgreSQL-server.

In de volgende stappen wordt beschreven hoe u een Azure Cache voor Redis-exemplaar en een Azure Database for PostgreSQL Flexible Server inricht met behulp van de Azure CLI.

  1. Maak variabelen voor het opslaan van de resourcenamen met behulp van de volgende opdrachten. Vervang de tijdelijke aanduidingen door uw eigen waarden.

    export REGION=<region>
    export RESOURCE_GROUP=<resource-group-name>
    export REDIS_CACHE_NAME=<redis-cache-name>
    export POSTGRES_SERVER_NAME=<postgres-server-name>
    export POSTGRES_USERNAME=<postgres-username>
    export POSTGRES_PASSWORD=<postgres-password>
    export AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME=<Azure-Spring-Apps-service-instance-name>
    
  2. Gebruik de volgende opdracht om een exemplaar van Azure Cache voor Redis te maken:

    az redis create \
        --resource-group ${RESOURCE_GROUP} \
        --name ${REDIS_CACHE_NAME} \
        --location ${REGION} \
        --sku Basic \
        --vm-size c0
    

    Notitie

    Het maken van Redis Cache duurt ongeveer 20 minuten.

  3. Gebruik de volgende opdracht om een Azure Database for PostgreSQL Flexible Server-exemplaar te maken:

    az postgres flexible-server create \
        --resource-group ${RESOURCE_GROUP} \
        --name ${POSTGRES_SERVER_NAME} \
        --location ${REGION} \
        --admin-user ${POSTGRES_USERNAME} \
        --admin-password ${POSTGRES_PASSWORD} \
        --yes
    
  4. Gebruik de volgende opdracht om verbindingen van andere Azure-services naar de zojuist gemaakte flexibele server toe te staan:

    az postgres flexible-server firewall-rule create \
        --rule-name allAzureIPs \
        --name ${POSTGRES_SERVER_NAME} \
        --resource-group ${RESOURCE_GROUP} \
        --start-ip-address 0.0.0.0 \
        --end-ip-address 0.0.0.0
    
  5. Gebruik de volgende opdracht om de uuid-ossp extensie in te schakelen voor de zojuist gemaakte flexibele server:

    az postgres flexible-server parameter set \
        --resource-group ${RESOURCE_GROUP} \
        --name azure.extensions \
        --value uuid-ossp \
        --server-name ${POSTGRES_SERVER_NAME}
    
  6. Gebruik de volgende opdracht om een database te maken voor de orderservicetoepassing:

    az postgres flexible-server db create \
        --resource-group ${RESOURCE_GROUP} \
        --server-name ${POSTGRES_SERVER_NAME} \
        --database-name acmefit_order
    
  7. Gebruik de volgende opdracht om een database te maken voor de Catalogusservicetoepassing:

    az postgres flexible-server db create \
        --resource-group ${RESOURCE_GROUP} \
        --server-name ${POSTGRES_SERVER_NAME} \
        --database-name acmefit_catalog
    

Service-Verbinding maken ors maken

In de volgende stappen ziet u hoe u toepassingen die worden uitgevoerd in het Azure Spring Apps Enterprise-abonnement verbindt met andere Azure-services met behulp van Service Verbinding maken ors.

  1. Gebruik de volgende opdracht om een serviceconnector te maken voor Azure Database for PostgreSQL voor de orderservicetoepassing:

    az spring connection create postgres-flexible \
        --resource-group ${RESOURCE_GROUP} \
        --target-resource-group ${RESOURCE_GROUP} \
        --connection order_service_db \
        --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME} \
        --app order-service \
        --deployment default \
        --server ${POSTGRES_SERVER_NAME} \
        --database acmefit_order \
        --secret name=${POSTGRES_USERNAME} secret=${POSTGRES_PASSWORD} \
        --client-type dotnet
    
  2. Gebruik de volgende opdracht om een serviceconnector te maken voor Azure Database for PostgreSQL voor de catalogusservicetoepassing:

    az spring connection create postgres-flexible \
        --resource-group ${RESOURCE_GROUP} \
        --target-resource-group ${RESOURCE_GROUP} \
        --connection catalog_service_db \
        --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME} \
        --app catalog-service \
        --deployment default \
        --server ${POSTGRES_SERVER_NAME} \
        --database acmefit_catalog \
        --secret name=${POSTGRES_USERNAME} secret=${POSTGRES_PASSWORD} \
        --client-type springboot
    
  3. Gebruik de volgende opdracht om een serviceconnector te maken om te Azure Cache voor Redis voor de winkelwagenservicetoepassing:

    az spring connection create redis \
        --resource-group ${RESOURCE_GROUP} \
        --target-resource-group ${RESOURCE_GROUP} \
        --connection cart_service_cache \
        --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME} \
        --app cart-service \
        --deployment default \
        --server ${REDIS_CACHE_NAME} \
        --database 0 \
        --client-type java
    
  4. Gebruik de volgende opdracht om de Catalogusservicetoepassing opnieuw te laden om de nieuwe verbindingseigenschappen te laden:

    az spring app restart \
        --resource-group ${RESOURCE_GROUP} \
        --name catalog-service \
        --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME}
    
  5. Gebruik de volgende opdracht om de verbindingsgegevens van de database op te halen:

    export POSTGRES_CONNECTION_STR=$(az spring connection show \
        --resource-group ${RESOURCE_GROUP} \
        --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME} \
        --deployment default \
        --connection order_service_db \
        --app order-service \
        | jq '.configurations[0].value' -r)
    

    Notitie

    Als u een uitzondering voor SSL-verificatie krijgt met Nofsql 6.0, moet u de SSL-modus wijzigen van Require in VerifyFull. Zie de opmerkingen bij de release npgsql 6.0 voor meer informatie.

  6. Gebruik de volgende opdracht om de orderservicetoepassing bij te werken:

    az spring app update \
        --resource-group ${RESOURCE_GROUP} \
        --name order-service \
        --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME} \
        --env "DatabaseProvider=Postgres" "ConnectionStrings__OrderContext=${POSTGRES_CONNECTION_STR}"
    
  7. Gebruik de volgende opdrachten om redis-verbindingsgegevens op te halen en de winkelwagenservicetoepassing bij te werken:

    export REDIS_CONN_STR=$(az spring connection show \
        --resource-group ${RESOURCE_GROUP} \
        --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME} \
        --deployment default \
        --app cart-service \
        --connection cart_service_cache | jq -r '.configurations[0].value')
    
    export GATEWAY_URL=$(az spring gateway show \
        --resource-group ${RESOURCE_GROUP} \
        --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME} | jq -r '.properties.url')
    
    az spring app update \
        --resource-group ${RESOURCE_GROUP} \
        --name cart-service \
        --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME} \
        --env "CART_PORT=8080" "REDIS_CONNECTIONSTRING=${REDIS_CONN_STR}" "AUTH_URL=https://${GATEWAY_URL}"
    

Toegang tot de toepassing

Haal de URL voor Spring Cloud Gateway op en verken de bijgewerkte toepassing. U kunt de uitvoer van de volgende opdracht gebruiken om de toepassing te verkennen:

export GATEWAY_URL=$(az spring gateway show \
    --resource-group ${RESOURCE_GROUP} \
    --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME} | jq -r '.properties.url')

echo "https://${GATEWAY_URL}"

Resources opschonen

Als u van plan bent om verder te gaan met volgende snelstarts en zelfstudies, kunt u deze resources het beste intact laten. Als u de resourcegroep niet meer nodig hebt, verwijdert u deze. Hierdoor worden ook de resources in de resourcegroep verwijderd. Als u de resourcegroep wilt verwijderen met behulp van Azure CLI, gebruikt u de volgende opdrachten:

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

Volgende stappen

Ga door naar een van de volgende optionele quickstarts: