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

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.

  1. 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>
    
  2. 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.

  3. 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
    
  4. 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
    
  5. 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}
    
  6. 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
    
  7. 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.

  1. 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
    
  2. 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
    
  3. 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
    
  4. 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}
    
  5. 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 ke VerifyFull. Untuk informasi selengkapnya, lihat Catatan Rilis Npgsql 6.0.

  6. 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}"
    
  7. 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: