Share via


Hızlı Başlangıç: PostgreSQL için Azure Veritabanı ve Redis için Azure Cache ile tümleştirme

Not

Azure Spring Apps, Azure Spring Cloud hizmetinin yeni adıdır. Hizmetin yeni bir adı olsa da, ekran görüntüleri, videolar ve diyagramlar gibi varlıkları güncelleştirmek için çalışırken bazı yerlerde eski adı bir süre görürsünüz.

Bu makale şunlar için geçerlidir:❌ Temel/Standart ✔️ Kurumsal

Bu hızlı başlangıçta, Azure Spring Apps Kurumsal planında çalışan uygulamalarla kullanılacak bir PostgreSQL için Azure Veritabanı ve Redis için Azure Cache sağlama ve hazırlama adımları gösterilmektedir.

Bu makalede bu hizmetler tanıtım amacıyla kullanılır. Uygulamanızı, bu makalenin devamında yer alan Hizmet Bağlan oluşturma bölümündekilere benzer yönergeleri kullanarak istediğiniz herhangi bir yedekleme hizmetine bağlayabilirsiniz.

Önkoşullar

Hizmet sağlama

Uygulamaya kalıcılık eklemek için bir Redis için Azure Cache ve PostgreSQL için Azure Veritabanı Esnek Sunucu oluşturun.

Aşağıdaki adımlarda, Azure CLI kullanarak bir Redis için Azure Cache örneğinin ve PostgreSQL için Azure Veritabanı Esnek Sunucunun nasıl sağlandığı açıklanmaktadır.

  1. Aşağıdaki komutları kullanarak kaynak adlarını tutmak için değişkenler oluşturun. Yer tutucuları kendi değerlerinizle değiştirmeyi unutmayın.

    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. Redis için Azure Cache örneğini oluşturmak için aşağıdaki komutu kullanın:

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

    Not

    Redis Cache oluşturma işlemi yaklaşık 20 dakika sürer.

  3. PostgreSQL için Azure Veritabanı Esnek Sunucu örneği oluşturmak için aşağıdaki komutu kullanın:

    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. Diğer Azure Hizmetleri'nden yeni oluşturulan Esnek Sunucuya bağlantılara izin vermek için aşağıdaki komutu kullanın:

    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. Yeni oluşturulan Esnek Sunucu uzantısını uuid-ossp etkinleştirmek için aşağıdaki komutu kullanın:

    az postgres flexible-server parameter set \
        --resource-group ${RESOURCE_GROUP} \
        --name azure.extensions \
        --value uuid-ossp \
        --server-name ${POSTGRES_SERVER_NAME}
    
  6. Sipariş Hizmeti uygulaması için bir veritabanı oluşturmak için aşağıdaki komutu kullanın:

    az postgres flexible-server db create \
        --resource-group ${RESOURCE_GROUP} \
        --server-name ${POSTGRES_SERVER_NAME} \
        --database-name acmefit_order
    
  7. Katalog Hizmeti uygulaması için bir veritabanı oluşturmak için aşağıdaki komutu kullanın:

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

Hizmet Bağlan oluşturucuları oluşturma

Aşağıdaki adımlarda, Service Bağlan ors kullanarak Azure Spring Apps Kurumsal planında çalışan uygulamaların diğer Azure hizmetlerine nasıl bağlandığı gösterilmektedir.

  1. Sipariş Hizmeti uygulaması için PostgreSQL için Azure Veritabanı bir hizmet bağlayıcısı oluşturmak için aşağıdaki komutu kullanın:

    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. Katalog Hizmeti uygulaması için PostgreSQL için Azure Veritabanı bir hizmet bağlayıcısı oluşturmak için aşağıdaki komutu kullanın:

    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. Sepet Hizmeti uygulaması için Redis için Azure Cache bir hizmet bağlayıcısı oluşturmak için aşağıdaki komutu kullanın:

    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. Katalog Hizmeti uygulamasını yeni bağlantı özelliklerini yüklemek üzere yeniden yüklemek için aşağıdaki komutu kullanın:

    az spring app restart \
        --resource-group ${RESOURCE_GROUP} \
        --name catalog-service \
        --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME}
    
  5. Veritabanı bağlantı bilgilerini almak için aşağıdaki komutu kullanın:

    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)
    

    Not

    Nofsql 6.0 ile ssl doğrulama özel durumu alırsanız SSL modunu RequireVerifyFullolarak değiştirdiğinizden emin olun. Daha fazla bilgi için bkz . Npgsql 6.0 Sürüm Notları.

  6. Sipariş Hizmeti uygulamasını güncelleştirmek için aşağıdaki komutu kullanın:

    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. Redis bağlantı bilgilerini almak ve Cart Service uygulamasını güncelleştirmek için aşağıdaki komutları kullanın:

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

Uygulamaya erişme

Spring Cloud Gateway URL'sini alın ve güncelleştirilmiş uygulamayı keşfedin. Uygulamayı keşfetmek için aşağıdaki komutun çıkışını kullanabilirsiniz:

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

Kaynakları temizleme

Sonraki hızlı başlangıçlar ve öğreticilerle çalışmaya devam etmek istiyorsanız, bu kaynakları yerinde bırakmak isteyebilirsiniz. Artık gerekli olmadığında kaynak grubunu silin; bu da kaynak grubundaki kaynakları siler. Azure CLI kullanarak kaynak grubunu silmek için aşağıdaki komutları kullanın:

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

Sonraki adımlar

Aşağıdaki isteğe bağlı hızlı başlangıçlardan herhangi birine geçin: