Rövid útmutató: Integrálás az Azure Database for PostgreSQL-hez és az Azure Cache for Redishez

Feljegyzés

Az Azure Spring Apps az Azure Spring Cloud szolgáltatás új neve. Bár a szolgáltatásnak új neve van, bizonyos helyeken a régi nevet fogja látni egy darabig, miközben az eszközök, például képernyőképek, videók és diagramok frissítésével dolgozunk.

Ez a cikk a következőre vonatkozik:❌ Basic/Standard ✔️ Enterprise

Ez a rövid útmutató bemutatja, hogyan építhet ki és készíthet elő egy Azure Database for PostgreSQL-et és egy Azure Cache for Redist az Azure Spring Apps Enterprise-csomagban futó alkalmazásokkal való használatra.

Ez a cikk ezeket a szolgáltatásokat bemutató célokra használja. Az alkalmazást a cikk későbbi, a Szolgáltatás létrehozása Csatlakozás ors szakaszában található utasításokhoz hasonló utasítások használatával csatlakoztathatja az ön által választott háttérszolgáltatáshoz.

Előfeltételek

Szolgáltatások kiépítése

Az alkalmazás megőrzésének hozzáadásához hozzon létre egy Azure Cache for Redist és egy rugalmas Azure Database for PostgreSQL-kiszolgálót.

Az alábbi lépések bemutatják, hogyan építhet ki egy Azure Cache for Redis-példányt és egy rugalmas Azure Database for PostgreSQL-kiszolgálót az Azure CLI használatával.

  1. Hozzon létre változókat az erőforrásnevek tárolásához az alábbi parancsokkal. Mindenképpen cserélje le a helyőrzőket a saját értékeire.

    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. Az alábbi paranccsal hozza létre az Azure Cache for Redis egy példányát:

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

    Feljegyzés

    A Redis Cache létrehozása körülbelül 20 percet vesz igénybe.

  3. Az alábbi paranccsal hozzon létre egy rugalmas Azure Database for PostgreSQL-kiszolgálópéldányt:

    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. Az alábbi paranccsal engedélyezheti a más Azure-szolgáltatások és az újonnan létrehozott rugalmas kiszolgáló közötti kapcsolatokat:

    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. Az újonnan létrehozott rugalmas kiszolgáló bővítményének engedélyezéséhez használja az uuid-ossp alábbi parancsot:

    az postgres flexible-server parameter set \
        --resource-group ${RESOURCE_GROUP} \
        --name azure.extensions \
        --value uuid-ossp \
        --server-name ${POSTGRES_SERVER_NAME}
    
  6. A következő paranccsal hozzon létre egy adatbázist az Order Service alkalmazáshoz:

    az postgres flexible-server db create \
        --resource-group ${RESOURCE_GROUP} \
        --server-name ${POSTGRES_SERVER_NAME} \
        --database-name acmefit_order
    
  7. Az alábbi paranccsal hozzon létre adatbázist a Catalog Service-alkalmazáshoz:

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

Szolgáltatás Csatlakozás orok létrehozása

Az alábbi lépések bemutatják, hogyan kötheti az Azure Spring Apps Enterprise-csomagban futó alkalmazásokat más Azure-szolgáltatásokhoz a Service Csatlakozás orok használatával.

  1. A következő paranccsal hozzon létre egy szolgáltatás-összekötőt az Azure Database for PostgreSQL-hez az Order Service alkalmazáshoz:

    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. A katalógusszolgáltatás-alkalmazáshoz az alábbi paranccsal hozhat létre szolgáltatás-összekötőt az Azure Database for PostgreSQL-hez:

    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. A következő paranccsal hozzon létre egy szolgáltatás-összekötőt az Azure Cache for Redishez a Cart Service-alkalmazáshoz:

    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. Az alábbi paranccsal töltse be újra a Catalog Service alkalmazást az új kapcsolat tulajdonságainak betöltéséhez:

    az spring app restart \
        --resource-group ${RESOURCE_GROUP} \
        --name catalog-service \
        --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME}
    
  5. Az adatbázis kapcsolati adatainak lekéréséhez használja a következő parancsot:

    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)
    

    Feljegyzés

    Ha ssl-ellenőrzési kivételt kap a Nofsql 6.0-val, mindenképpen módosítsa az SSL módot Require a következőre VerifyFull. További információkért tekintse meg az Npgsql 6.0 kibocsátási megjegyzéseit.

  6. Az Order Service alkalmazás frissítéséhez használja a következő parancsot:

    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. A Redis kapcsolati adatainak lekéréséhez és a Cart Service alkalmazás frissítéséhez használja az alábbi parancsokat:

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

Az alkalmazás elérése

Kérje le a Spring Cloud Gateway URL-címét, és vizsgálja meg a frissített alkalmazást. Az alkalmazás megismeréséhez használja a következő parancs kimenetét:

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

Az erőforrások eltávolítása

Ha további rövid útmutatókkal és oktatóanyagokkal szeretne dolgozni, érdemes lehet ezeket az erőforrásokat a helyén hagyni. Ha már nincs rá szükség, törölje az erőforráscsoportot, amely törli az erőforráscsoport erőforrásait. Ha törölni szeretné az erőforráscsoportot az Azure CLI használatával, használja a következő parancsokat:

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

Következő lépések

Folytassa az alábbi rövid útmutatók bármelyikével: