Sdílet prostřednictvím


Rychlý start: Integrace se službou Azure Database for PostgreSQL a Azure Cache for Redis

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:❌ Basic/Standard ✔️ Enterprise

V tomto rychlém startu se dozvíte, jak zřídit a připravit Azure Database for PostgreSQL a Azure Cache for Redis, které se mají používat s aplikacemi běžícími v plánu Azure Spring Apps Enterprise.

Tento článek používá tyto služby pro demonstrační účely. Aplikaci můžete připojit k libovolné zálohovací službě podle vašeho výběru pomocí pokynů podobných těm v části Vytvoření služby Připojení orů dále v tomto článku.

Požadavky

Zřizování služeb

Pokud chcete do aplikace přidat trvalost, vytvořte flexibilní server Azure Cache for Redis a flexibilní server Azure Database for PostgreSQL.

Následující kroky popisují, jak zřídit instanci Azure Cache for Redis a flexibilní server Azure Database for PostgreSQL pomocí Azure CLI.

  1. Pomocí následujících příkazů vytvořte proměnné, které budou obsahovat názvy prostředků. Zástupné symboly nezapomeňte nahradit vlastními hodnotami.

    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. Pomocí následujícího příkazu vytvořte instanci Azure Cache for Redis:

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

    Poznámka:

    Vytvoření redis Cache trvá přibližně 20 minut.

  3. Pomocí následujícího příkazu vytvořte instanci flexibilního serveru Azure Database for PostgreSQL:

    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. Pomocí následujícího příkazu povolte připojení z jiných služeb Azure k nově vytvořenému flexibilnímu serveru:

    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. Pomocí následujícího příkazu povolte uuid-ossp rozšíření pro nově vytvořený flexibilní server:

    az postgres flexible-server parameter set \
        --resource-group ${RESOURCE_GROUP} \
        --name azure.extensions \
        --value uuid-ossp \
        --server-name ${POSTGRES_SERVER_NAME}
    
  6. K vytvoření databáze pro aplikaci Order Service použijte následující příkaz:

    az postgres flexible-server db create \
        --resource-group ${RESOURCE_GROUP} \
        --server-name ${POSTGRES_SERVER_NAME} \
        --database-name acmefit_order
    
  7. K vytvoření databáze pro aplikaci Katalogová služba použijte následující příkaz:

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

Vytváření Připojení orů služby

Následující kroky ukazují, jak svázat aplikace spuštěné v plánu Azure Spring Apps Enterprise s jinými službami Azure pomocí Připojení orů služby.

  1. Pomocí následujícího příkazu vytvořte konektor služby pro aplikaci Služby objednávek ve službě Azure Database for PostgreSQL:

    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. Pomocí následujícího příkazu vytvořte konektor služby pro službu Azure Database for PostgreSQL pro aplikaci Služby katalogu:

    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. Pomocí následujícího příkazu vytvořte konektor služby pro azure Cache for Redis pro aplikaci Cart Service:

    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. Pomocí následujícího příkazu znovu načtěte aplikaci Služby katalogu a načtěte nové vlastnosti připojení:

    az spring app restart \
        --resource-group ${RESOURCE_GROUP} \
        --name catalog-service \
        --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME}
    
  5. K načtení informací o připojení k databázi použijte následující příkaz:

    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)
    

    Poznámka:

    Pokud u nofsql 6.0 dojde k výjimce ověření SSL, nezapomeňte změnit režim SSL z RequireVerifyFullna . Další informace najdete ve zprávě k vydání verze Npgsql 6.0.

  6. K aktualizaci aplikace Order Service použijte následující příkaz:

    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. Pomocí následujících příkazů načtěte informace o připojení Redis a aktualizujte aplikaci Cart Service:

    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}"
    

Přístup k aplikaci

Načtěte adresu URL brány Spring Cloud a prozkoumejte aktualizovanou aplikaci. K prozkoumání aplikace můžete použít výstup z následujícího příkazu:

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}"

Vyčištění prostředků

Pokud chcete pokračovat v práci s dalšími rychlými starty a kurzy, můžete tyto prostředky ponechat na místě. Pokud už ji nepotřebujete, odstraňte skupinu prostředků, která odstraní prostředky ve skupině prostředků. Pokud chcete odstranit skupinu prostředků pomocí Azure CLI, použijte následující příkazy:

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

Další kroky

Pokračujte k některému z následujících volitelných rychlých startů: