Spring Cloud Azure 4.0 için geçiş kılavuzu
Bu kılavuz, eski Azure Spring kitaplıklarından Spring Cloud Azure 4.0'a geçişe yardımcı olur.
Giriş
Grup kimliği ve yapıt kimliği modern kitaplıkları ve deseni com.azure.spring:spring-cloud-azure-*
com.azure.spring:azure-spring-boot-*
, com.azure.spring:azure-spring-cloud-*
veya com.azure.spring:azure-spring-integration-*
eski kitaplıkları içeren deseni izleyen kitaplıkları çağıracağız.
Bu kılavuz, modern ve eski kitaplıklar arasındaki benzer yapılandırmalar için yan yana karşılaştırmalara odaklanacaktır.
veya paketi hakkında com.azure.spring:azure-spring-boot-*
com.azure.spring:azure-spring-cloud-*
com.azure.spring:azure-spring-integration-*
bilgi sahibi olduğunuz varsayılır.
Spring Cloud Azure 4.0 kitaplıklarını yeni kullanıyorsanız bu kılavuz yerine Spring Cloud Azure geliştirici kılavuzuna bakın.
Geçiş avantajları
Yeni bir sürümün veya kitaplığın benimsenip benimsenmeyeceğini düşünürken sormanız gereken doğal bir soru bunun avantajlarıdır. Azure olgunlaştıkça ve daha çeşitli bir geliştirici grubu tarafından benimsendikçe, geliştirici üretkenliğini en iyi şekilde desteklemek ve Spring Cloud Azure kitaplıklarının sahip olduğu boşlukları anlamak için desenleri ve uygulamaları öğrenmeye odaklandık.
Spring Cloud Azure kitaplıklarında ifade edilen çeşitli tutarlı geri bildirim alanları vardı. En önemlisi, farklı Azure hizmetlerine yönelik kitaplıkların tüm yapılandırma kümesini etkinleştirmemiş olmasıdır. Ayrıca proje adlandırma, yapıt kimlikleri, sürümler ve yapılandırmaların tutarsızlığı öğrenme eğrisini dik hale getirdi.
Spring Cloud Azure kitaplıklarında geliştirme deneyimini geliştirmek için Spring Cloud Azure kitaplıklarının Spring ekosistemiyle ilgili doğal ve idiomatic bir his yaşamasını sağlamak için bir dizi tasarım yönergesi kullanıma sunulmuştur. Daha fazla ayrıntı, ilgili kişiler için tasarım belgesinde bulunabilir.
Spring Cloud Azure 4.0; Spring Boot, Spring Integration, Spring Cloud Stream vb. gibi farklı Spring projeleriyle tümleştiren kitaplıklar arasında paylaşılan deneyim sağlar. Paylaşılan deneyim şunları içerir:
- Tüm Spring Cloud Azure 4.0 kitaplıklarını içeren birleşik bir ürün reçetesi.
- Yapıtlar için tutarlı bir adlandırma kuralı.
- Kimlik bilgileri, ara sunucu, yeniden deneme, bulut ortamı ve aktarım katmanı ayarlarını yapılandırmanın birleşik bir yolu.
- Azure Hizmeti veya Azure Hizmet SDK'sının desteklediği tüm kimlik doğrulama yöntemlerini destekleme.
Genel Bakış
Bu geçiş kılavuzu aşağıdaki bölümlerden oluşur:
- Spring Cloud Azure 4.0 için adlandırma değişiklikleri
- Yapıt değişiklikleri: yeniden adlandırıldı / eklendi / silindi
- Bağımlılık değişiklikleri
- Kimlik doğrulama değişiklikleri
- Yapılandırma özellikleri
- API'de hataya neden olan değişiklikler
- Kitaplık değişiklikleri
Değişiklikleri adlandırma
Tüm Spring Cloud Azure kitaplıklarını çağırmak için tutarlı veya resmi bir ad hiç olmamıştı. Bazıları çağrıldı Azure Spring Boot
, bazıları Spring on Azure
ise. 4.0'dan bu yana proje adını Spring Cloud Azure
kullanarak tüm Azure Spring kitaplıklarını temsil etmeye başlamıştık.
Ürün reçetesi
Kitaplıklarımız azure-spring-boot-bom
azure-spring-cloud-dependencies
için ve olmak üzere iki ürün ağacı gönderirdik, ancak bu iki ürün ağacını 4.0'dan bu yana tek bir ürün reçetesinde spring-cloud-azure-dependencies
birleştirdik. Bağımlılık yönetiminden dependencyManagement
yararlanmak için projenizin bölümüne bir girdi ekleyin.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-dependencies</artifactId>
<version>4.14.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Dekont
Spring Boot 3.x kullanıyorsanız, sürümünü olarak 5.8.0
ayarladığınızdan spring-cloud-azure-dependencies
emin olun.
Sürüm hakkında spring-cloud-azure-dependencies
daha fazla bilgi için bkz . Spring Cloud Azure'ın Hangi Sürümünü Kullanmalıyım.
Yapıt değişiklikleri: yeniden adlandırıldı / eklendi / silindi
Grup kimlikleri, modern ve eski Spring Cloud Azure kitaplıkları için aynıdır. Hepsi.com.azure.spring
Modern Spring Cloud Azure kitaplıkları için yapıt kimlikleri değişti. Ait olduğu Spring projesine, Spring Boot'a, Spring Integration'a veya Spring Cloud Stream'e göre yapıt kimlikleri deseni , spring-integration-azure-[service]
veya spring-cloud-azure-stream-binder-[service]
olabilirspring-cloud-azure-starter-[service]
. Her birinin eski başlatıcıları, desenini azure-spring-*
izleyen bir yapıt kimliğine sahiptir. Bu, modern veya eski başlangıçları kullanıp kullanmadığınızı bir bakışta anlamanıza yardımcı olacak hızlı ve erişilebilir bir araç sağlar.
Spring Cloud Azure 4.0 geliştirme sürecinde, bazı yapıtları yeni adlandırma kurallarına uymaları için yeniden adlandırdık, işlevselliğin daha uygun bir yapıta yerleştirilebilmesi için bazı yapıtları sildik ve bazı senaryolara daha iyi hizmet vermek için bazı yeni yapıtlar ekledik.
Aşağıdaki tabloda eski yapıt kimliği ile modern yapıt kimliği arasındaki eşlemeler gösterilmektedir:
Eski Yapıt Kimliği | Modern Yapıt Kimliği | Açıklama |
---|---|---|
azure-spring-boot-starter | spring-cloud-azure-starter | Bu yapıt, tüm işlevler yeni spring-cloud-azure-starter yapıtla birleştirilerek silindi. |
azure-spring-boot-starter-active-directory | spring-cloud-azure-starter-active-directory | Yapıt yeniden adlandırıldı. |
azure-spring-boot-starter-active-directory-b2c | spring-cloud-azure-starter-active-directory-b2c | Yapıt yeniden adlandırıldı. |
azure-spring-boot-starter-cosmos | spring-cloud-azure-starter-data-cosmos | Yapıt, Spring Data Azure Cosmos DB'yi kullanarak öğesini eklemek data için yeniden adlandırıldı. |
azure-spring-boot-starter-keyvault-certificates | geçerli değil | Bu sürüme dahil değildir, ancak sonraki sürümde desteklenecektir. |
azure-spring-boot-starter-keyvault-secrets | spring-cloud-azure-starter-keyvault-secrets | Yapıt yeniden adlandırıldı. |
azure-spring-boot-starter-servicebus-jms | spring-cloud-azure-starter-servicebus-jms | Yapıt yeniden adlandırıldı. |
azure-spring-boot-starter-storage | spring-cloud-azure-starter-storage-blob spring-cloud-azure-starter-storage-file-share |
Eski yapıt hem Depolama Blob hem de Dosya Paylaşımı işlevlerini içerir. 4.0 sürümünde spring-cloud-azure-starter-storage-blob ve spring-cloud-azure-starter-storage-file-share şeklinde iki ayrı yapıta eklenmiştir. |
azure-spring-boot | geçerli değil | Bu yapıt, tüm işlevler yeni spring-cloud-azure-autoconfigure yapıtla birleştirilerek silindi. |
azure-spring-cloud-autoconfigure | geçerli değil | Bu yapıt, tüm işlevler yeni spring-cloud-azure-autoconfigure yapıtla birleştirilerek silindi. |
azure-spring-cloud-context | geçerli değil | Bu yapıt, tüm işlevler yeni spring-cloud-azure-autoconfigure ve spring-cloud-azure-resourcemanager yapıtlarla birleştirilerek silindi. |
azure-spring-cloud-messaging | spring-messaging-azure | Mesajlaşma dinleyicisi ek açıklaması bırakıldı. |
azure-spring-cloud-starter-cache | geçerli değil | Bu yapıt silindi, redis kullanmak için spring-boot-starter-data-redis, spring-boot-starter-cache, spring-cloud-azure-resourcemanager ve spring-cloud-azure-starter ekleyin. Kullanım hakkında daha fazla bilgi için bkz . Spring Cloud Azure Redis desteği. |
azure-spring-cloud-starter-eventhubs-kafka | geçerli değil | Bu yapıt silindi; kafka'yı kullanmak için spring kafka, spring-cloud-azure-resourcemanager ve spring-cloud-azure-starter ekleyin. Kullanım hakkında daha fazla bilgi için bkz . Spring Cloud Azure Kafka desteği. |
azure-spring-cloud-starter-eventhubs | spring-cloud-azure-starter-integration-eventhubs | Yapıt, Event Hubs ile Spring Tümleştirmesi'ni kullanarak öğesini eklemek integration için yeniden adlandırıldı. |
azure-spring-cloud-starter-servicebus | spring-cloud-azure-starter-integration-servicebus | Yapıt, Service Bus ile Spring Tümleştirmesi'ni kullanarak öğesini eklemek integration için yeniden adlandırıldı. |
azure-spring-cloud-starter-storage-queue | spring-cloud-azure-starter-integration-storage-queue | yapıtı, Depolama Kuyruğu ile Spring Tümleştirmesi'ni kullanarak öğesini eklemek integration için yeniden adlandırdı. |
azure-spring-cloud-storage | geçerli değil | Bu yapıt, tüm işlevler yeni spring-cloud-azure-autoconfigure yapıtla birleştirilerek silindi. |
azure-spring-cloud-stream-binder-eventhubs | spring-cloud-azure-stream-binder-eventhubs | Bu yapıt, özellikle spring-cloud-azure-stream-binder-eventhubs ve spring-cloud-azure-stream-binder-eventhubs-core olmak üzere yeni bir tasarım kullanılarak yeniden düzenlenmiştir. |
azure-spring-cloud-stream-binder-service-core | spring-cloud-azure-stream-binder-servicebus-core | Yapıt yeniden adlandırıldı. |
azure-spring-cloud-stream-binder-servicebus-queue | spring-cloud-azure-stream-binder-servicebus | Bu yapıt tüm işlevler yapıtla spring-cloud-azure-stream-binder-servicebus birleştirilerek silindi. |
azure-spring-cloud-stream-binder-servicebus-topic | spring-cloud-azure-stream-binder-servicebus | Bu yapıt tüm işlevler yapıtla spring-cloud-azure-stream-binder-servicebus birleştirilerek silindi. |
azure-spring-integration-core | spring-integration-azure-core | Yapıt yeniden adlandırıldı. |
azure-spring-integration-eventhubs | spring-integration-azure-eventhubs | Yapıtı yeniden adlandırın. |
azure-spring-integration-servicebus | spring-integration-azure-servicebus | Yapıtı yeniden adlandırın. |
azure-spring-integration-storage-queue | spring-integration-azure-storage-queue | Yapıtı yeniden adlandırın. |
geçerli değil | spring-cloud-azure-aktüatör | Yeni eklenen Spring Cloud Azure Aktüatör yapıtı. |
geçerli değil | spring-cloud-azure-actuator-autoconfigure | Aktüatör için otomatik yapılandırma dahil olmak üzere yeni eklenen Spring Cloud Azure Aktüatör Otomatik Yapılandırma yapıtı. |
geçerli değil | spring-cloud-azure-autoconfigure | SDK istemcileri için tüm otomatik yapılandırma, Spring Security desteği, Spring Data desteği ve Spring Integration desteği dahil olmak üzere yeni eklenen Spring Cloud Azure AutoConfigure yapıtı. |
geçerli değil | spring-cloud-azure-core | Tüm temel işlevler dahil olmak üzere yeni eklenen Spring Cloud Azure Core yapıtı. |
geçerli değil | spring-cloud-azure-resourcemanager | Yeni eklenen Resource Manager yapıtı. Meta verileri okumak ve kaynak oluşturmak için Azure Resource Manager kullanan Çekirdek kitaplığıdır. |
geçerli değil | spring-cloud-azure-service | Azure hizmetlerine yönelik özetler de dahil olmak üzere yeni eklenen Spring Cloud Azure Service yapıtı. |
geçerli değil | spring-cloud-azure-starter-appconfiguration | Azure Uygulaması Yapılandırma SDK'sı istemcisini kullanmak için yeni eklenen başlatıcı. |
geçerli değil | spring-cloud-azure-starter-cosmos | Azure Cosmos DB SDK istemcisini kullanmak için yeni eklenen başlangıç. |
geçerli değil | spring-cloud-azure-starter-eventhubs | Azure Event Hubs SDK istemcisini kullanmak için yeni eklenen başlangıç. |
geçerli değil | spring-cloud-azure-starter-servicebus | Azure Service Bus SDK istemcisini kullanmak için yeni eklenen başlangıç. |
geçerli değil | spring-cloud-azure-starter-storage-blob | Azure Depolama Blob SDK istemcisini kullanmak için yeni eklenen başlangıç. |
geçerli değil | spring-cloud-azure-starter-storage-file-share | Azure Depolama Dosya Paylaşımı SDK istemcisini kullanmak için yeni eklenen başlangıç. |
geçerli değil | spring-cloud-azure-starter-storage-queue | Azure Depolama Kuyruk SDK'sı istemcisini kullanmak için yeni eklenen başlangıç. |
geçerli değil | spring-cloud-azure-starter-stream-eventhubs | Azure Event Hubs Spring Cloud Stream Binder'ı kullanmak için yeni eklendi. |
geçerli değil | spring-cloud-azure-starter-stream-servicebus | Azure Service Bus Spring Cloud Stream Bağlayıcısı'nı kullanmak için yeni eklenen başlangıç |
geçerli değil | spring-cloud-azure-stream-binder-eventhubs-core | Azure Event Hubs için yeni eklenen Spring Cloud Stream çekirdek yapıtı. |
Bağımlılık değişiklikleri
Bazı gereksiz bağımlılıklar, modern Spring Cloud Azure 4.0 kitaplıklarında kaldırdığımız eski yapıtlara dahil edildi. Kilitlenmeleri önlemek için kaldırılan bağımlılıkları projenize el ile eklediğinizden emin olun.
Bağımlılık değişiklikleri olan kitaplıklar şunlardır:
- spring-cloud-azure-starter
- spring-cloud-azure-starter-active-directory
- spring-cloud-azure-starter-active-directory-b2c
Kimlik doğrulama değişiklikleri
Spring Cloud Azure 4.0, her Azure Hizmet SDK'sının desteklediği tüm kimlik doğrulama yöntemlerini destekler. Bir genel belirteç kimlik bilgisi yapılandırmanıza ve her hizmet düzeyinde belirteç kimlik bilgilerini sağlamanıza olanak tanır. Ancak Spring Cloud Azure 4.0'ı yapılandırmak için kimlik bilgisi gerekli değildir çünkü Azure Hizmetleri'nde yerel bir geliştirme ortamında veya yönetilen kimlikte depolanan kimlik bilgilerini uygulayabilir. Sorumluya hedef Azure kaynaklarına erişmek için yeterli izin verildiğinden emin olun.
Dekont
Azure mesajlaşma hizmetleriyle etkileşime geçmek için güvenlik sorumlularına roller atarken, Data
mesajlaşma işlemlerini yürütmek için ilgili roller gereklidir. Azure Spring Apps Stream Event Hubs / Service Bus Bağlayıcı kitaplıkları için, Contributor
otomatik kaynak oluşturma işlevi gerektiğinde rol gereklidir. Daha fazla bilgi için bkz. Azure yerleşik rolleri.
Zincirlenmiş bir kimlik bilgisi olan DefaultAzureCredential
fasulye varsayılan olarak otomatik olarak yapılandırılır ve daha fazla kimlik doğrulaması bilgisi belirtilmezse tüm bileşenler tarafından kullanılır. Daha fazla bilgi için Java için Azure Identity istemci kitaplığının DefaultAzureCredential bölümüne bakın.
Yapılandırma özellikleri
Özellikler geçişi
ile spring-boot-properties-migrator
kullanırken özellik geçişini düzeltmek için bir additional-spring-configuration-metadata.json dosyası oluşturduk. İlk olarak, aşağıdaki özellik geçiricisini uygulamanıza ekleyin:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-properties-migrator</artifactId>
<scope>runtime</scope>
</dependency>
Veya Gradle kullanıyorsanız:
runtime("org.springframework.boot:spring-boot-properties-migrator")
Uygulamayı çalıştırırsanız, artık Spring Cloud Azure tarafından yönetilmeyecek özellikleri belirler. Bir değişiklik varsa, bir uyarıyla özelliği sizin için geçici olarak yeniden eşler. Bir değişiklik yoksa, hata raporu size daha fazla bilgi verir. Her iki durumda da yapılandırmanın güncelleştirilmiş olması ve yapılandırmayı güncelleştirdikten sonra bağımlılığın kaldırılması gerekir.
Devam etmeden önce, tümleştirme testinde geçirdiğiniz özelliklerden birini kullanmadığınızdan bir kez daha denetlemek için IDE'nizin arama özelliğini kullanmak iyi bir fikirdir.
Dekont
Bu değişiklikte birçok yapılandırma özelliğini değiştirdik. öğesini kullanmak spring-boot-properties-migrator
geçişinizin sorunsuz bir şekilde ilerlemesine yardımcı olur.
Genel yapılandırmalar
Modern spring-cloud-azure-starter
, ad alanında spring.cloud.azure
tüm Azure SDK'larına uygulanan özellikleri tanımlamanızı sağlar. Bu özellik eski azure-spring-boot-starter
içinde desteklenmiyordu. Genel yapılandırmalar, aşağıdaki tabloda gösterilen beş kategoriye ayrılabilir:
Önek | Açıklama |
---|---|
spring.cloud.azure.client | Her Azure SDK'sının altındaki aktarım istemcilerini yapılandırılır. |
spring.cloud.azure.credential | Microsoft Entra Kimliği ile kimlik doğrulaması yapmayı yapılandırıyor. |
spring.cloud.azure.profile | Azure bulut ortamını yapılandırıyor. |
spring.cloud.azure.proxy | Ara sunucu seçeneklerini yapılandırarak tüm Azure SDK istemcilerine uygulayın. |
spring.cloud.azure.retry | Yeniden deneme seçeneklerini yapılandırarak tüm Azure SDK istemcilerine uygulayın. Yeniden deneme seçenekleri SDK'ların bir bölümünü desteklemektedir; yoktur spring.cloud.azure.cosmos.retry . |
Yapılandırmaların tam listesi için bkz . Spring Cloud Azure yapılandırma özellikleri.
Her SDK'yi yapılandırma
SDK düzeyinde yapılandırma seçenekleri hakkında ayrıntılı bilgi için aşağıdaki bağlantıları kullanın:
- azure-spring-boot-starter-active-directory'den spring-cloud-azure-starter-active-directory'ye
- azure-spring-boot-starter-active-directory-b2c'den spring-cloud-azure-starter-active-directory-b2c'ye
- azure-spring-boot-starter-cosmos'tan spring-cloud-azure-starter-data-cosmos'a
- azure-spring-boot-starter-keyvault-secrets'dan spring-cloud-azure-starter-keyvault-secrets'a
- azure-spring-boot-starter-servicebus-jms'den spring-cloud-azure-starter-servicebus-jms'ye
- azure-spring-boot-starter-storage'dan spring-cloud-azure-starter-storage-blob'a
- azure-spring-boot-starter-storage'dan spring-cloud-azure-starter-storage-file-share'e
- azure-spring-cloud-starter-eventhubs'dan spring-cloud-azure-starter-integration-eventhubs'a
- Azure-spring-cloud-starter-servicebus'tan spring-cloud-azure-starter-integration-servicebus'a
- azure-spring-cloud-starter-storage-queue'dan spring-cloud-azure-starter-integration-storage-queue'a
- azure-spring-cloud-stream-binder-eventhubs'dan spring-cloud-azure-stream-binder-eventhubs'a
- azure-spring-cloud-stream-binder-servicebus-* ile spring-cloud-azure-stream-binder-servicebus
API'de hataya neden olan değişiklikler
Her kitaplıktaki API hataya neden olan değişiklikler hakkında ayrıntılı bilgi için aşağıdaki bağlantıları kullanın:
- azure-spring-boot-starter-active-directory'den spring-cloud-azure-starter-active-directory'ye
- azure-spring-boot-starter-active-directory-b2c'den spring-cloud-azure-starter-active-directory-b2c'ye
- azure-spring-boot-starter-storage'dan spring-cloud-azure-starter-storage-blob'a
- azure-spring-boot-starter-storage'dan spring-cloud-azure-starter-storage-file-share'e
- azure-spring-cloud-starter-eventhubs'dan spring-cloud-azure-starter-integration-eventhubs'a
- azure-spring-integration-eventhubs'dan spring-integration-azure-eventhubs'a
- Azure-spring-cloud-starter-servicebus'tan spring-cloud-azure-starter-integration-servicebus'a
- azure-spring-integration-servicebus'tan spring-integration-azure-servicebus'a
- azure-spring-cloud-starter-storage-queue'dan spring-cloud-azure-starter-integration-storage-queue'a
- azure-spring-integration-storage-queue'dan spring-integration-azure-storage-queue'a
- azure-spring-cloud-stream-binder-eventhubs'dan spring-cloud-azure-stream-binder-eventhubs'a
- azure-spring-cloud-stream-binder-servicebus-* ile spring-cloud-azure-stream-binder-servicebus
Kitaplık değişiklikleri
Her kitaplıkta hataya neden olan değişiklikler aşağıdaki gibi sunulur.
azure-spring-boot-starter'dan spring-cloud-azure-starter'a
Bu kılavuz, azure-spring-boot-starter'ın 3. sürümünden spring-cloud-azure-starter'a geçişte yardımcı olmak için tasarlanmıştır.
Genel bilgi için aşağıdaki bağlantıları kullanın:
- 4.0'daki değişikliklere genel bakış için Giriş ve Geçiş avantajları bölümlerine bakın.
- Proje adlandırmadaki strateji değişiklikleri hakkında daha fazla bilgi edinmek için Adlandırma değişiklikleri bölümüne bakın.
- Tüm Spring Cloud Azure kitaplıkları için bir ürün reçetesi kullanmayı öğrenmek için ÜRÜN REÇETESI bölümüne bakın.
- Spring Cloud Azure 4.0'da kimlik doğrulamasının nasıl işleneceğini öğrenmek için Kimlik doğrulaması değişiklikleri bölümüne bakın.
- Geçiş sırasında nasıl yararlanacağınızı
spring-boot-properties-migrator
öğrenmek için Her SDK'yı yapılandırma bölümüne bakın. - Genel ve yaygın yapılandırma değişiklikleri hakkında daha fazla bilgi edinmek için Genel yapılandırmalar bölümüne bakın.
Bağımlılık değişiklikleri
Bazı gereksiz bağımlılıklar, modern Spring Cloud Azure 4.0 kitaplıklarında kaldırdığımız eski yapıtlara dahil edildi. İstenmeyen kilitlenmeyi önlemek için kaldırılan bağımlılıkları projenize el ile eklediğinizden emin olun.
Aşağıdaki tabloda Kaldırılan bağımlılıklar gösterilmektedir:
Bağımlılıklar kaldırıldı | Açıklama |
---|---|
org.springframework.boot:spring-boot-starter-validation | Hazırda Bekleme Doğrulayıcısı'nı kullanmak istiyorsanız doğrulama başlatıcısını ekleyin. |
azure-spring-boot-starter-active-directory'den spring-cloud-azure-starter-active-directory'ye
Bu kılavuz, azure-spring-boot-starter-active-directory sürüm 3'ten spring-cloud-azure-starter-active-directory'ye geçişe yardımcı olmak için tasarlanmıştır.
Genel bilgi için aşağıdaki bağlantıları kullanın:
- 4.0'daki değişikliklere genel bakış için Giriş ve Geçiş avantajları bölümlerine bakın.
- Proje adlandırmadaki strateji değişiklikleri hakkında daha fazla bilgi edinmek için Adlandırma değişiklikleri bölümüne bakın.
- Tüm Spring Cloud Azure kitaplıkları için bir ürün reçetesi kullanmayı öğrenmek için ÜRÜN REÇETESI bölümüne bakın.
- Spring Cloud Azure 4.0'da kimlik doğrulamasının nasıl işleneceğini öğrenmek için Kimlik doğrulaması değişiklikleri bölümüne bakın.
- Geçiş sırasında nasıl yararlanacağınızı
spring-boot-properties-migrator
öğrenmek için Her SDK'yı yapılandırma bölümüne bakın. - Genel ve yaygın yapılandırma değişiklikleri hakkında daha fazla bilgi edinmek için Genel yapılandırmalar bölümüne bakın.
Bağımlılık değişiklikleri
Modern Spring Cloud Azure 4.0 kitaplığından bu yana eski yapıttaki bazı gereksiz bağımlılıklar kaldırıldı. İstenmeyen kilitlenmeyi önlemek için bu kaldırılan bağımlılıkları projenize ekleyin.
Aşağıdaki tabloda Kaldırılan bağımlılıklar gösterilmektedir:
Bağımlılıklar kaldırıldı | Açıklama |
---|---|
com.fasterxml.jackson.core:jackson-databind | Gerekirse bu bağımlılığı projenize ekleyin. |
io.projectreactor.netty:reactor-netty | Gerekirse bu bağımlılığı projenize ekleyin. |
org.springframework.boot:spring-boot-starter-validation | Gerekirse bu bağımlılığı projenize ekleyin. |
org.springframework.boot:spring-boot-starter-webflux | Gerekirse bu bağımlılığı projenize ekleyin. |
SDK yapılandırma değişiklikleri
Bu bölüm eklenen, kaldırılan ve değiştirilen özelliklerle ilgili değişiklikleri içerir.
- Aşağıdaki iki nokta dikkatinizi çekmek için ana noktadır:
- Tüm yapılandırma özelliği adlarının ön eki olarak
azure.activedirectory
spring.cloud.azure.active-directory
değiştirildi. - Microsoft Entra ile ilgili özellikleri etkinleştirmek/devre dışı bırakmak için yeni özellik
spring.cloud.azure.active-directory.enabled
eklenir. Varsayılan değer şudur:false
.
Aşağıdaki tabloda ile spring-cloud-azure-starter-active-directory
arasında azure-spring-boot-starter-active-directory
özellik eşlemeleri gösterilmektedir:
Eski özellikler | Modern özellikler |
---|---|
azure.activedirectory.app-id-uri | spring.cloud.azure.active-directory.app-id-uri |
azure.activedirectory.application-type | spring.cloud.azure.active-directory.application-type |
azure.activedirectory.authorization-clients | spring.cloud.azure.active-directory.authorization-clients |
azure.activedirectory.authorization-clients.AZURE_CLIENT_NAME.authorization-grant-type | spring.cloud.azure.active-directory.authorization-clients.AZURE_CLIENT_NAME.authorization-grant-type |
azure.activedirectory.authorization-clients.AZURE_CLIENT_NAME.on-demand | spring.cloud.azure.active-directory.authorization-clients.AZURE_CLIENT_NAME.on-demand |
azure.activedirectory.authorization-clients.AZURE_CLIENT_NAME.scopes | spring.cloud.azure.active-directory.authorization-clients.AZURE_CLIENT_NAME.scopes |
azure.activedirectory.authenticate-additional-parameters | spring.cloud.azure.active-directory.authenticate-additional-parameters |
azure.activedirectory.base-uri | spring.cloud.azure.active-directory.profile.environment.active-directory-endpoint |
azure.activedirectory.client-id | spring.cloud.azure.active-directory.credential.client-id |
azure.activedirectory.client-secret | spring.cloud.azure.active-directory.credential.client-secret |
azure.activedirectory.graph-membership-uri | Daha fazla bilgi için aşağıdaki tabloya bakın. |
azure.activedirectory.jwt-connect-timeout | spring.cloud.azure.active-directory.jwt-connect-timeout. |
azure.activedirectory.jwt-read-timeout | spring.cloud.azure.active-directory.jwt-read-timeout. |
azure.activedirectory.jwt-size-limit | spring.cloud.azure.active-directory.jwt-size-limit. |
azure.activedirectory.jwk-set-cache-lifespan | spring.cloud.azure.active-directory.jwk-set-cache-lifespan. |
azure.activedirectory.jwk-set-cache-refresh-time | spring.cloud.azure.active-directory.jwk-set-cache-refresh-time |
azure.activedirectory.post-logout-redirect-uri | spring.cloud.azure.active-directory.post-logout-redirect-uri |
azure.activedirectory.session-stateless | spring.cloud.azure.active-directory.session-stateless |
azure.activedirectory.redirect-uri-template | spring.cloud.azure.active-directory.redirect-uri-template |
azure.activedirectory.resource-server.claim-to-authority-prefix-map | spring.cloud.azure.active-directory.resource-server.claim-to-authority-prefix-map |
azure.activedirectory.resource-server.principal-claim-name | spring.cloud.azure.active-directory.resource-server.principal-claim-name |
azure.activedirectory.tenant-id | spring.cloud.azure.active-directory.profile.tenant-id |
azure.activedirectory.user-group.allowed-group-ids | spring.cloud.azure.active-directory.user-group.allowed-group-ids |
azure.activedirectory.user-group.allowed-group-names | spring.cloud.azure.active-directory.user-group.allowed-group-names |
azure.activedirectory.user-name-attribute | spring.cloud.azure.active-directory.user-name-attribute |
Aşağıdaki özelliklerin değer türü olarak değiştirilir
long
Duration
:jwt-connect-timeout
jwt-read-timeout
jwk-set-cache-lifespan
jwk-set-cache-refresh-time
.
Aşağıdaki özellikler kaldırılır:
- azure.activedirectory.allow-telemetry
- azure.activedirectory.user-group.enable-full-list
- azure.activedirectory.graph-base-uri
- azure.activedirectory.graph-membership-uri
Aşağıdaki özellikler eklenir:
- spring.cloud.azure.active-directory.enabled
- spring.cloud.azure.active-directory.profile.environment.microsoft-graph-endpoint
- spring.cloud.azure.active-directory.user-group.use-transitive-members
Dekont
işlevinin azure.activedirectory.graph-membership-uri
yerini 2 özellik almıştır: spring.cloud.azure.active-directory.profile.environment.microsoft-graph-endpoint
ve spring.cloud.azure.active-directory.user-group.use-transitive-members
. İlk özellik ana bilgisayar adını belirtmek için kullanılır ve ikincisi url yolunu kullanmak için bir bayrak: v1.0/me/memberOf
veya v1.0/me/transitiveMemberOf
.
Geçişe bazı örnekler aşağıda verilmiştir:
Örnek 1. 1\. Durum
Eski için: azure.activedirectory.graph-membership-uri=https://graph.microsoft.com/v1.0/me/memberOf
Modern için: spring.cloud.azure.active-directory.profile.environment.microsoft-graph-endpoint=
https://graph.microsoft.com/
+ spring.cloud.azure.active-directory.user-group.use-transitive-members=false
Örnek 2. 2\. Durum
Eski için: azure.activedirectory.graph-membership-uri=https://graph.microsoft.com/v1.0/me/transitiveMemberOf
Modern için: spring.cloud.azure.active-directory.profile.environment.microsoft-graph-endpoint=
https://graph.microsoft.com/
+ spring.cloud.azure.active-directory.user-group.use-transitive-members=true
API değişiklikleri
Aşağıdaki tabloda ile azure-spring-boot-starter-active-directory
spring-cloud-azure-starter-active-directory
sınıf eşlemeleri gösterilmektedir:
Eski sınıf | Modern sınıf |
---|---|
com.azure.spring.aad.webapi.AADJwtBearerTokenAuthenticationConverter | com.azure.spring.cloud.autoconfigure.aad.AadJwtBearerTokenAuthenticationConverter |
com.azure.spring.aad.webapi.AADResourceServerProperties | com.azure.spring.cloud.autoconfigure.aad.properties.AadResourceServerProperties |
com.azure.spring.aad.webapi.AADResourceServerWebSecurityConfigurerAdapter | com.azure.spring.cloud.autoconfigure.aad.AadResourceServerWebSecurityConfigurerAdapter |
com.azure.spring.aad.webapp.AADWebSecurityConfigurerAdapter | com.azure.spring.cloud.autoconfigure.aad.AadWebSecurityConfigurerAdapter |
com.azure.spring.aad.webapp.AuthorizationClientProperties | com.azure.spring.cloud.autoconfigure.aad.properties.AuthorizationClientProperties |
com.azure.spring.aad.AADApplicationType | com.azure.spring.cloud.autoconfigure.aad.properties.AadApplicationType |
com.azure.spring.aad.AADAuthorizationGrantType | com.azure.spring.cloud.autoconfigure.aad.properties.AadAuthorizationGrantType |
com.azure.spring.aad.AADAuthorizationServerEndpoints | com.azure.spring.cloud.autoconfigure.aad.properties.AadAuthorizationServerEndpoints |
com.azure.spring.aad.AADClientRegistrationRepository | com.azure.spring.cloud.autoconfigure.aad.AadClientRegistrationRepository |
com.azure.spring.aad.AADTrustedIssuerRepository | com.azure.spring.cloud.autoconfigure.aad.AadTrustedIssuerRepository |
com.azure.spring.autoconfigure.aad.AADAppRoleStatelessAuthenticationFilter | com.azure.spring.cloud.autoconfigure.aad.filter.AadAppRoleStatelessAuthenticationFilter |
com.azure.spring.autoconfigure.aad.AADAuthenticationFilter | com.azure.spring.cloud.autoconfigure.aad.filter.AadAuthenticationFilter |
com.azure.spring.autoconfigure.aad.AADAuthenticationProperties | com.azure.spring.cloud.autoconfigure.aad.properties.AadAuthenticationProperties |
com.azure.spring.autoconfigure.aad.UserPrincipal | com.azure.spring.cloud.autoconfigure.aad.filter.UserPrincipal |
com.azure.spring.autoconfigure.aad.UserPrincipalManager | com.azure.spring.cloud.autoconfigure.aad.filter.UserPrincipalManager |
Bu bölümde azure-spring-boot-starter-active-directory'den kaldırılan sınıflar listelenir.
Eski sınıf kaldırıldı
- com.azure.spring.aad.webapp.AADHandleConditionalAccessFilter
- com.azure.spring.aad.webapi.validator.AADJwtAudienceValidator
- com.azure.spring.aad.webapi.validator.AADJwtClaimValidator
azure-spring-boot-starter-active-directory-b2c'den spring-cloud-azure-starter-active-directory-b2c'ye
Bu kılavuz, azure-spring-boot-starter-active-directory-b2c sürüm 3'ten spring-cloud-azure-starter-active-directory-b2c'ye geçişte yardımcı olmak için tasarlanmıştır.
Genel bilgi için aşağıdaki bağlantıları kullanın:
- 4.0'daki değişikliklere genel bakış için Giriş ve Geçiş avantajları bölümlerine bakın.
- Proje adlandırmadaki strateji değişiklikleri hakkında daha fazla bilgi edinmek için Adlandırma değişiklikleri bölümüne bakın.
- Tüm Spring Cloud Azure kitaplıkları için bir ürün reçetesi kullanmayı öğrenmek için ÜRÜN REÇETESI bölümüne bakın.
- Spring Cloud Azure 4.0'da kimlik doğrulamasının nasıl işleneceğini öğrenmek için Kimlik doğrulaması değişiklikleri bölümüne bakın.
- Geçiş sırasında nasıl yararlanacağınızı
spring-boot-properties-migrator
öğrenmek için Her SDK'yı yapılandırma bölümüne bakın. - Genel ve yaygın yapılandırma değişiklikleri hakkında daha fazla bilgi edinmek için Genel yapılandırmalar bölümüne bakın.
Bağımlılık değişiklikleri
Bazı gereksiz bağımlılıklar, modern Spring Cloud Azure 4.0 kitaplıklarında kaldırdığımız eski yapıtlara dahil edildi. İstenmeyen kilitlenmeyi önlemek için kaldırılan bağımlılıkları projenize el ile eklediğinizden emin olun.
Aşağıdaki tabloda Kaldırılan bağımlılıklar gösterilmektedir:
Bağımlılıklar kaldırıldı | Açıklama |
---|---|
org.springframework.boot:spring-boot-starter-validation | Hazırda Bekleme Doğrulayıcısı'nı kullanmak istiyorsanız doğrulama başlatıcısını ekleyin. |
SDK yapılandırma değişiklikleri
Bu bölüm eklenen, kaldırılan ve değiştirilen özelliklerle ilgili değişiklikleri içerir.
- Aşağıdaki iki nokta dikkatinizi çekmek için ana noktadır:
- Tüm yapılandırma özellik adları ön eki olarak
azure.activedirectory.b2c
spring.cloud.azure.active-directory.b2c
değiştirildi. - Azure AD B2C ile ilgili özellikleri etkinleştirmek/devre dışı bırakmak için yeni özellik
spring.cloud.azure.active-directory.b2c.enabled
eklenir. Varsayılan değer olarak yanlış kullanılır.
Aşağıdaki tabloda ile olan özellik eşlemeleri gösterilmektedir azure-spring-boot-starter-active-directory-b2c
spring-cloud-azure-starter-active-directory-b2c
:
Eski özellikler | Modern özellikler |
---|---|
azure.activedirectory.b2c.authenticate-additional-parameters | spring.cloud.azure.active-directory.b2c.authenticate-additional-parameters |
azure.activedirectory.b2c.authorization-clients | spring.cloud.azure.active-directory.b2c.authorization-clients |
azure.activedirectory.b2c.authorization-clients.<>AZURE_CLIENT_NAME.authorization-grant-type | spring.cloud.azure.active-directory.b2c.authorization-clients.<>AZURE_CLIENT_NAME.authorization-grant-type |
azure.activedirectory.b2c.authorization-clients.<>AZURE_CLIENT_NAME.scopes | spring.cloud.azure.active-directory.b2c.authorization-clients.<>AZURE_CLIENT_NAME.scopes |
azure.activedirectory.b2c.app-id-uri | spring.cloud.azure.active-directory.b2c.app-id-uri |
azure.activedirectory.b2c.base-uri | spring.cloud.azure.active-directory.b2c.base-uri |
azure.activedirectory.b2c.client-id | spring.cloud.azure.active-directory.b2c.credential.client-id |
azure.activedirectory.b2c.client-secret | spring.cloud.azure.active-directory.b2c.credential.client-secret |
azure.activedirectory.b2c.jwt-connect-timeout | spring.cloud.azure.active-directory.b2c.jwt-connect-timeout |
azure.activedirectory.b2c.jwt-read-timeout | spring.cloud.azure.active-directory.b2c.jwt-read-timeout |
azure.activedirectory.b2c.jwt-size-limit | spring.cloud.azure.active-directory.b2c.jwt-size-limit |
azure.activedirectory.b2c.login-flow | spring.cloud.azure.active-directory.b2c.login-flow |
azure.activedirectory.b2c.logout-success-url | spring.cloud.azure.active-directory.b2c.logout-success-url |
azure.activedirectory.b2c.reply-url | spring.cloud.azure.active-directory.b2c.reply-url |
azure.activedirectory.b2c.tenant-id | spring.cloud.azure.active-directory.b2c.profile.tenant-id |
azure.activedirectory.b2c.user-flows | spring.cloud.azure.active-directory.b2c.user-flows |
azure.activedirectory.b2c.user-name-attribute-name | spring.cloud.azure.active-directory.b2c.user-name-attribute-name |
azure-spring-boot-starter-active-directory-b2c'den özellikler kaldırıldı:
- azure.activedirectory.b2c.allow-telemetry
- azure.activedirectory.b2c.tenant
Aşağıdaki özelliklerin değer türü olarak değiştirilir
long
Duration
:- jwt-connect-timeout
- jwt-read-timeout
API değişiklikleri
Aşağıdaki tabloda ile azure-spring-boot-starter-active-directory-b2c
spring-cloud-azure-starter-active-directory-b2c
sınıf eşlemeleri gösterilmektedir:
Eski sınıf | Modern sınıf |
---|---|
com.azure.spring.autoconfigure.b2c.AADB2CAuthorizationRequestResolver | com.azure.spring.cloud.autoconfigure.aadb2c.AadB2cAuthorizationRequestResolver |
com.azure.spring.autoconfigure.b2c.AADB2CJwtBearerTokenAuthenticationConverter | com.azure.spring.cloud.autoconfigure.aad.AadJwtBearerTokenAuthenticationConverter |
com.azure.spring.autoconfigure.b2c.AADB2CLogoutSuccessHandler | com.azure.spring.cloud.autoconfigure.aadb2c.AadB2cLogoutSuccessHandler |
com.azure.spring.autoconfigure.b2c.AADB2COidcLoginConfigurer | com.azure.spring.cloud.autoconfigure.aadb2c.AadB2COidcLoginConfigurer |
com.azure.spring.autoconfigure.b2c.AADB2CProperties | com.azure.spring.cloud.autoconfigure.aadb2c.properties.AadB2cProperties |
com.azure.spring.autoconfigure.b2c.AADB2CTrustedIssuerRepository | com.azure.spring.cloud.autoconfigure.aadb2c.AadB2cTrustedIssuerRepository |
com.azure.spring.autoconfigure.b2c.AuthorizationClientProperties | com.azure.spring.cloud.autoconfigure.aad.properties.AuthorizationClientProperties |
azure-spring-boot-starter-cosmos'tan spring-cloud-azure-starter-data-cosmos'a
Bu kılavuz, azure-spring-boot-starter-cosmos sürüm 3'ten spring-cloud-azure-starter-data-cosmos'a geçişte yardımcı olmak için tasarlanmıştır.
Genel bilgi için aşağıdaki bağlantıları kullanın:
- 4.0'daki değişikliklere genel bakış için Giriş ve Geçiş avantajları bölümlerine bakın.
- Proje adlandırmadaki strateji değişiklikleri hakkında daha fazla bilgi edinmek için Adlandırma değişiklikleri bölümüne bakın.
- Tüm Spring Cloud Azure kitaplıkları için bir ürün reçetesi kullanmayı öğrenmek için ÜRÜN REÇETESI bölümüne bakın.
- Spring Cloud Azure 4.0'da kimlik doğrulamasının nasıl işleneceğini öğrenmek için Kimlik doğrulaması değişiklikleri bölümüne bakın.
- Geçiş sırasında nasıl yararlanacağınızı
spring-boot-properties-migrator
öğrenmek için Her SDK'yı yapılandırma bölümüne bakın. - Genel ve yaygın yapılandırma değişiklikleri hakkında daha fazla bilgi edinmek için Genel yapılandırmalar bölümüne bakın.
SDK yapılandırma değişiklikleri
Tüm yapılandırma özellik adları ön eki olarak azure.cosmos
spring.cloud.azure.cosmos
değiştirildi.
Aşağıdaki tabloda ile azure-spring-boot-starter-cosmos
spring-cloud-azure-starter-data-cosmos
sınıf eşlemeleri gösterilmektedir:
Eski özellikler | Modern özellikler |
---|---|
azure.cosmos.connection-mode | spring.cloud.azure.cosmos.connection-mode |
azure.cosmos.consistency düzeyi | spring.cloud.azure.cosmos.consistency-level |
azure.cosmos.database | spring.cloud.azure.cosmos.database |
azure.cosmos.key | spring.cloud.azure.cosmos.key |
azure.cosmos.populate-query-metrics | spring.cloud.azure.cosmos.populate-query-metrics |
azure.cosmos.uri | spring.cloud.azure.cosmos.endpoint |
azure-spring-boot-starter-keyvault-secrets'dan spring-cloud-azure-starter-keyvault-secrets'a
Bu kılavuz, azure-spring-boot-starter-keyvault-secrets sürümünün 3. sürümünden spring-cloud-azure-starter-keyvault-secrets geçişine yardımcı olmak için tasarlanmıştır.
Genel bilgi için aşağıdaki bağlantıları kullanın:
- 4.0'daki değişikliklere genel bakış için Giriş ve Geçiş avantajları bölümlerine bakın.
- Proje adlandırmadaki strateji değişiklikleri hakkında daha fazla bilgi edinmek için Adlandırma değişiklikleri bölümüne bakın.
- Tüm Spring Cloud Azure kitaplıkları için bir ürün reçetesi kullanmayı öğrenmek için ÜRÜN REÇETESI bölümüne bakın.
- Spring Cloud Azure 4.0'da kimlik doğrulamasının nasıl işleneceğini öğrenmek için Kimlik doğrulaması değişiklikleri bölümüne bakın.
- Geçiş sırasında nasıl yararlanacağınızı
spring-boot-properties-migrator
öğrenmek için Her SDK'yı yapılandırma bölümüne bakın. - Genel ve yaygın yapılandırma değişiklikleri hakkında daha fazla bilgi edinmek için Genel yapılandırmalar bölümüne bakın.
SDK yapılandırma değişiklikleri
Bu bölüm eklenen, kaldırılan ve değiştirilen özelliklerle ilgili değişiklikleri içerir.
Aşağıdaki tabloda ile olan özellik eşlemeleri gösterilmektedir azure-spring-boot-starter-keyvault-secrets
spring-cloud-azure-starter-keyvault-secrets
:
Eski özellikler | Modern özellikler |
---|---|
azure.keyvault.case-sensitive-keys | spring.cloud.azure.keyvault.secret.property-source[n].case-sensitive |
azure.keyvault.certificate-password | spring.cloud.azure.keyvault.secret.property-source[n].credential.client-certificate-password |
azure.keyvault.certificate-path | spring.cloud.azure.keyvault.secret.property-source[n].credential.client-certificate-path |
azure.keyvault.client-id | spring.cloud.azure.keyvault.secret.property-source[n].credential.client-id |
azure.keyvault.client-key | spring.cloud.azure.keyvault.secret.property-source[n].credential.client-secret |
azure.keyvault.enabled | spring.cloud.azure.keyvault.secret.property-source-enabled ve spring.cloud.azure.keyvault.secret.property-source-enabled |
azure.keyvault.order | Artık desteklenmiyor. Bunun yerine property-source[n] içinde sırasını kullanın. |
azure.keyvault.refresh-interval | spring.cloud.azure.keyvault.secret.property-source[n].refresh-interval |
azure.keyvault.secret-keys | spring.cloud.azure.keyvault.secret.property-source[n].secret-keys |
azure.keyvault.tenant-id | spring.cloud.azure.keyvault.secret.property-source[n].profile.tenant-id |
azure.keyvault.uri | spring.cloud.azure.keyvault.secret.property-source[n].endpoint |
- spring-cloud-azure-starter-keyvault-secrets öğesinden özellikler kaldırıldı
azure.keyvault.allow-telemetry azure.keyvault.order
Aşağıdaki noktalara dikkat etmelisiniz:
- Tüm yapılandırma özellik adları ön eki olarak
azure.keyvault
spring.cloud.azure.keyvault.secret
değiştirildi. spring.cloud.azure.keyvault.secret.enabled
tüm Key Vault Gizli Dizi özelliklerini etkinleştirmek için kullanılır, Key Vault gizli istemci çekirdeklerini yapılandırmayı (ve gibiSecretClient
SecretAsyncClient
) içerir ve ekleyinKeyVaultPropertySource
ConfigurableEnvironment
.spring.cloud.azure.keyvault.secret.property-source-enabled
, tümKeyVaultPropertySource
'yi etkinleştirmek için kullanılır. Yalnızca olduğundaspring.cloud.azure.keyvault.secret.enabled=true
geçerlilik kazanır.- Azure ortak özellikleri (,
client
,proxy
,retry
,credential
profile
) ve Key Vault özellikleri (, gibiendpoint
service-version
) için. Yapılandırılmamışsaspring.cloud.azure.keyvault.secret.property-sources[n].PROPERTY_NAME
spring.cloud.azure.keyvault.secret.PROPERTY_NAME
kullanılır. spring.cloud.azure.keyvault.secret.property-sources[n].resource
benzersiz bir Azure kaynağına özgü olduğundan, yapılandırılmamışsa başka yerlerden değer alamaz.
azure-spring-boot-starter-servicebus-jms'den spring-cloud-azure-starter-servicebus-jms'ye
Bu kılavuz, azure-spring-boot-starter-servicebus-jms sürümünün 3. sürümünden spring-cloud-azure-starter-servicebus-jms geçişine yardımcı olmak için tasarlanmıştır.
Genel bilgi için aşağıdaki bağlantıları kullanın:
- 4.0'daki değişikliklere genel bakış için Giriş ve Geçiş avantajları bölümlerine bakın.
- Proje adlandırmadaki strateji değişiklikleri hakkında daha fazla bilgi edinmek için Adlandırma değişiklikleri bölümüne bakın.
- Tüm Spring Cloud Azure kitaplıkları için bir ürün reçetesi kullanmayı öğrenmek için ÜRÜN REÇETESI bölümüne bakın.
- Spring Cloud Azure 4.0'da kimlik doğrulamasının nasıl işleneceğini öğrenmek için Kimlik doğrulaması değişiklikleri bölümüne bakın.
- Geçiş sırasında nasıl yararlanacağınızı
spring-boot-properties-migrator
öğrenmek için Her SDK'yı yapılandırma bölümüne bakın. - Genel ve yaygın yapılandırma değişiklikleri hakkında daha fazla bilgi edinmek için Genel yapılandırmalar bölümüne bakın.
SDK yapılandırma değişiklikleri
Okunabilirlik için spring.jms.servicebus.idle-timeout
(milisaniye) olan yapılandırma türü desen olarak Duration
değiştirildilong
.
azure-spring-boot-starter-storage'dan spring-cloud-azure-starter-storage-blob'a
Bu kılavuz, azure-spring-boot-starter-storage sürüm 3'ten spring-cloud-azure-starter-storage-blob'a geçişte yardımcı olmak için tasarlanmıştır.
Genel bilgi için aşağıdaki bağlantıları kullanın:
- 4.0'daki değişikliklere genel bakış için Giriş ve Geçiş avantajları bölümlerine bakın.
- Proje adlandırmadaki strateji değişiklikleri hakkında daha fazla bilgi edinmek için Adlandırma değişiklikleri bölümüne bakın.
- Tüm Spring Cloud Azure kitaplıkları için bir ürün reçetesi kullanmayı öğrenmek için ÜRÜN REÇETESI bölümüne bakın.
- Spring Cloud Azure 4.0'da kimlik doğrulamasının nasıl işleneceğini öğrenmek için Kimlik doğrulaması değişiklikleri bölümüne bakın.
- Geçiş sırasında nasıl yararlanacağınızı
spring-boot-properties-migrator
öğrenmek için Her SDK'yı yapılandırma bölümüne bakın. - Genel ve yaygın yapılandırma değişiklikleri hakkında daha fazla bilgi edinmek için Genel yapılandırmalar bölümüne bakın.
SDK yapılandırma değişiklikleri
Tüm yapılandırma özellik adları ön eki olarak azure.storage
spring.cloud.azure.storage.blob
değiştirildi.
Aşağıdaki tabloda ile olan özellik eşlemeleri gösterilmektedir azure-spring-boot-starter-storage
spring-cloud-azure-starter-storage-blob
:
Eski özellikler | Modern özellikler |
---|---|
azure.storage.account-name | spring.cloud.azure.storage.blob.account-name |
azure.storage.account-key | spring.cloud.azure.storage.blob.account-key |
azure.storage.blob-endpoint | spring.cloud.azure.storage.blob.endpoint |
API değişiklikleri
Aşağıdaki tabloda ile azure-spring-boot-starter-storage
spring-cloud-azure-starter-storage-blob
sınıf eşlemeleri gösterilmektedir:
Eski sınıf | Modern sınıf |
---|---|
com.azure.spring.autoconfigure.storage.resource.Azure Depolama ProtocolResolver | com.azure.spring.core.resource.Azure Depolama BlobProtocolResolver |
com.azure.spring.autoconfigure.storage.resource.Blob Depolama Resource | com.azure.spring.core.resource. Depolama BlobResource |
com.azure.spring.autoconfigure.storage.resource.Azure Depolama ResourcePatternResolver | com.azure.spring.core.resource.Azure Depolama BlobProtocolResolver |
azure-spring-boot-starter-storage'dan spring-cloud-azure-starter-storage-file-share'e
Bu kılavuz, azure-spring-boot-starter-storage 3 sürümünden spring-cloud-azure-starter-storage-file-share'e geçişte yardımcı olmak için tasarlanmıştır.
Genel bilgi için aşağıdaki bağlantıları kullanın:
- 4.0'daki değişikliklere genel bakış için Giriş ve Geçiş avantajları bölümlerine bakın.
- Proje adlandırmadaki strateji değişiklikleri hakkında daha fazla bilgi edinmek için Adlandırma değişiklikleri bölümüne bakın.
- Tüm Spring Cloud Azure kitaplıkları için bir ürün reçetesi kullanmayı öğrenmek için ÜRÜN REÇETESI bölümüne bakın.
- Spring Cloud Azure 4.0'da kimlik doğrulamasının nasıl işleneceğini öğrenmek için Kimlik doğrulaması değişiklikleri bölümüne bakın.
- Geçiş sırasında nasıl yararlanacağınızı
spring-boot-properties-migrator
öğrenmek için Her SDK'yı yapılandırma bölümüne bakın. - Genel ve yaygın yapılandırma değişiklikleri hakkında daha fazla bilgi edinmek için Genel yapılandırmalar bölümüne bakın.
SDK yapılandırma değişiklikleri
Tüm yapılandırma özellik adları ön eki olarak azure.storage
spring.cloud.azure.storage.fileshare
değiştirildi.
Aşağıdaki tabloda ile olan özellik eşlemeleri gösterilmektedir azure-spring-boot-starter-storage
spring-cloud-azure-starter-storage-file-share
:
Eski özellikler | Modern özellikler |
---|---|
azure.storage.account-name | spring.cloud.azure.storage.fileshare.account-name |
azure.storage.account-key | spring.cloud.azure.storage.fileshare.account-key |
azure.storage.file-endpoint | spring.cloud.azure.storage.fileshare.endpoint |
API değişiklikleri
Aşağıdaki tabloda ile azure-spring-boot-starter-storage
spring-cloud-azure-starter-storage-file-share
sınıf eşlemeleri gösterilmektedir:
Eski sınıf | Modern sınıf |
---|---|
com.azure.spring.autoconfigure.storage.resource.Azure Depolama ProtocolResolver | com.azure.spring.core.resource.Azure Depolama FileProtocolResolver |
com.azure.spring.autoconfigure.storage.resource.File Depolama Resource | com.azure.spring.core.resource. Depolama FileResource |
com.azure.spring.autoconfigure.storage.resource.Azure Depolama ResourcePatternResolver | com.azure.spring.core.resource.Azure Depolama FileProtocolResolver |
azure-spring-cloud-starter-eventhubs'dan spring-cloud-azure-starter-integration-eventhubs'a
Bu kılavuz, azure-spring-cloud-starter-eventhubs sürüm 2'den spring-cloud-azure-starter-integration-eventhubs'a geçişe yardımcı olmak için tasarlanmıştır.
Genel bilgi için aşağıdaki bağlantıları kullanın:
- 4.0'daki değişikliklere genel bakış için Giriş ve Geçiş avantajları bölümlerine bakın.
- Proje adlandırmadaki strateji değişiklikleri hakkında daha fazla bilgi edinmek için Adlandırma değişiklikleri bölümüne bakın.
- Tüm Spring Cloud Azure kitaplıkları için bir ürün reçetesi kullanmayı öğrenmek için ÜRÜN REÇETESI bölümüne bakın.
- Spring Cloud Azure 4.0'da kimlik doğrulamasının nasıl işleneceğini öğrenmek için Kimlik doğrulaması değişiklikleri bölümüne bakın.
- Geçiş sırasında nasıl yararlanacağınızı
spring-boot-properties-migrator
öğrenmek için Her SDK'yı yapılandırma bölümüne bakın. - Genel ve yaygın yapılandırma değişiklikleri hakkında daha fazla bilgi edinmek için Genel yapılandırmalar bölümüne bakın.
SDK yapılandırma değişiklikleri
Önemli
Yapılandırma ön eki olarak değiştirildi spring.cloud.azure.eventhub
spring.cloud.azure.eventhubs.
Bu ön ek için alt girdilerde yapılan değişiklikler için aşağıdaki tablolara bakın:
Aşağıdaki tabloda ile azure-spring-cloud-starter-eventhubs
spring-cloud-azure-starter-integration-eventhubs
olan özellik eşlemeleri gösterilmektedir:
Eski özellikler | Modern özellikler |
---|---|
spring.cloud.azure.resource-group | spring.cloud.azure.eventhubs.resource.resource-group |
spring.cloud.azure.eventhub.namespace | spring.cloud.azure.eventhubs.namespace |
spring.cloud.azure.eventhub.connection-string | spring.cloud.azure.eventhubs.connection-string |
spring.cloud.azure.eventhub.checkpoint-storage-account | spring.cloud.azure.eventhubs.processor.checkpoint-store.account-name |
spring.cloud.azure.eventhub.checkpoint-access-key | spring.cloud.azure.eventhubs.processor.checkpoint-store.account-key |
spring.cloud.azure.eventhub.checkpoint-container | spring.cloud.azure.eventhubs.processor.checkpoint-store.container-name |
Örneğin, şu şekilde değiştirin:
spring:
cloud:
azure:
eventhub:
connection-string: ${AZURE_EVENTHUBS_CONNECTION_STRING}
checkpoint-storage-account: ${AZURE_CHECKPOINT_STORAGE_ACCOUNT_NAME}
checkpoint-access-key: ${AZURE_CHECKPOINT_ACCOUNT_KEY}
checkpoint-container: ${AZURE_CHECKPOINT_CONTAINER_NAME}
yerine şunu yazın:
spring:
cloud:
azure:
eventhubs:
connection-string: ${AZURE_EVENTHUBS_CONNECTION_STRING}
processor:
checkpoint-store:
container-name: ${AZURE_STORAGE_CONTAINER_NAME}
account-name: ${AZURE_STORAGE_ACCOUNT_NAME}
account-key: ${AZURE_STORAGE_ACCOUNT_KEY}
API değişiklikleri
- Dinleyici ek açıklamalarında yapılan değişiklikler için migration-azure-spring-cloud-messaging, azure-spring-cloud-messaging>> kitaplığının geçiş kılavuzuna <<bakın.
- Abone işlevi sınıfa
EventHubsMessageListenerContainer
, gönderen işlev ise öğesineEventHubsTemplate
taşınarak bırakınEventHubOperation
. - Azure Event Hubs hizmetiyle tutarlı olmak için olarak
EventHubsInboundChannelAdapter
yeniden adlandırınEventHubInboundChannelAdapter
. - Oluşturucuyu ve
EventHubsInboundChannelAdapter(EventHubsMessageListenerContainer, ListenerMode)
olarakEventHubInboundChannelAdapter(String, SubscribeByGroupOperation, String)
EventHubsInboundChannelAdapter(EventHubsMessageListenerContainer)
değiştirin. - Örnek oluşturma stilini derleme stili yerine basit oluşturucuyla değiştirin
CheckpointConfig
. EventHubOperation#setCheckpointConfig
API'yi bırakın. Gelen kanal bağdaştırıcısının denetim noktası yapılandırmasını ayarlamak için kullanıcılar yönteminiEventHubsContainerProperties#setCheckpointConfig
çağırabilir.EventHubOperation#setBatchConsumerConfig
API'yi bırakın. Gelen kanal bağdaştırıcısı için toplu işlem kullanan yapılandırmayı ayarlamak için kullanıcılar iki yöntemiEventHubsContainerProperties#getBatch#setMaxSize
çağırabilir veEventHubsContainerProperties#getBatch#setMaxWaitTime
bu arada.- Toplu işlem kullanma modu için toplu iletilerden dönüştürülen ileti üst bilgisi adlarını değiştirin.
- İleti üst bilgisini olarak
azure_eventhub_enqueued_time
azure_eventhubs_batch_converted_enqueued_time
değiştirin. - İleti üst bilgisini olarak
azure_eventhub_offset
azure_eventhubs_batch_converted_offset
değiştirin. - İleti üst bilgisini olarak
azure_eventhub_sequence_number
azure_eventhubs_batch_converted_sequence_number
değiştirin. - İleti üst bilgisini olarak
azure_partition_key
azure_batch_converted_partition_key
değiştirin.
- İleti üst bilgisini olarak
- Event Hubs'a ileti yayımlarken, toplu iletilerden dönüştürülen tüm ileti üst bilgilerini yoksayın. Üst bilgiler şunlardır:
- azure_batch_converted_partition_key
- azure_eventhubs_batch_converted_enqueued_time
- azure_eventhubs_batch_converted_offset
- azure_eventhubs_batch_converted_sequence_number
- azure_eventhubs_batch_converted_system_properties
- azure_eventhubs_batch_converted_application_properties
- Denetim
BATCH
noktası modu yalnızca eventHubsInboundChannelAdapter oluşturucusunda geçirilerekListenerMode.BATCH
etkinleştirilebilen toplu işlem modunda çalışır.
Aşağıdaki tabloda ile azure-spring-cloud-starter-eventhubs
spring-cloud-azure-starter-integration-eventhubs
sınıf eşlemeleri gösterilmektedir:
Eski sınıf | Modern sınıf |
---|---|
com.azure.spring.integration.core.AzureHeaders | com.azure.spring.messaging.AzureHeaders |
com.azure.spring.integration.core.EventHubHeaders | com.azure.spring.messaging.eventhubs.support.EventHubsHeaders |
com.azure.spring.integration.core.api.CheckpointConfig | com.azure.spring.messaging.eventhubs.core.checkpoint.CheckpointConfig |
com.azure.spring.integration.core.api.CheckpointMode | com.azure.spring.messaging.eventhubs.core.checkpoint.CheckpointMode |
com.azure.spring.integration.core.api.reactor.Checkpointer | com.azure.spring.messaging.checkpoint.Checkpointer |
com.azure.spring.integration.core.api.reactor.DefaultMessageHandler | com.azure.spring.integration.core.handler.DefaultMessageHandler |
com.azure.spring.integration.eventhub.inbound.EventHubInboundChannelAdapter | com.azure.spring.integration.eventhubs.inbound.EventHubsInboundChannelAdapter |
Örnek kod parçacığı
EventHubsInboundChannelAdapter
örnek kod:Eski kod:
public class Demo { @Bean public EventHubInboundChannelAdapter messageChannelAdapter( @Qualifier("INPUT_CHANNEL") MessageChannel inputChannel, EventHubOperation eventhubOperation) { eventhubOperation.setCheckpointConfig(CheckpointConfig.builder().checkpointMode (CheckpointMode.MANUAL).build()); EventHubInboundChannelAdapter adapter = new EventHubInboundChannelAdapter("EVENTHUB_NAME", eventhubOperation, "CONSUMER_GROUP"); adapter.setOutputChannel(inputChannel); return adapter; } }
Modern kod:
public class Demo { @Bean public EventHubsMessageListenerContainer messageListenerContainer(EventHubsProcessorFactory processorFactory) { EventHubsContainerProperties containerProperties = new EventHubsContainerProperties(); containerProperties.setEventHubName("EVENTHUB_NAME"); containerProperties.setConsumerGroup("CONSUMER_GROUP"); CheckpointConfig config = new CheckpointConfig(CheckpointMode.MANUAL); containerProperties.setCheckpointConfig(config); return new EventHubsMessageListenerContainer(processorFactory, containerProperties); } @Bean public EventHubsInboundChannelAdapter messageChannelAdapter(@Qualifier("INPUT_CHANNEL") MessageChannel inputChannel, EventHubsMessageListenerContainer listenerContainer) { EventHubsInboundChannelAdapter adapter = new EventHubsInboundChannelAdapter(listenerContainer); adapter.setOutputChannel(inputChannel); return adapter; } }
DefaultMessageHandler
örnek kod:Eski kod:
public class Demo { @Bean @ServiceActivator(inputChannel = "OUTPUT_CHANNEL") public MessageHandler messageSender(EventHubOperation eventhubOperation) { DefaultMessageHandler handler = new DefaultMessageHandler("EVENTHUB_NAME", eventhubOperation); handler.setSendCallback(new ListenableFutureCallback<Void>() { @Override public void onSuccess(Void result) { LOGGER.info("Message was sent successfully."); } @Override public void onFailure(Throwable ex) { LOGGER.error("There was an error sending the message.", ex); } }); return handler; } }
Modern kod:
public class Demo { @Bean @ServiceActivator(inputChannel = "OUTPUT_CHANNEL") public MessageHandler messageSender(EventHubsTemplate eventhubOperation) { DefaultMessageHandler handler = new DefaultMessageHandler("EVENTHUB_NAME", eventhubOperation); handler.setSendCallback(new ListenableFutureCallback<Void>() { @Override public void onSuccess(Void result) { LOGGER.info("Message was sent successfully."); } @Override public void onFailure(Throwable ex) { LOGGER.error("There was an error sending the message.", ex); } }); return handler; } }
azure-spring-integration-eventhubs'dan spring-integration-azure-eventhubs'a
Bu kılavuz, azure-spring-integration-eventhubs sürüm 2'den spring-integration-azure-eventhubs'a geçişte yardımcı olmak için tasarlanmıştır.
- 4.0'daki değişikliklere genel bakış için Giriş ve Geçiş avantajları bölümlerine bakın.
- Proje adlandırmadaki strateji değişiklikleri hakkında daha fazla bilgi edinmek için Adlandırma değişiklikleri bölümüne bakın.
- Tüm Spring Cloud Azure kitaplıkları için bir ürün reçetesi kullanmayı öğrenmek için ÜRÜN REÇETESI bölümüne bakın.
API değişiklikleri
- Abone işlevi sınıfa
EventHubsMessageListenerContainer
, gönderen işlev ise öğesineEventHubsTemplate
taşınarak bırakınEventHubOperation
. - Azure Event Hubs hizmetiyle tutarlı olmak için olarak
EventHubsInboundChannelAdapter
yeniden adlandırınEventHubInboundChannelAdapter
. - Oluşturucuyu ve
EventHubsInboundChannelAdapter(EventHubsMessageListenerContainer, ListenerMode)
olarakEventHubInboundChannelAdapter(String, SubscribeByGroupOperation, String)
EventHubsInboundChannelAdapter(EventHubsMessageListenerContainer)
değiştirin. - Örnek oluşturma stilini derleme stili yerine basit oluşturucuyla değiştirin
CheckpointConfig
. EventHubOperation#setCheckpointConfig
API'yi bırakın. Gelen kanal bağdaştırıcısının denetim noktası yapılandırmasını ayarlamak için kullanıcılar yönteminiEventHubsContainerProperties#setCheckpointConfig
çağırabilir.EventHubOperation#setBatchConsumerConfig
API'yi bırakın. Gelen kanal bağdaştırıcısı için toplu işlem kullanan yapılandırmayı ayarlamak için kullanıcılar iki yöntemiEventHubsContainerProperties#getBatch#setMaxSize
çağırabilir veEventHubsContainerProperties#getBatch#setMaxWaitTime
bu arada.- Toplu işlem kullanma modu için toplu iletilerden dönüştürülen ileti üst bilgisi adlarını değiştirin.
- İleti üst bilgisini olarak
azure_eventhub_enqueued_time
azure_eventhubs_batch_converted_enqueued_time
değiştirin. - İleti üst bilgisini olarak
azure_eventhub_offset
azure_eventhubs_batch_converted_offset
değiştirin. - İleti üst bilgisini olarak
azure_eventhub_sequence_number
azure_eventhubs_batch_converted_sequence_number
değiştirin. - İleti üst bilgisini olarak
azure_partition_key
azure_batch_converted_partition_key
değiştirin.
- İleti üst bilgisini olarak
- Event Hubs'a ileti yayımlarken, toplu iletilerden dönüştürülen tüm ileti üst bilgilerini yoksayın. Üst bilgiler şunlardır:
- azure_batch_converted_partition_key
- azure_eventhubs_batch_converted_enqueued_time
- azure_eventhubs_batch_converted_offset
- azure_eventhubs_batch_converted_sequence_number
- azure_eventhubs_batch_converted_system_properties
- azure_eventhubs_batch_converted_application_properties
- Denetim
BATCH
noktası modu yalnızca eventHubsInboundChannelAdapter oluşturucusunda geçirilerekListenerMode.BATCH
etkinleştirilebilen toplu işlem modunda çalışır.
Aşağıdaki tabloda ile azure-spring-integration-eventhubs
spring-integration-azure-eventhubs
sınıf eşlemeleri gösterilmektedir:
Eski sınıf | Modern sınıf |
---|---|
com.azure.spring.integration.core.AzureHeaders | com.azure.spring.messaging.AzureHeaders |
com.azure.spring.integration.core.EventHubHeaders | com.azure.spring.messaging.eventhubs.support.EventHubsHeaders |
com.azure.spring.integration.core.api.CheckpointConfig | com.azure.spring.messaging.eventhubs.core.checkpoint.CheckpointConfig |
com.azure.spring.integration.core.api.CheckpointMode | com.azure.spring.messaging.eventhubs.core.checkpoint.CheckpointMode |
com.azure.spring.integration.core.api.reactor.Checkpointer | com.azure.spring.messaging.checkpoint.Checkpointer |
com.azure.spring.integration.core.api.reactor.DefaultMessageHandler | com.azure.spring.integration.core.handler.DefaultMessageHandler |
com.azure.spring.integration.eventhub.inbound.EventHubInboundChannelAdapter | com.azure.spring.integration.eventhubs.inbound.EventHubsInboundChannelAdapter |
Azure-spring-cloud-starter-servicebus'tan spring-cloud-azure-starter-integration-servicebus'a
Bu kılavuz, azure-spring-cloud-starter-servicebus sürüm 2'den spring-cloud-azure-starter-integration-servicebus'a geçişte yardımcı olmak için tasarlanmıştır.
Genel bilgi için aşağıdaki bağlantıları kullanın:
- 4.0'daki değişikliklere genel bakış için Giriş ve Geçiş avantajları bölümlerine bakın.
- Proje adlandırmadaki strateji değişiklikleri hakkında daha fazla bilgi edinmek için Adlandırma değişiklikleri bölümüne bakın.
- Tüm Spring Cloud Azure kitaplıkları için bir ürün reçetesi kullanmayı öğrenmek için ÜRÜN REÇETESI bölümüne bakın.
- Spring Cloud Azure 4.0'da kimlik doğrulamasının nasıl işleneceğini öğrenmek için Kimlik doğrulaması değişiklikleri bölümüne bakın.
- Geçiş sırasında nasıl yararlanacağınızı
spring-boot-properties-migrator
öğrenmek için Her SDK'yı yapılandırma bölümüne bakın. - Genel ve yaygın yapılandırma değişiklikleri hakkında daha fazla bilgi edinmek için Genel yapılandırmalar bölümüne bakın.
SDK yapılandırma değişiklikleri
içinde desteklenen tüm yapılandırma seçenekleri için spring-cloud-azure-starter-integration-servicebus
ön ek olarak spring.cloud.azure.servicebus
kalır.
Aşağıdaki tabloda ile olan özellik eşlemeleri gösterilmektedir azure-spring-cloud-starter-servicebus
spring-cloud-azure-starter-integration-servicebus
:
Eski özellikler | Modern özellikler |
---|---|
spring.cloud.azure.resource-group | spring.cloud.azure.servicebus.resource.resource-group |
spring.cloud.azure.servicebus.transport-type | spring.cloud.azure.servicebus.client.transport-type |
spring.cloud.azure.servicebus.retry-options.retry-mode | spring.cloud.azure.servicebus.retry.mode |
spring.cloud.azure.servicebus.retry-options.max-retries | spring.cloud.azure.servicebus.retry.exponential.max-retries veya spring.cloud.azure.servicebus.retry.fixed.max-retries, spring.cloud.azure.servicebus.retry.mode=fixed veya üstel olarak yapılandırılmalıdır |
spring.cloud.azure.servicebus.retry-options.delay | spring.cloud.azure.servicebus.retry.exponential.base-delay veya spring.cloud.azure.servicebus.retry.fixed.delay, spring.cloud.azure.servicebus.retry.mode=sabit veya üstel olarak yapılandırılmalıdır |
spring.cloud.azure.servicebus.retry-options.max-delay | spring.cloud.azure.servicebus.retry.exponential.max-delay |
spring.cloud.azure.servicebus.retry-options.try-timeout | spring.cloud.azure.servicebus.retry.try-timeout |
API değişiklikleri
- Sınıfa taşınan abone işlevi ve
ServiceBusTopicOperation
gönderme işlevi öğesineServiceBusTemplate
taşındığındaServiceBusMessageListenerContainer
bırakınServiceBusQueueOperation
. - ve
ServiceBusTopicInboundChannelAdapter
öğesini bırakınServiceBusQueueInboundChannelAdapter
ve service Bus kuyruğu/konu varlığını dinleme işlevini ServiceBusInboundChannelAdapter'a taşıyın. - Oluşturucuyu ve
ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode)
olarakServiceBusQueueInboundChannelAdapter(String, SubscribeByGroupOperation, String)
ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer)
değiştirin. - Oluşturucuyu ve
ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode)
olarakServiceBusTopicInboundChannelAdapter(String, SubscribeByGroupOperation, String)
ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer)
değiştirin. - API'leri
ServiceBusQueueOperation#setCheckpointConfig
veServiceBusTopicOperation#setCheckpointConfig
'yi bırakın. Gelen kanal bağdaştırıcısının denetim noktası yapılandırmasını ayarlamak için kullanıcılar bunun yerine yönteminiServiceBusContainerProperties#setAutoComplete
çağırabilir. Otomatik tamamlama modunu devre dışı bırakmak denetim noktası moduna eşdeğerdirMANUAL
ve etkinleştirmek modu tetiklerRECORD
. - API'leri
ServiceBusQueueOperatio#setClientConfig
veServiceBusTopicOperation#setClientConfig
'yi bırakın. Gelen kanal bağdaştırıcısı tarafından kullanılan temeliServiceBusProcessorClient
yapılandırmak için kullanıcılar bunu kullanabilirServiceBusContainerProperties
. - Bunun yerine ve
DefaultMessageHandler
içindekiServiceBusTemplate
desteğiReactor
bırakınCompletableFuture
. - için hiçbir bean
PropertiesSupplier<String, ProducerProperties>
sağlanmayan varlık türünü belirtmek için yeni API'siniServiceBusTemplate#setDefaultEntityType
ProducerProperties#entityType
ekleyin. - İleti üst bilgisini
AzureHeaders.RAW_ID
bırakın. Bunun yerineServiceBusMessageHeaders.MESSAGE_ID
kullanın.
Aşağıdaki tabloda ile azure-spring-cloud-starter-servicebus
spring-cloud-azure-starter-integration-servicebus
sınıf eşlemeleri gösterilmektedir:
Eski sınıf | Modern sınıf |
---|---|
com.azure.spring.integration.core.AzureHeaders | com.azure.spring.messaging.AzureHeaders |
com.azure.spring.integration.servicebus.converter.ServiceBusMessageHeaders | com.azure.spring.messaging.servicebus.support.ServiceBusMessageHeaders |
com.azure.spring.integration.servicebus.converter.ServiceBusMessageConverter | com.azure.spring.messaging.servicebus.support.converter.ServiceBusMessageConverter |
com.azure.spring.integration.core.DefaultMessageHandler | com.azure.spring.integration.core.handler.DefaultMessageHandler |
com.azure.spring.integration.servicebus.inbound.ServiceBusQueueInboundChannelAdapter | com.azure.spring.integration.servicebus.inbound.ServiceBusInboundChannelAdapter |
com.azure.spring.integration.servicebus.inbound.ServiceBusTopicInboundChannelAdapter | com.azure.spring.integration.servicebus.inbound.ServiceBusInboundChannelAdapter |
Örnek kod parçacığı
ServiceBusInboundChannelAdapter
örnek kod:veya
ServiceBusTopicInboundChannelAdapter
kullanmayaServiceBusQueueInboundChannelAdapter
ait eski kod:public class Demo { @Bean public ServiceBusQueueInboundChannelAdapter queueMessageChannelAdapter( @Qualifier("INPUT_CHANNEL_NAME") MessageChannel inputChannel, ServiceBusQueueOperation queueOperation) { queueOperation.setCheckpointConfig(CheckpointConfig.builder().checkpointMode(CheckpointMode.MANUAL).build()); ServiceBusQueueInboundChannelAdapter adapter = new ServiceBusQueueInboundChannelAdapter("QUEUE_NAME", queueOperation); adapter.setOutputChannel(inputChannel); return adapter; } @Bean public ServiceBusTopicInboundChannelAdapter topicMessageChannelAdapter( @Qualifier("INPUT_CHANNEL_NAME") MessageChannel inputChannel, ServiceBusTopicOperation topicOperation) { topicOperation.setCheckpointConfig(CheckpointConfig.builder().checkpointMode(CheckpointMode.MANUAL).build()); ServiceBusTopicInboundChannelAdapter adapter = new ServiceBusTopicInboundChannelAdapter("TOPIC_NAME", topicOperation, "SUBSCRIPTION_NAME"); adapter.setOutputChannel(inputChannel); return adapter; } }
Modern kod:
public class Demo { @Bean("queue-listener-container") public ServiceBusMessageListenerContainer messageListenerContainer(ServiceBusProcessorFactory processorFactory) { ServiceBusContainerProperties containerProperties = new ServiceBusContainerProperties(); containerProperties.setEntityName("QUEUE_NAME"); containerProperties.setAutoComplete(false); return new ServiceBusMessageListenerContainer(processorFactory, containerProperties); } @Bean public ServiceBusInboundChannelAdapter queueMessageChannelAdapter( @Qualifier("INPUT_CHANNEL") MessageChannel inputChannel, @Qualifier("queue-listener-container") ServiceBusMessageListenerContainer listenerContainer) { ServiceBusInboundChannelAdapter adapter = new ServiceBusInboundChannelAdapter(listenerContainer); adapter.setOutputChannel(inputChannel); return adapter; } @Bean("topic-listener-container") public ServiceBusMessageListenerContainer messageListenerContainer(ServiceBusProcessorFactory processorFactory) { ServiceBusContainerProperties containerProperties = new ServiceBusContainerProperties(); containerProperties.setEntityName("TOPIC_NAME"); containerProperties.setSubscriptionName("SUBSCRIPTION_NAME"); containerProperties.setAutoComplete(false); return new ServiceBusMessageListenerContainer(processorFactory, containerProperties); } @Bean public ServiceBusInboundChannelAdapter topicMessageChannelAdapter( @Qualifier("INPUT_CHANNEL") MessageChannel inputChannel, @Qualifier("topic-listener-container") ServiceBusMessageListenerContainer listenerContainer) { ServiceBusInboundChannelAdapter adapter = new ServiceBusInboundChannelAdapter(listenerContainer); adapter.setOutputChannel(inputChannel); return adapter; } }
DefaultMessageHandler
örnek kod:Örnek olarak kuyruk alan eski kod:
public class Demo { @Bean @ServiceActivator(inputChannel = "OUTPUT_CHANNEL_NAME") public MessageHandler queueMessageSender(ServiceBusQueueOperation queueOperation) { DefaultMessageHandler handler = new DefaultMessageHandler("QUEUE_NAME", queueOperation); handler.setSendCallback(new ListenableFutureCallback<Void>() { @Override public void onSuccess(Void result) { LOGGER.info("Message was sent successfully."); } @Override public void onFailure(Throwable ex) { LOGGER.info("There was an error sending the message."); } }); return handler; } }
Modern kod:
public class Demo { @Bean @ServiceActivator(inputChannel = "OUTPUT_CHANNEL_NAME") public MessageHandler queueMessageSender(ServiceBusTemplate serviceBusTemplate) { serviceBusTemplate.setDefaultEntityType(ServiceBusEntityType.QUEUE); DefaultMessageHandler handler = new DefaultMessageHandler("QUEUE_NAME", serviceBusTemplate); handler.setSendCallback(new ListenableFutureCallback<Void>() { @Override public void onSuccess(Void result) { LOGGER.info("Message was sent successfully for {}.", "QUEUE_NAME"); } @Override public void onFailure(Throwable ex) { LOGGER.info("There was an error sending the message."); } }); return handler; } }
azure-spring-integration-servicebus'tan spring-integration-azure-servicebus'a
Bu kılavuz, azure-spring-integration-servicebus sürümünün 2. sürümünden spring-integration-azure-servicebus'a geçişte yardımcı olmak için tasarlanmıştır.
- 4.0'daki değişikliklere genel bakış için Giriş ve Geçiş avantajları bölümlerine bakın.
- Proje adlandırmadaki strateji değişiklikleri hakkında daha fazla bilgi edinmek için Adlandırma değişiklikleri bölümüne bakın.
- Tüm Spring Cloud Azure kitaplıkları için bir ürün reçetesi kullanmayı öğrenmek için ÜRÜN REÇETESI bölümüne bakın.
API değişiklikleri
- Sınıfa taşınan abone işlevi ve
ServiceBusTopicOperation
gönderme işlevi öğesineServiceBusTemplate
taşındığındaServiceBusMessageListenerContainer
bırakınServiceBusQueueOperation
. - ve
ServiceBusTopicInboundChannelAdapter
öğesini bırakınServiceBusQueueInboundChannelAdapter
ve service Bus kuyruğu/konu varlığını dinleme işlevini ServiceBusInboundChannelAdapter'a taşıyın. - Oluşturucuyu ve
ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode)
olarakServiceBusQueueInboundChannelAdapter(String, SubscribeByGroupOperation, String)
ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer)
değiştirin. - Oluşturucuyu ve
ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode)
olarakServiceBusTopicInboundChannelAdapter(String, SubscribeByGroupOperation, String)
ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer)
değiştirin. - API'leri
ServiceBusQueueOperation#setCheckpointConfig
veServiceBusTopicOperation#setCheckpointConfig
'yi bırakın. Gelen kanal bağdaştırıcısının denetim noktası yapılandırmasını ayarlamak için kullanıcılar bunun yerine yönteminiServiceBusContainerProperties#setAutoComplete
çağırabilir. Otomatik tamamlama modunu devre dışı bırakmak denetim noktası moduna eşdeğerdirMANUAL
ve etkinleştirmek modu tetiklerRECORD
. - API'leri
ServiceBusQueueOperation#setClientConfig
veServiceBusTopicOperation#setClientConfig
'yi bırakın. Gelen kanal bağdaştırıcısı tarafından kullanılan temeliServiceBusProcessorClient
yapılandırmak için kullanıcılar bunu kullanabilirServiceBusContainerProperties
. - Bunun yerine ve
DefaultMessageHandler
içindekiServiceBusTemplate
desteğiReactor
bırakınCompletableFuture
. - için hiçbir bean
PropertiesSupplier<String, ProducerProperties>
sağlanmayan varlık türünü belirtmek için yeni API'siniServiceBusTemplate#setDefaultEntityType
ProducerProperties#entityType
ekleyin. - İleti üst bilgisini
AzureHeaders.RAW_ID
bırakın. Bunun yerineServiceBusMessageHeaders.MESSAGE_ID
kullanın.
Aşağıdaki tabloda ile azure-spring-integration-servicebus
spring-integration-azure-servicebus
sınıf eşlemeleri gösterilmektedir:
Eski sınıf | Modern sınıf |
---|---|
com.azure.spring.integration.core.AzureHeaders | com.azure.spring.messaging.AzureHeaders |
com.azure.spring.integration.servicebus.converter.ServiceBusMessageHeaders | com.azure.spring.messaging.servicebus.support.ServiceBusMessageHeaders |
com.azure.spring.integration.servicebus.converter.ServiceBusMessageConverter | com.azure.spring.messaging.servicebus.support.converter.ServiceBusMessageConverter |
com.azure.spring.integration.core.DefaultMessageHandler | com.azure.spring.integration.core.handler.DefaultMessageHandler |
com.azure.spring.integration.servicebus.inbound.ServiceBusQueueInboundChannelAdapter | com.azure.spring.integration.servicebus.inbound.ServiceBusInboundChannelAdapter |
com.azure.spring.integration.servicebus.inbound.ServiceBusTopicInboundChannelAdapter | com.azure.spring.integration.servicebus.inbound.ServiceBusInboundChannelAdapter |
azure-spring-cloud-starter-storage-queue'dan spring-cloud-azure-starter-integration-storage-queue'a
Bu kılavuz, azure-spring-cloud-starter-storage-queue sürümünün 2. sürümünden spring-cloud-azure-starter-integration-storage-queue'a geçişe yardımcı olmak için tasarlanmıştır.
Genel bilgi için aşağıdaki bağlantıları kullanın:
- 4.0'daki değişikliklere genel bakış için Giriş ve Geçiş avantajları bölümlerine bakın.
- Proje adlandırmadaki strateji değişiklikleri hakkında daha fazla bilgi edinmek için Adlandırma değişiklikleri bölümüne bakın.
- Tüm Spring Cloud Azure kitaplıkları için bir ürün reçetesi kullanmayı öğrenmek için ÜRÜN REÇETESI bölümüne bakın.
- Spring Cloud Azure 4.0'da kimlik doğrulamasının nasıl işleneceğini öğrenmek için Kimlik doğrulaması değişiklikleri bölümüne bakın.
- Geçiş sırasında nasıl yararlanacağınızı
spring-boot-properties-migrator
öğrenmek için Her SDK'yı yapılandırma bölümüne bakın. - Genel ve yaygın yapılandırma değişiklikleri hakkında daha fazla bilgi edinmek için Genel yapılandırmalar bölümüne bakın.
SDK yapılandırma değişiklikleri
Tüm yapılandırma özellik adları ön eki olarak spring.cloud.azure.storage
spring.cloud.azure.storage.queue
değiştirildi.
Aşağıdaki tabloda ile olan özellik eşlemeleri gösterilmektedir azure-spring-cloud-starter-storage-queue
spring-cloud-azure-starter-integration-storage-queue
:
Eski özellikler | Modern özellikler |
---|---|
spring.cloud.azure.storage.account | spring.cloud.azure.storage.queue.account-name |
spring.cloud.azure.storage.access-key | spring.cloud.azure.storage.queue.account-key |
spring.cloud.azure.storage.resource-group | spring.cloud.azure.storage.queue.resource.resource-group |
API değişiklikleri
- Bunun yerine bırakın
StorageQueueOperation
ve sağlayınStorageQueueTemplate
. - 'de
StorageQueueTemplate
yapılandırmayıMANUAL
bırakıncheckpoint-mode
, yalnızca modu destekler.
Aşağıdaki tabloda ile azure-spring-cloud-starter-storage-queue
spring-cloud-azure-starter-integration-storage-queue
sınıf eşlemeleri gösterilmektedir.
Eski sınıf | Modern sınıf |
---|---|
com.azure.spring.integration.core.AzureHeaders | com.azure.spring.messaging.AzureHeaders |
com.azure.spring.integration.storage.queue.converter. Depolama QueueMessageConverter | com.azure.spring.messaging.storage.queue.support.converter. Depolama QueueMessageConverter |
com.azure.spring.integration.core.api.reactor.Checkpointer | com.azure.spring.messaging.checkpoint.Checkpointer |
com.azure.spring.integration.storage.queue. Depolama QueueTemplate | com.azure.spring.storage.queue.core. Depolama QueueTemplate |
com.azure.spring.integration.core.api.reactor.DefaultMessageHandler | com.azure.spring.integration.core.handler.DefaultMessageHandler |
com.azure.spring.integration.storage.queue.inbound. Depolama QueueMessageSource | com.azure.spring.integration.storage.queue.inbound. Depolama QueueMessageSource |
azure-spring-integration-storage-queue'dan spring-integration-azure-storage-queue'a
Bu kılavuz, azure-spring-integration-storage-queue sürümünün 2. sürümünden spring-integration-azure-storage-queue'a geçişte yardımcı olmak için tasarlanmıştır.
- 4.0'daki değişikliklere genel bakış için Giriş ve Geçiş avantajları bölümlerine bakın.
- Proje adlandırmadaki strateji değişiklikleri hakkında daha fazla bilgi edinmek için Adlandırma değişiklikleri bölümüne bakın.
- Tüm Spring Cloud Azure kitaplıkları için bir ürün reçetesi kullanmayı öğrenmek için ÜRÜN REÇETESI bölümüne bakın.
API değişiklikleri
- Bunun yerine bırakın
StorageQueueOperation
ve sağlayınStorageQueueTemplate
. - 'de
StorageQueueTemplate
yapılandırmayıMANUAL
bırakıncheckpoint-mode
, yalnızca modu destekler.
Aşağıdaki tabloda ile azure-spring-integration-storage-queue
spring-integration-azure-storage-queue
sınıf eşlemeleri gösterilmektedir.
Eski sınıf | Modern sınıf |
---|---|
com.azure.spring.integration.core.AzureHeaders | com.azure.spring.messaging.AzureHeaders |
com.azure.spring.integration.storage.queue.converter. Depolama QueueMessageConverter | com.azure.spring.messaging.storage.queue.support.converter. Depolama QueueMessageConverter |
com.azure.spring.integration.core.api.reactor.Checkpointer | com.azure.spring.messaging.checkpoint.Checkpointer |
com.azure.spring.integration.storage.queue. Depolama QueueTemplate | com.azure.spring.storage.queue.core. Depolama QueueTemplate |
com.azure.spring.integration.core.api.reactor.DefaultMessageHandler | com.azure.spring.integration.core.handler.DefaultMessageHandler |
com.azure.spring.integration.storage.queue.inbound. Depolama QueueMessageSource | com.azure.spring.integration.storage.queue.inbound. Depolama QueueMessageSource |
azure-spring-cloud-stream-binder-eventhubs'dan spring-cloud-azure-stream-binder-eventhubs'a
Bu kılavuz, azure-spring-cloud-stream-binder-eventhubs'ın 2. sürümünden spring-cloud-azure-stream-binder-eventhubs'a geçişe yardımcı olmak için tasarlanmıştır.
Genel bilgi için aşağıdaki bağlantıları kullanın:
- 4.0'daki değişikliklere genel bakış için Giriş ve Geçiş avantajları bölümlerine bakın.
- Proje adlandırmadaki strateji değişiklikleri hakkında daha fazla bilgi edinmek için Adlandırma değişiklikleri bölümüne bakın.
- Tüm Spring Cloud Azure kitaplıkları için bir ürün reçetesi kullanmayı öğrenmek için ÜRÜN REÇETESI bölümüne bakın.
- Spring Cloud Azure 4.0'da kimlik doğrulamasının nasıl işleneceğini öğrenmek için Kimlik doğrulaması değişiklikleri bölümüne bakın.
- Geçiş sırasında nasıl yararlanacağınızı
spring-boot-properties-migrator
öğrenmek için Her SDK'yı yapılandırma bölümüne bakın. - Genel ve yaygın yapılandırma değişiklikleri hakkında daha fazla bilgi edinmek için Genel yapılandırmalar bölümüne bakın.
SDK yapılandırma değişiklikleri
Önemli
Yapılandırma ön eki olarak değiştirildi spring.cloud.azure.eventhub
spring.cloud.azure.eventhubs.
Önemli
Bağlayıcı türü: olarak eventhub
eventhubs
yeniden adlandırılır.
Aşağıdaki ön ek için alt girdilerde yapılan değişiklikler için aşağıdaki tabloya bakın.
Aşağıdaki tabloda ile azure-spring-cloud-stream-binder-eventhubs
spring-cloud-azure-stream-binder-eventhubs
olan özellik eşlemeleri gösterilmektedir:
Eski özellikler | Modern özellikler |
---|---|
spring.cloud.azure.resource-group | spring.cloud.azure.eventhubs.resource.resource-group |
spring.cloud.azure.eventhub.namespace | spring.cloud.azure.eventhubs.namespace |
spring.cloud.azure.eventhub.connection-string | spring.cloud.azure.eventhubs.connection-string |
spring.cloud.azure.eventhub.checkpoint-storage-account | spring.cloud.azure.eventhubs.processor.checkpoint-store.account-name |
spring.cloud.azure.eventhub.checkpoint-access-key | spring.cloud.azure.eventhubs.processor.checkpoint-store.account-key |
spring.cloud.azure.eventhub.checkpoint-container | spring.cloud.azure.eventhubs.processor.checkpoint-store.container-name |
spring.cloud.stream.eventhub.bindings.binding-name.consumer.max-batch-size | spring.cloud.stream.eventhubs.bindings.binding-name.consumer.batch.max-size |
spring.cloud.stream.eventhub.bindings.binding-name.consumer.max-wait-time | spring.cloud.stream.eventhubs.bindings.binding-name.consumer.batch.max-wait-time |
spring.cloud.stream.eventhub.bindings.binding-name.consumer.checkpoint-mode | spring.cloud.stream.eventhubs.bindings.binding-name.consumer.checkpoint.mode |
spring.cloud.stream.eventhub.bindings.binding-name.consumer.checkpoint-count | spring.cloud.stream.eventhubs.bindings.binding-name.consumer.checkpoint.count |
spring.cloud.stream.eventhub.bindings.binding-name.consumer.checkpoint-interval | spring.cloud.stream.eventhubs.bindings.binding-name.consumer.checkpoint.interval |
spring.cloud.stream.eventhub.bindings.binding-name.consumer.start-position | spring.cloud.stream.eventhubs.bindings.binding-name.consumer.initial-partition-event-position |
Dekont
Yapılandırmanın start-position
değer türü, her bölüm için bir sabit com.azure.spring.integration.core.api.StartPosition
listesi olan değeri olarak map
StartPositionProperties
da değiştirilir. Bu nedenle, anahtar bölüm kimliğidir ve değer com.azure.spring.cloud.service.eventhubs.properties.StartPositionProperties
uzaklık, sıra numarası, sıralanan tarih saati ve dahil olup olmadığının özelliklerini içerir.
Yapılandırma geçişi örnekleri
kimlik doğrulaması için bağlantı dizesi kullanmak ve yukarıda bahsedilen özellikleri geçirmek için yapılandırma değişiklikleri aşağıda listelenmiştir:
Eski yapılandırma:
spring:
cloud:
azure:
eventhub:
connection-string: ${AZURE_EVENTHUBS_CONNECTION_STRING}
checkpoint-storage-account: ${AZURE_CHECKPOINT_STORAGE_ACCOUNT_NAME}
checkpoint-access-key: ${AZURE_CHECKPOINT_ACCOUNT_KEY}
checkpoint-container: ${AZURE_CHECKPOINT_CONTAINER_NAME}
stream:
eventhub:
bindings:
<binding-name>:
consumer:
max-batch-size: ${AZURE_MAX_BATCH_SIZE}
max-wait-time: ${AZURE_MAX_WAIT_TIME}
checkpoint-mode: ${AZURE_CHECKPOINT_MODE}
checkpoint-count: ${AZURE_CHECKPOINT_COUNT}
checkpoint-interval: ${AZURE_CHECKPOINT_INTERVAL}
start-position: EARLIEST
Modern yapılandırma:
spring:
cloud:
azure:
eventhubs:
connection-string: ${AZURE_EVENTHUBS_CONNECTION_STRING}
processor:
checkpoint-store:
container-name: ${AZURE_STORAGE_CONTAINER_NAME}
account-name: ${AZURE_STORAGE_ACCOUNT_NAME}
account-key: ${AZURE_STORAGE_ACCOUNT_KEY}
stream:
eventhubs:
bindings:
<binding-name>:
consumer:
batch:
max-size: ${AZURE_MAX_BATCH_SIZE}
max-wait-time: ${AZURE_MAX_WAIT_TIME}
checkpoint:
mode: ${AZURE_CHECKPOINT_MODE}
count: ${AZURE_CHECKPOINT_COUNT}
interval: ${AZURE_CHECKPOINT_INTERVAL}
initial-partition-event-position:
0:
offset: earliest
1:
sequence-number: 100
2:
enqueued-date-time: 2022-01-12T13:32:47.650005Z
4:
inclusive: false
bağlantı dizesi yerine güvenlik sorumluları kullanırsanız, 4.0'ın önceki sürümlerinde uygulama öncelikle sağlanan güvenlik sorumlusuyla Azure Resource Manager'a (ARM) bağlanır ve ardından BELIRTILEN ad alanının bağlantı dizesi ARM ile alır. Sonunda uygulama, Azure Event Hubs'a bağlanmak için alınan bağlantı dizesi kullanır. Bu şekilde, sağlanan güvenlik sorumlusuna ilişkili Azure Event Hubs ad alanını almak için Katkıda Bulunan rolü verilmelidir.
Azure Spring Apps 4.0 için kimlik doğrulaması için güvenlik sorumlularından yararlanmanın iki yolunu sunuyoruz. Biri hala ARM'ye bağlanmak ve sorumlular için rolün gerekli olduğu Contributor
bağlantı dizesi almak için sorumluları kullanıyor. Diğeri, Microsoft Entra Id kimlik doğrulaması yapmak ve ardından doğrudan Azure Event Hubs'a bağlanmak için güvenlik sorumlularından yararlanıyor. Bu durumda, Contributor
rol artık gerekli değildir, ancak mesajlaşma işlemleri için diğer Data
ilgili roller gereklidir. Güvenlik sorumlusuna Azure kaynağına erişmek için yeterli izin verildiğinden emin olmak için bkz . Microsoft Entra Kimliği ile erişimi yetkilendirme.
ARM tabanlı kimlik doğrulaması için, hizmet sorumlusu örnek olarak alındığında, yapılandırma geçişi aşağıda listelenmiştir; burada atanan rol değiştirilmemelidir:
Eski yapılandırma:
spring:
cloud:
azure:
client-id: ${AZURE_CLIENT_ID}
client-secret: ${AZURE_CLIENT_SECRET}
tenant-id: <tenant>
resource-group: ${EVENTHUB_RESOURCE_GROUP}
eventhub:
namespace: ${EVENTHUB_NAMESPACE}
Dekont
için tenant-id
izin verilen değerler şunlardır: common
, organizations
, consumers
veya kiracı kimliği. Bu değerler hakkında daha fazla bilgi için Hata AADSTS50020 - Kimlik sağlayıcısı kullanıcı hesabı kiracıda yok hatasının Yanlış uç nokta (kişisel ve kuruluş hesapları) kullanıldı bölümüne bakın. Tek kiracılı uygulamanızı dönüştürme hakkında bilgi için bkz . Microsoft Entra Id'de tek kiracılı uygulamayı çok kiracılıya dönüştürme.
Modern yapılandırma, Azure abonelik kimliği ve kaynak grubu özellikleri gereklidir:
spring:
cloud:
azure:
credential:
client-id: ${AZURE_CLIENT_ID}
client-secret: ${AZURE_CLIENT_SECRET}
profile:
tenant-id: <tenant>
subscription-id: ${AZURE_SUBSCRIPTION_ID}
eventhubs:
namespace: ${EVENTHUB_NAMESPACE}
resource:
resource-group: ${RESOURCE_GROUP}
Dekont
için tenant-id
izin verilen değerler şunlardır: common
, organizations
, consumers
veya kiracı kimliği. Bu değerler hakkında daha fazla bilgi için Hata AADSTS50020 - Kimlik sağlayıcısı kullanıcı hesabı kiracıda yok hatasının Yanlış uç nokta (kişisel ve kuruluş hesapları) kullanıldı bölümüne bakın. Tek kiracılı uygulamanızı dönüştürme hakkında bilgi için bkz . Microsoft Entra Id'de tek kiracılı uygulamayı çok kiracılıya dönüştürme.
Ayrıca ARM'ye sapmadan doğrudan Microsoft Entra Id ile kimlik doğrulaması ve yetkilendirme için geçiş yapabilirsiniz. Güvenlik sorumlusuna mesajlaşma işlemleri için gerekli Data
rolleri verin. Hizmet sorumlusunun ve yönetilen kimliğin yapılandırma örnekleri aşağıda listelenmiştir:
Hizmet sorumlusuyla
spring: cloud: azure: credential: client-id: ${AZURE_CLIENT_ID} client-secret: ${AZURE_CLIENT_SECRET} profile: tenant-id: <tenant> eventhubs: namespace: ${EVENTHUB_NAMESPACE}
Dekont
için tenant-id
izin verilen değerler şunlardır: common
, organizations
, consumers
veya kiracı kimliği. Bu değerler hakkında daha fazla bilgi için Hata AADSTS50020 - Kimlik sağlayıcısı kullanıcı hesabı kiracıda yok hatasının Yanlış uç nokta (kişisel ve kuruluş hesapları) kullanıldı bölümüne bakın. Tek kiracılı uygulamanızı dönüştürme hakkında bilgi için bkz . Microsoft Entra Id'de tek kiracılı uygulamayı çok kiracılıya dönüştürme.
Yönetilen kimlikle
spring: cloud: azure: credential: managed-identity-enabled: true client-id: ${AZURE_MANAGED_IDENTITY_CLIENT_ID} # Only needed when using a user-assigned managed identity eventhubs: namespace: ${EVENTHUB_NAMESPACE}
API değişiklikleri
Aşağıdaki tabloda ile azure-spring-cloud-stream-binder-eventhubs
spring-cloud-azure-stream-binder-eventhubs
sınıf eşlemeleri gösterilmektedir.
Eski sınıf | Modern sınıf |
---|---|
com.azure.spring.integration.core.api.reactor.Checkpointer | com.azure.spring.messaging.checkpoint.Checkpointer |
com.azure.spring.integration.core.AzureHeaders | com.azure.spring.messaging.AzureHeaders |
com.azure.spring.integration.core.EventHubHeaders | com.azure.spring.messaging.eventhubs.support.EventHubsHeaders |
azure-spring-cloud-stream-binder-servicebus-* ile spring-cloud-azure-stream-binder-servicebus
Bu kılavuz, azure-spring-cloud-stream-binder-servicebus-queue veya azure-spring-cloud-stream-binder-servicebus-topic sürüm 2'den spring-cloud-azure-stream-binder-servicebus'a geçişte yardımcı olmak için tasarlanmıştır.
Genel bilgi için aşağıdaki bağlantıları kullanın:
- 4.0'daki değişikliklere genel bakış için Giriş ve Geçiş avantajları bölümlerine bakın.
- Proje adlandırmadaki strateji değişiklikleri hakkında daha fazla bilgi edinmek için Adlandırma değişiklikleri bölümüne bakın.
- Tüm Spring Cloud Azure kitaplıkları için bir ürün reçetesi kullanmayı öğrenmek için ÜRÜN REÇETESI bölümüne bakın.
- Spring Cloud Azure 4.0'da kimlik doğrulamasının nasıl işleneceğini öğrenmek için Kimlik doğrulaması değişiklikleri bölümüne bakın.
- Geçiş sırasında nasıl yararlanacağınızı
spring-boot-properties-migrator
öğrenmek için Her SDK'yı yapılandırma bölümüne bakın. - Genel ve yaygın yapılandırma değişiklikleri hakkında daha fazla bilgi edinmek için Genel yapılandırmalar bölümüne bakın.
SDK yapılandırma değişiklikleri
Önemli
Eski bağlayıcı libaries ve azure-spring-cloud-stream-binder-servicebus-topic
şeklindedir azure-spring-cloud-stream-binder-servicebus-queue
ve artık tek bir spring-cloud-azure-stream-binder-servicebus
ile birleştirilir.
Önemli
Ciltçi türü ve servicebus-topic
servicebus
olarak servicebus-queue
birleştirilir.
Aşağıdaki tabloda yeni yapılandırma özellikleri spring-cloud-azure-stream-binder-servicebus
listelenir:
Modern özellikler | Açıklama |
---|---|
spring.cloud.stream.servicebus.bindings.binding-name.producer.entity-type | Gönderme işlevini kullanıyorsanız konu başlığına veya kuyruğa ayarlayabileceğiniz varlık türünü ayarlamanız gerekir. |
Aşağıdaki tabloda ile olan özellik eşlemeleri gösterilmektedir azure-spring-cloud-stream-binder-servicebus-*
spring-cloud-azure-stream-binder-servicebus
:
Eski özellikler | Modern özellikler |
---|---|
spring.cloud.azure.resource-group | spring.cloud.azure.servicebus.resource.resource-group |
spring.cloud.azure.servicebus.transport-type | spring.cloud.azure.servicebus.client.transport-type |
spring.cloud.azure.servicebus.retry-options.retry-mode | spring.cloud.azure.servicebus.retry.mode |
spring.cloud.azure.servicebus.retry-options.max-retries | spring.cloud.azure.servicebus.retry.exponential.max-retries veya spring.cloud.azure.servicebus.retry.fixed.max-retries, spring.cloud.azure.servicebus.retry.mode=fixed veya üstel olarak yapılandırılmalıdır |
spring.cloud.azure.servicebus.retry-options.delay | spring.cloud.azure.servicebus.retry.exponential.base-delay veya spring.cloud.azure.servicebus.retry.fixed.delay, spring.cloud.azure.servicebus.retry.mode=sabit veya üstel olarak yapılandırılmalıdır |
spring.cloud.azure.servicebus.retry-options.max-delay | spring.cloud.azure.servicebus.retry.exponential.max-delay |
spring.cloud.azure.servicebus.retry-options.try-timeout | spring.cloud.azure.servicebus.retry.try-timeout |
spring.cloud.stream.servicebus.queue.bindings.* | spring.cloud.stream.servicebus.bindings.* |
spring.cloud.stream.servicebus.queue.bindings.binding-name.consumer.Eşzamanlılık | spring.cloud.stream.servicebus.bindings.binding-name.consumer.max-concurrent-sessions/max-concurrent-calls |
spring.cloud.stream.servicebus.queue.bindings.binding-name.consumer.denetim noktası modu | spring.cloud.stream.servicebus.bindings.binding-name.consumer.otomatik tamamlama |
spring.cloud.stream.servicebus.topic.bindings.* | spring.cloud.stream.servicebus.bindings.* |
spring.cloud.stream.servicebus.topic.bindings.binding-name.consumer.Eşzamanlılık | spring.cloud.stream.servicebus.bindings.binding-name.consumer.max-concurrent-sessions/max-concurrent-calls |
spring.cloud.stream.servicebus.topic.bindings.binding-name.consumer.denetim noktası modu | spring.cloud.stream.servicebus.bindings.binding-name.consumer.otomatik tamamlama |
Dekont
sessionsEnabled olduğunda eşzamanlılık özelliği maxConcurrentSessions ve sessionsEnabled true
false
olduğunda maxConcurrentCalls ile değiştirilir.
Dekont
Otomatik tamamlamanın etkinleştirilmesi denetim noktası moduna ve tersine MANUAL
moda eşittirRECORD
.
Yapılandırma geçişi örnekleri
Örnek olarak kuyruğa alınan eski yapılandırma:
spring:
cloud:
azure:
servicebus:
connection-string: ${AZURE_SERVICEBUS_BINDER_CONNECTION_STRING}
stream:
function:
definition: consume;supply
bindings:
consume-in-0:
destination: ${AZURE_SERVICEBUS_QUEUE_NAME}
supply-out-0:
destination: ${AZURE_SERVICEBUS_QUEUE_NAME}
servicebus:
queue:
bindings:
consume-in-0:
consumer:
checkpoint-mode: MANUAL
Modern yapılandırma:
spring:
cloud:
azure:
servicebus:
connection-string: ${AZURE_SERVICEBUS_BINDER_CONNECTION_STRING}
stream:
function:
definition: consume;supply
bindings:
consume-in-0:
destination: ${AZURE_SERVICEBUS_QUEUE_NAME}
supply-out-0:
destination: ${AZURE_SERVICEBUS_QUEUE_NAME}
servicebus:
bindings:
consume-in-0:
consumer:
auto-complete: false
supply-out-0:
producer:
entity-type: queue #set as topic if needed
bağlantı dizesi yerine güvenlik sorumluları kullanırsanız, 4.0'ın önceki sürümlerinde uygulama öncelikle sağlanan güvenlik sorumlusuyla Azure Resource Manager'a (ARM) bağlanır ve ardından BELIRTILEN ad alanının bağlantı dizesi ARM ile alır. Sonunda uygulama, Azure Service Bus'a bağlanmak için alınan bağlantı dizesi kullanır. Bu şekilde, sağlanan güvenlik sorumlusuna , ilişkili Azure Service Bus ad alanının alınması için Katkıda Bulunan rolü verilmelidir.
Azure Spring Apps 4.0 için kimlik doğrulaması için güvenlik sorumlularından yararlanmanın iki yolunu sunuyoruz. Biri hala ARM'ye bağlanmak ve sorumlular için rolün gerekli olduğu Contributor
bağlantı dizesi almak için sorumluları kullanıyor. Diğeri, Microsoft Entra Kimliği'nde kimlik doğrulaması yapmak ve ardından doğrudan Azure Service Bus'a bağlanmak için güvenlik sorumlularından yararlanıyor. Bu durumda, Contributor
rol artık gerekli değildir, ancak mesajlaşma işlemleri için diğer Data
ilgili roller gereklidir. Güvenlik sorumlusuna Azure kaynağına erişmek için yeterli izin verildiğinden emin olmak için bkz . Microsoft Entra Kimliği ile erişimi yetkilendirme.
ARM tabanlı kimlik doğrulaması için, hizmet sorumlusu örnek olarak alındığında, yapılandırma geçişi aşağıda listelenmiştir; burada atanan rol değiştirilmemelidir:
Eski yapılandırma:
spring:
cloud:
azure:
client-id: ${AZURE_CLIENT_ID}
client-secret: ${AZURE_CLIENT_SECRET}
tenant-id: <tenant>
resource-group: ${SERVICEBUS_RESOURCE_GROUP}
servicebus:
namespace: ${SERVICEBUS_NAMESPACE}
Dekont
için tenant-id
izin verilen değerler şunlardır: common
, organizations
, consumers
veya kiracı kimliği. Bu değerler hakkında daha fazla bilgi için Hata AADSTS50020 - Kimlik sağlayıcısı kullanıcı hesabı kiracıda yok hatasının Yanlış uç nokta (kişisel ve kuruluş hesapları) kullanıldı bölümüne bakın. Tek kiracılı uygulamanızı dönüştürme hakkında bilgi için bkz . Microsoft Entra Id'de tek kiracılı uygulamayı çok kiracılıya dönüştürme.
Modern yapılandırma, Azure abonelik kimliği ve kaynak grubu özellikleri gereklidir:
spring:
cloud:
azure:
credential:
client-id: ${AZURE_CLIENT_ID}
client-secret: ${AZURE_CLIENT_SECRET}
profile:
tenant-id: <tenant>
subscription-id: ${AZURE_SUBSCRIPTION_ID}
servicebus:
namespace: ${SERVICEBUS_NAMESPACE}
resource:
resource-group: ${SERVICEBUS_RESOURCE_GROUP}
Dekont
için tenant-id
izin verilen değerler şunlardır: common
, organizations
, consumers
veya kiracı kimliği. Bu değerler hakkında daha fazla bilgi için Hata AADSTS50020 - Kimlik sağlayıcısı kullanıcı hesabı kiracıda yok hatasının Yanlış uç nokta (kişisel ve kuruluş hesapları) kullanıldı bölümüne bakın. Tek kiracılı uygulamanızı dönüştürme hakkında bilgi için bkz . Microsoft Entra Id'de tek kiracılı uygulamayı çok kiracılıya dönüştürme.
Ayrıca ARM'ye sapmadan doğrudan Microsoft Entra Id ile kimlik doğrulaması ve yetkilendirme için geçiş yapabilirsiniz. Güvenlik sorumlusuna mesajlaşma işlemleri için gerekli Data
rolleri verin. Hizmet sorumlusunun ve yönetilen kimliğin yapılandırma örnekleri aşağıda listelenmiştir:
Hizmet sorumlusuyla
spring: cloud: azure: credential: client-id: ${AZURE_CLIENT_ID} client-secret: ${AZURE_CLIENT_SECRET} profile: tenant-id: <tenant> servicebus: namespace: ${SERVICEBUS_NAMESPACE}
Dekont
için tenant-id
izin verilen değerler şunlardır: common
, organizations
, consumers
veya kiracı kimliği. Bu değerler hakkında daha fazla bilgi için Hata AADSTS50020 - Kimlik sağlayıcısı kullanıcı hesabı kiracıda yok hatasının Yanlış uç nokta (kişisel ve kuruluş hesapları) kullanıldı bölümüne bakın. Tek kiracılı uygulamanızı dönüştürme hakkında bilgi için bkz . Microsoft Entra Id'de tek kiracılı uygulamayı çok kiracılıya dönüştürme.
Yönetilen kimlikle
spring: cloud: azure: credential: managed-identity-enabled: true client-id: ${AZURE_MANAGED_IDENTITY_CLIENT_ID} # Only needed when using a user-assigned managed identity servicebus: namespace: ${SERVICEBUS_NAMESPACE}
API değişiklikleri
- İleti üst bilgisini
AzureHeaders.RAW_ID
bırakın. Bunun yerineServiceBusMessageHeaders.MESSAGE_ID
kullanın.
Aşağıdaki tabloda ile azure-spring-cloud-stream-binder-eventhubs
spring-cloud-azure-stream-binder-eventhubs
sınıf eşlemeleri gösterilmektedir.
Eski sınıf | Modern sınıf |
---|---|
com.azure.spring.integration.core.AzureHeaders | com.azure.spring.messaging.AzureHeaders |
com.azure.spring.integration.servicebus.converter.ServiceBusMessageHeaders | com.azure.spring.messaging.servicebus.support.ServiceBusMessageHeaders |
com.azure.spring.integration.core.api.Checkpointer | com.azure.spring.messaging.checkpoint.Checkpointer |
azure-spring-cloud-messaging
Kitaplık com.azure.spring:azure-spring-cloud-messaging
4.0 için hazır değil. Dinleyici ek açıklamalarının işlevi yeniden tasarlandığından @AzureMessageListener
, @AzureMessageListeners
ve @EnableAzureMessaging
ek açıklamaları şu anda desteklenmemektedir.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin