Mulai cepat: Mengintegrasikan dengan Azure Database for PostgreSQL dan Azure Cache for Redis
Catatan
Azure Spring Apps adalah nama baru untuk layanan Azure Spring Cloud. Meskipun layanan memiliki nama baru, Anda akan melihat nama lama di beberapa tempat untuk sementara saat kami berupaya memperbarui aset seperti cuplikan layar, video, dan diagram.
Artikel ini berlaku untuk:❌ Basic/Standard ✔️ Enterprise
Mulai cepat ini menunjukkan kepada Anda cara memprovisikan dan menyiapkan Azure Database for PostgreSQL dan Azure Cache for Redis untuk digunakan dengan aplikasi yang berjalan dalam paket Azure Spring Apps Enterprise.
Artikel ini menggunakan layanan ini untuk tujuan demonstrasi. Anda dapat menyambungkan aplikasi Anda ke layanan dukungan apa pun pilihan Anda dengan menggunakan instruksi yang mirip dengan yang ada di bagian Buat Koneksi or Layanan nanti di artikel ini.
Prasyarat
- Akun Azure dengan langganan aktif. Buat akun secara gratis.
- Pahami dan penuhi bagian Persyaratan paket Enterprise di Marketplace Azure.
- Azure CLI versi 2.45.0 atau yang lebih tinggi.
- Git.
- jq
- Ekstensi paket Azure Spring Apps Enterprise. Gunakan perintah berikut untuk menghapus versi sebelumnya dan menginstal ekstensi paket Enterprise terbaru. Jika sebelumnya Anda menginstal ekstensi
spring-cloud
, hapus instalannya untuk menghindari ketidakcocokan konfigurasi dan versi.az extension add --upgrade --name spring az extension remove --name spring-cloud
- Selesaikan langkah-langkah dalam Membangun dan menyebarkan aplikasi ke Azure Spring Apps menggunakan paket Enterprise.
Layanan provisi
Untuk menambahkan persistensi ke aplikasi, buat Azure Cache for Redis dan Server Fleksibel Azure Database for PostgreSQL.
Langkah-langkah berikut menjelaskan cara memprovisikan instans Azure Cache for Redis dan Azure Database for PostgreSQL Flexible Server dengan menggunakan Azure CLI.
Buat variabel untuk menahan nama sumber daya dengan menggunakan perintah berikut. Pastikan untuk mengganti placeholder dengan nilai Anda sendiri.
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>
Gunakan perintah berikut untuk membuat instans Azure Cache for Redis:
az redis create \ --resource-group ${RESOURCE_GROUP} \ --name ${REDIS_CACHE_NAME} \ --location ${REGION} \ --sku Basic \ --vm-size c0
Catatan
Pembuatan Redis Cache membutuhkan waktu sekitar 20 menit.
Gunakan perintah berikut untuk membuat instans Server Fleksibel 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
Gunakan perintah berikut untuk mengizinkan koneksi dari Layanan Azure lainnya ke Server Fleksibel yang baru dibuat:
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
Gunakan perintah berikut untuk mengaktifkan
uuid-ossp
ekstensi untuk Server Fleksibel yang baru dibuat:az postgres flexible-server parameter set \ --resource-group ${RESOURCE_GROUP} \ --name azure.extensions \ --value uuid-ossp \ --server-name ${POSTGRES_SERVER_NAME}
Gunakan perintah berikut untuk membuat database untuk aplikasi Order Service:
az postgres flexible-server db create \ --resource-group ${RESOURCE_GROUP} \ --server-name ${POSTGRES_SERVER_NAME} \ --database-name acmefit_order
Gunakan perintah berikut untuk membuat database untuk aplikasi Catalog Service:
az postgres flexible-server db create \ --resource-group ${RESOURCE_GROUP} \ --server-name ${POSTGRES_SERVER_NAME} \ --database-name acmefit_catalog
Membuat Koneksi or Layanan
Langkah-langkah berikut menunjukkan cara mengikat aplikasi yang berjalan dalam paket Azure Spring Apps Enterprise ke layanan Azure lainnya dengan menggunakan Service Koneksi ors.
Gunakan perintah berikut untuk membuat konektor layanan ke Azure Database for PostgreSQL untuk aplikasi Order Service:
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
Gunakan perintah berikut untuk membuat konektor layanan ke Azure Database for PostgreSQL untuk aplikasi Catalog Service:
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
Gunakan perintah berikut untuk membuat konektor layanan ke Azure Cache for Redis untuk aplikasi 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
Gunakan perintah berikut untuk memuat ulang aplikasi Catalog Service untuk memuat properti koneksi baru:
az spring app restart \ --resource-group ${RESOURCE_GROUP} \ --name catalog-service \ --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME}
Gunakan perintah berikut untuk mengambil informasi koneksi database:
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)
Catatan
Jika Anda mendapatkan pengecualian verifikasi SSL dengan Nofsql 6.0, pastikan untuk mengubah mode SSL dari
Require
keVerifyFull
. Untuk informasi selengkapnya, lihat Catatan Rilis Npgsql 6.0.Gunakan perintah berikut untuk memperbarui aplikasi Order Service:
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}"
Gunakan perintah berikut untuk mengambil informasi koneksi Redis dan memperbarui aplikasi 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}"
Mengakses aplikasi
Ambil URL untuk Spring Cloud Gateway dan jelajahi aplikasi yang diperbarui. Anda dapat menggunakan output dari perintah berikut untuk menjelajahi aplikasi:
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}"
Membersihkan sumber daya
Jika Anda berencana untuk terus bekerja dengan mulai cepat dan tutorial berikutnya, biarkan sumber daya ini tetap di tempatnya. Jika tidak lagi diperlukan, hapus grup sumber daya yang juga akan menghapus sumber daya di grup sumber daya. Untuk menghapus grup sumber daya dengan menggunakan Azure CLI, gunakan perintah berikut:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Langkah berikutnya
Lanjutkan ke salah satu mulai cepat opsional berikut: