Rychlý start: Integrace se službou Azure Database for PostgreSQL a Azure Cache for Redis
Poznámka:
Plány Basic, Standard a Enterprise budou od poloviny března 2025 vyřazeny ze 3letého období vyřazení. Doporučujeme přejít na Azure Container Apps. Další informace najdete v oznámení o vyřazení Azure Spring Apps.
Od 30. září 2024 bude od 30. září 2024 zastaralý plán s úplným vypnutím po šesti měsících. Doporučujeme přejít na Azure Container Apps. Další informace najdete v tématu Migrace spotřeby Azure Spring Apps Úrovně Standard a vyhrazeného plánu do Azure Container Apps.
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é backingové službě podle vašeho výběru pomocí pokynů podobných těm v části Vytvoření konektorů služeb dále v tomto článku.
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Vysvětlení a splnění části Požadavky plánu Enterprise na Azure Marketplace
- Azure CLI verze 2.45.0 nebo vyšší.
- Git
- jq
- Rozšíření plánu Azure Spring Apps Enterprise Pomocí následujícího příkazu odeberte předchozí verze a nainstalujte nejnovější rozšíření plánu Enterprise. Pokud jste rozšíření nainstalovali dříve
spring-cloud
, odinstalujte ho, abyste se vyhnuli neshodám konfigurace a verzí.az extension add --upgrade --name spring az extension remove --name spring-cloud
- Proveďte kroky v části Sestavení a nasazení aplikací do Azure Spring Apps pomocí plánu Enterprise.
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.
Poznámka:
Microsoft doporučuje používat nejbezpečnější dostupný tok ověřování. Tok ověřování popsaný v tomto postupu, například pro databáze, mezipaměti, zasílání zpráv nebo služby AI, vyžaduje velmi vysoký stupeň důvěryhodnosti v aplikaci a nese rizika, která nejsou přítomna v jiných tocích. Tento tok používejte pouze v případě, že nejsou možné zabezpečit možnosti, jako jsou spravované identity pro připojení bez hesla nebo bez klíčů. V případě místních operací počítačů upřednostňujete identity uživatelů pro připojení bez hesla nebo bez klíčů.
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>
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.
Pomocí následujícího příkazu vytvořte instanci flexibilního serveru Azure Database for PostgreSQL:
Poznámka:
Microsoft doporučuje používat nejbezpečnější dostupný tok ověřování. Tok ověřování popsaný v tomto postupu, například pro databáze, mezipaměti, zasílání zpráv nebo služby AI, vyžaduje velmi vysoký stupeň důvěryhodnosti v aplikaci a nese rizika, která nejsou přítomna v jiných tocích. Tento tok používejte pouze v případě, že nejsou možné zabezpečit možnosti, jako jsou spravované identity pro připojení bez hesla nebo bez klíčů. V případě místních operací počítačů upřednostňujete identity uživatelů pro připojení bez hesla nebo bez klíčů.
az postgres flexible-server create \ --resource-group ${RESOURCE_GROUP} \ --name ${POSTGRES_SERVER_NAME} \ --location ${REGION} \ --admin-user ${POSTGRES_USERNAME} \ --admin-password ${POSTGRES_PASSWORD} \ --yes
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
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}
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
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í konektorů služeb
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í konektorů služeb.
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:
Poznámka:
Microsoft doporučuje používat nejbezpečnější dostupný tok ověřování. Tok ověřování popsaný v tomto postupu, například pro databáze, mezipaměti, zasílání zpráv nebo služby AI, vyžaduje velmi vysoký stupeň důvěryhodnosti v aplikaci a nese rizika, která nejsou přítomna v jiných tocích. Tento tok používejte pouze v případě, že nejsou možné zabezpečit možnosti, jako jsou spravované identity pro připojení bez hesla nebo bez klíčů. V případě místních operací počítačů upřednostňujete identity uživatelů pro připojení bez hesla nebo bez klíčů.
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
Pomocí následujícího příkazu vytvořte konektor služby pro službu Azure Database for PostgreSQL pro aplikaci Služby katalogu:
Poznámka:
Microsoft doporučuje používat nejbezpečnější dostupný tok ověřování. Tok ověřování popsaný v tomto postupu, například pro databáze, mezipaměti, zasílání zpráv nebo služby AI, vyžaduje velmi vysoký stupeň důvěryhodnosti v aplikaci a nese rizika, která nejsou přítomna v jiných tocích. Tento tok používejte pouze v případě, že nejsou možné zabezpečit možnosti, jako jsou spravované identity pro připojení bez hesla nebo bez klíčů. V případě místních operací počítačů upřednostňujete identity uživatelů pro připojení bez hesla nebo bez klíčů.
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
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
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}
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
Require
VerifyFull
na . Další informace najdete ve zprávě k vydání verze Npgsql 6.0.K aktualizaci aplikace Order Service použijte následující příkaz:
Poznámka:
Microsoft doporučuje používat nejbezpečnější dostupný tok ověřování. Tok ověřování popsaný v tomto postupu, například pro databáze, mezipaměti, zasílání zpráv nebo služby AI, vyžaduje velmi vysoký stupeň důvěryhodnosti v aplikaci a nese rizika, která nejsou přítomna v jiných tocích. Tento tok používejte pouze v případě, že nejsou možné zabezpečit možnosti, jako jsou spravované identity pro připojení bez hesla nebo bez klíčů. V případě místních operací počítačů upřednostňujete identity uživatelů pro připojení bez hesla nebo bez klíčů.
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}"
Pomocí následujících příkazů načtěte informace o připojení Redis a aktualizujte aplikaci Cart Service:
Poznámka:
Microsoft doporučuje používat nejbezpečnější dostupný tok ověřování. Tok ověřování popsaný v tomto postupu, například pro databáze, mezipaměti, zasílání zpráv nebo služby AI, vyžaduje velmi vysoký stupeň důvěryhodnosti v aplikaci a nese rizika, která nejsou přítomna v jiných tocích. Tento tok používejte pouze v případě, že nejsou možné zabezpečit možnosti, jako jsou spravované identity pro připojení bez hesla nebo bez klíčů. V případě místních operací počítačů upřednostňujete identity uživatelů pro připojení bez hesla nebo bez klíčů.
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ů: