Sdílet prostřednictvím


Průvodce migrací pro Spring Cloud Azure 4.0

Tento průvodce vám pomůže s migrací do Spring Cloudu Azure 4.0 ze starších knihoven Azure Spring.

Úvod

Zavoláme knihovny, jejichž ID skupiny a ID artefaktu se řídí vzorem com.azure.spring:spring-cloud-azure-* moderních knihoven a knihovny se vzorem com.azure.spring:azure-spring-boot-*, com.azure.spring:azure-spring-cloud-*nebo com.azure.spring:azure-spring-integration-*staršími knihovnami.

Tato příručka se zaměří na souběžná porovnání podobných konfigurací mezi moderními a staršími knihovnami.

com.azure.spring:azure-spring-boot-*Předpokládá se znalost nebo com.azure.spring:azure-spring-cloud-*com.azure.spring:azure-spring-integration-* balíčku.

Pokud s knihovnami Spring Cloud Azure 4.0 začínáte, přečtěte si příručku pro vývojáře Spring Cloud Azure, ne tuto příručku.

Výhody migrace

Při zvažování, jestli chcete přijmout novou verzi nebo knihovnu, je její výhoda přirozeným otazníkem. Vzhledem k tomu, že Azure zrala a přijala různorodější skupinu vývojářů, zaměřili jsme se na učení vzorů a postupů, abychom co nejlépe podpořili produktivitu vývojářů a pochopili mezery, které mají knihovny Spring Cloud Azure.

V knihovnách Azure Spring Cloud bylo vyjádřeno několik oblastí konzistentní zpětné vazby. Nejdůležitější je, že knihovny pro různé služby Azure nepovolily úplnou sadu konfigurací. Kromě toho nekonzistence pojmenování projektu, ID artefaktů, verzí a konfigurací udělala křivku učení strmou.

Pro zlepšení vývojového prostředí v knihovnách Azure Spring Cloud byla zavedena sada pokynů pro návrh, která zajistí, aby knihovny Spring Cloud Azure měly přirozený a idiomatické chování v souvislosti s ekosystémem Spring. Další podrobnosti jsou k dispozici v návrhovém dokumentu pro zájemce.

Spring Cloud Azure 4.0 poskytuje sdílené prostředí napříč knihovnami, které integrují s různými projekty Spring, například Spring Boot, Spring Integration, Spring Cloud Stream atd. Sdílené prostředí zahrnuje:

  • Jednotný kusovník, který zahrnuje všechny knihovny Spring Cloud Azure 4.0.
  • Konzistentní konvence vytváření názvů pro artefakty
  • Jednotný způsob konfigurace přihlašovacích údajů, proxy serveru, opakování, cloudového prostředí a nastavení přenosové vrstvy
  • Podpora všech metod ověřování, které podporuje služba Azure nebo sada SDK služby Azure.

Přehled

Tento průvodce migrací se skládá z následujících částí:

  • Změny názvů pro Spring Cloud Azure 4.0
  • Změny artefaktů: přejmenováno / přidáno / odstraněno
  • Změny závislostí
  • Změny ověřování
  • Vlastnosti konfigurace
  • Zásadní změny rozhraní API
  • Změny knihovny

Změny pojmenování

Nikdy nebylo konzistentní ani oficiální jméno pro volání všech knihoven Spring Cloud Azure. Někteří z nich byli voláni Azure Spring Boot a někteří z nich Spring on Azure. Od verze 4.0 jsme začali používat název Spring Cloud Azure projektu k reprezentaci všech knihoven Azure Spring.

Kusovník

Použili jsme k odeslání dvou kusovníků pro naše knihovny, azure-spring-boot-bom a azure-spring-cloud-dependencies, ale tyto dvě kusovníky jsme zkombinovali do jednoho kusovníku od 4.0,spring-cloud-azure-dependencies Přidejte do části projektu položku dependencyManagement , která bude těžit ze správy závislostí.

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

Poznámka:

Pokud používáte Spring Boot 3.x, nezapomeňte nastavit spring-cloud-azure-dependencies verzi na 5.8.0. Další informace o verzi najdete v spring-cloud-azure-dependencies tématu Jakou verzi Spring Cloud Azure mám použít.

Změny artefaktů: přejmenováno / přidáno / odstraněno

ID skupin jsou stejná pro moderní a starší knihovny Spring Cloud Azure. Jsou to všichni com.azure.spring. Id artefaktů pro moderní knihovny Azure Spring Cloud se změnila. Podle toho, do jakého projektu Spring patří, Spring Boot, integrace Spring Nebo Spring Cloud Streamu, může být spring-cloud-azure-starter-[service]vzor ID artefaktů , spring-integration-azure-[service]nebo spring-cloud-azure-stream-binder-[service]. Starší počáteční verze pro každou z nich mají ID artefaktu podle vzoru azure-spring-*. To poskytuje rychlé a přístupné prostředky, které vám pomůžou pochopit, ať už používáte moderní nebo starší úvodní sady.

V procesu vývoje Spring Cloud Azure 4.0 jsme některé artefakty přejmenovali, aby se dodržovaly nové zásady vytváření názvů, odstranili některé artefakty, aby se funkce mohly vložit do vhodnějšího artefaktu a přidali jsme některé nové artefakty, aby lépe sloužily některým scénářům.

Následující tabulka ukazuje mapování mezi starším ID artefaktu a moderním ID artefaktu:

ID starší verze artefaktu ID moderního artefaktu Popis
azure-spring-boot-starter spring-cloud-azure-starter Tento artefakt byl odstraněn se všemi funkcemi, které se sloučí do nového spring-cloud-azure-starter artefaktu.
azure-spring-boot-starter-active-directory spring-cloud-azure-starter-active-directory Přejmenoval artefakt.
azure-spring-boot-starter-active-directory-b2c spring-cloud-azure-starter-active-directory-b2c Přejmenoval artefakt.
azure-spring-boot-starter-cosmos spring-cloud-azure-starter-data-cosmos Přejmenoval artefakt, který se má přidat data, označující použití služby Spring Data Azure Cosmos DB.
azure-spring-boot-starter-keyvault-certificates nejde použít Tato verze není zahrnutá, ale bude podporována v novější verzi.
azure-spring-boot-starter-keyvault-secrets spring-cloud-azure-starter-keyvault-secrets Přejmenoval artefakt.
azure-spring-boot-starter-servicebus-jms spring-cloud-azure-starter-servicebus-jms Přejmenoval artefakt.
azure-spring-boot-starter-storage spring-cloud-azure-starter-storage-blob
spring-cloud-azure-starter-storage-file-share
Starší artefakt obsahuje funkce objektů blob služby Storage i sdílené složky, které jsou duplicitní do dvou samostatných artefaktů ve verzi 4.0 spring-cloud-azure-starter-storage-blob a spring-cloud-azure-starter-storage-file-share.
azure-spring-boot nejde použít Tento artefakt byl odstraněn se všemi funkcemi, které se sloučí do nového spring-cloud-azure-autoconfigure artefaktu.
azure-spring-cloud-autoconfigure nejde použít Tento artefakt byl odstraněn se všemi funkcemi, které se sloučí do nového spring-cloud-azure-autoconfigure artefaktu.
azure-spring-cloud-context nejde použít Tento artefakt byl odstraněn se všemi funkcemi, které se sloučí do nových spring-cloud-azure-autoconfigure a spring-cloud-azure-resourcemanager artefaktů.
azure-spring-cloud-messaging spring-messaging-azure Poznámka k naslouchacímu procesu zasílání zpráv byla ukončena.
azure-spring-cloud-starter-cache nejde použít Tento artefakt byl odstraněn, pro použití redis, stačí přidat spring-boot-starter-data-redis, spring-boot-starter-cache, spring-cloud-azure-resourcemanager a spring-cloud-azure-starter. Další informace o využití najdete v tématu Podpora Spring Cloud Azure Redis.
azure-spring-cloud-starter-eventhubs-kafka nejde použít Tento artefakt byl odstraněn pro použití platformy Kafka, stačí přidat spring kafka, spring-cloud-azure-resourcemanager a spring-cloud-azure-starter. Další informace o využití najdete v tématu Podpora Spring Cloud Azure Kafka.
azure-spring-cloud-starter-eventhubs spring-cloud-azure-starter-integration-eventhubs Přejmenoval artefakt, který se má přidat integration, označující použití integrace Spring se službou Event Hubs.
azure-spring-cloud-starter-servicebus spring-cloud-azure-starter-integration-servicebus Přejmenoval artefakt, který se má přidat integration, označující použití integrace Spring se službou Service Bus.
azure-spring-cloud-starter-storage-queue spring-cloud-azure-starter-integration-storage-queue Přejmenoval artefakt, který se má přidat integration, označující použití integrace Spring s frontou úložiště.
azure-spring-cloud-storage nejde použít Tento artefakt byl odstraněn se všemi funkcemi sloučenými do nového spring-cloud-azure-autoconfigure artefaktu.
azure-spring-cloud-stream-binder-eventhubs spring-cloud-azure-stream-binder-eventhubs Tento artefakt byl refaktorován pomocí nového návrhu, zejména spring-cloud-azure-stream-binder-eventhubs a spring-cloud-azure-stream-binder-eventhubs-core.
azure-spring-cloud-stream-binder-service-core spring-cloud-azure-stream-binder-servicebus-core Přejmenoval artefakt.
azure-spring-cloud-stream-binder-servicebus-queue spring-cloud-azure-stream-binder-servicebus Tento artefakt byl odstraněn se všemi funkcemi, které se sloučí do artefaktu spring-cloud-azure-stream-binder-servicebus .
azure-spring-cloud-stream-binder-servicebus-topic spring-cloud-azure-stream-binder-servicebus Tento artefakt byl odstraněn se všemi funkcemi, které se sloučí do artefaktu spring-cloud-azure-stream-binder-servicebus .
azure-spring-integration-core spring-integration-azure-core Přejmenoval artefakt.
azure-spring-integration-eventhubs spring-integration-azure-eventhubs Přejmenujte artefakt.
azure-spring-integration-servicebus spring-integration-azure-servicebus Přejmenujte artefakt.
azure-spring-integration-storage-queue spring-integration-azure-storage-queue Přejmenujte artefakt.
nejde použít spring-cloud-azure-poháněcí zařízení Nově přidaný artefakt azure poháněcího zařízení Spring Cloud.
nejde použít spring-cloud-azure-actuator-autoconfigure Nově přidaný artefakt autokonfigurace azure poháněcího zařízení Spring Cloud, včetně automatické konfigurace pro poháněcího zařízení.
nejde použít spring-cloud-azure-autoconfigure Nově přidaný artefakt Azure AutoConfigure Služby Spring Cloud, včetně veškeré automatické konfigurace pro klienty SADY SDK, podpory Spring Security, podpory Spring Data a podpory integrace Spring.
nejde použít spring-cloud-azure-core Nově přidaný artefakt Spring Cloud Azure Core, včetně všech základních funkcí
nejde použít spring-cloud-azure-resourcemanager Nově přidaný artefakt Resource Manageru Je to základní knihovna využívající Azure Resource Manager ke čtení metadat a vytváření prostředků.
nejde použít spring-cloud-azure-service Nově přidaný artefakt služby Azure Spring Cloud, včetně abstrakcí pro služby Azure
nejde použít spring-cloud-azure-starter-appconfiguration Nově přidaná úvodní sada pro použití klienta sady Aplikace Azure Configuration SDK
nejde použít spring-cloud-azure-starter-cosmos Nově přidaný začátek pro použití klienta sady SDK služby Azure Cosmos DB
nejde použít spring-cloud-azure-starter-eventhubs Nově přidaný začátek pro použití klienta sady Azure Event Hubs SDK
nejde použít spring-cloud-azure-starter-servicebus Nově přidaný začátek pro použití klienta sady SDK služby Azure Service Bus
nejde použít spring-cloud-azure-starter-storage-blob Nově přidaný začátek pro použití klienta sady Azure Storage Blob SDK
nejde použít spring-cloud-azure-starter-storage-file-share Nově přidaný začátek pro použití klienta sady SDK sdílené složky služby Azure Storage
nejde použít spring-cloud-azure-starter-storage-queue Nově přidaný začátek pro použití klienta sady SDK fronty služby Azure Storage
nejde použít spring-cloud-azure-starter-stream-eventhubs Nově přidaný začátek pro použití Spring Cloud Stream Binderu ve službě Azure Event Hubs
nejde použít spring-cloud-azure-starter-stream-servicebus Nově přidaná úvodní sada pro použití služby Azure Service Bus Spring Cloud Stream Binder
nejde použít spring-cloud-azure-stream-binder-eventhubs-core Nově přidaný základní artefakt Spring Cloud Streamu pro Azure Event Hubs

Změny závislostí

Některé nepotřebné závislosti byly zahrnuty do starších artefaktů, které jsme odebrali v moderních knihovnách Spring Cloud Azure 4.0. Nezapomeňte do projektu přidat odebrané závislosti ručně, abyste zabránili chybám.

Mezi knihovny, které mají změny závislostí, patří:

Změny ověřování

Spring Cloud Azure 4.0 podporuje všechny metody ověřování, které podporuje každá sada SDK služby Azure. Umožňuje nakonfigurovat přihlašovací údaje globálního tokenu a zadat přihlašovací údaje tokenu na každé úrovni služby. Přihlašovací údaje ale nejsou potřeba ke konfiguraci Spring Cloud Azure 4.0, protože můžou použít přihlašovací údaje uložené v místním vývojovém prostředí nebo spravované identitě ve službách Azure. Ujistěte se, že objekt zabezpečení má dostatečná oprávnění pro přístup k cílovým prostředkům Azure.

Poznámka:

Při přiřazování rolí k objektům zabezpečení pro interakci se službami Data zasílání zpráv Azure se k provádění operací zasílání zpráv vyžadují související role. Pro knihovny Event Hubs služby Azure Spring Apps Stream / Service Bus Binder se role vyžaduje, Contributor když je potřeba funkce automatického vytváření prostředků. Další informace najdete v tématu Předdefinované role v Azure.

Zřetězený přihlašovací údaje, DefaultAzureCredential bean je ve výchozím nastavení automaticky nakonfigurovaný a bude ho používat všechny komponenty, pokud nejsou zadány žádné další ověřovací informace. Další informace najdete v části DefaultAzureCredential klientské knihovny Azure Identity pro Javu.

Vlastnosti konfigurace

Migrace vlastností

Vytvořili jsme soubor additional-spring-configuration-metadata.json pro vyhlazování migrace vlastností při použití s spring-boot-properties-migrator. Nejprve do aplikace přidejte následující migraci vlastností:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-properties-migrator</artifactId>
    <scope>runtime</scope>
</dependency>

Nebo pokud používáte Gradle:

runtime("org.springframework.boot:spring-boot-properties-migrator")

Pokud aplikaci spustíte, identifikuje vlastnosti, které už Azure nespravuje. Pokud dojde k nahrazení, vlastnost se dočasně znovu namapuje s upozorněním. Pokud nedojde k nahrazení, zobrazí se další informace zpráva o chybě. V obou směrech se konfigurace musí aktualizovat a po aktualizaci konfigurace se závislost odebere.

Než budete pokračovat, je vhodné použít funkci vyhledávání integrovaného vývojového prostředí (IDE) a pečlivě zkontrolovat, že nepoužíváte některou z vlastností, které jste migrovali v integračním testu.

Poznámka:

V této změně jsme změnili mnoho vlastností konfigurace. Použití nástroje spring-boot-properties-migrator vám pomůže s hladkým průběhem migrace.

Globální konfigurace

Moderní spring-cloud-azure-starter umožňuje definovat vlastnosti, které se vztahují na všechny sady Azure SDK v oboru názvů spring.cloud.azure. Tato funkce nebyla ve starší verzi azure-spring-boot-starterpodporována. Globální konfigurace je možné rozdělit do pěti kategorií, jak je znázorněno v následující tabulce:

Předpona Popis
spring.cloud.azure.client Konfiguruje přenosové klienty pod každou sadou Azure SDK.
spring.cloud.azure.credential Konfiguruje způsob ověřování pomocí ID Microsoft Entra.
spring.cloud.azure.profile Nakonfiguruje cloudové prostředí Azure.
spring.cloud.azure.proxy Nakonfiguruje možnosti proxy serveru, platí pro všechny klienty Sady Azure SDK.
spring.cloud.azure.retry Nakonfiguruje možnosti opakování, platí pro všechny klienty sady Azure SDK. Možnosti opakování podporují část sad SDK, neexistuje žádná spring.cloud.azure.cosmos.retry.

Úplný seznam konfigurací najdete v tématu Vlastnosti konfigurace Spring Cloud Azure.

Konfigurace jednotlivých sad SDK

Podrobnosti o možnostech konfigurace na úrovni sady SDK najdete na následujících odkazech:

Zásadní změny rozhraní API

Podrobnostioch

Změny knihovny

Zásadní změny v každé knihovně se zavádějí následujícím způsobem.

Od azure-spring-boot-starter po spring-cloud-azure-starter

Tento průvodce má pomoct s migrací na spring-cloud-azure-starter z verze 3 azure-spring-boot-starter.

Obecné informace najdete na následujících odkazech:

  • Přehled změn ve verzi 4.0 najdete v částech o výhodách úvodu a migrace.
  • Další informace o změnách strategie v pojmenování projektu najdete v části Změny názvů.
  • Informace o použití jednoho kusovníku pro všechny knihovny Azure Spring Cloud najdete v části BoM .
  • Informace o tom, jak zpracovávat ověřování v Spring Cloudu Azure 4.0, najdete v části Změny ověřování.
  • Informace o využití spring-boot-properties-migrator během migrace najdete v části Konfigurace jednotlivých sad SDK .
  • Další informace o globálních a běžnýchzměnách

Změny závislostí

Některé nepotřebné závislosti byly zahrnuty do starších artefaktů, které jsme odebrali v moderních knihovnách Spring Cloud Azure 4.0. Nezapomeňte do projektu přidat odebrané závislosti ručně, abyste zabránili neúmyslnému chybovému ukončení.

Následující tabulka ukazuje odebrané závislosti:

Odebrané závislosti Popis
org.springframework.boot:spring-boot-starter-validation Pokud chcete použít validátor Hibernate, zahrňte počáteční ověření.

Z azure-spring-boot-starter-active-directory do spring-cloud-azure-starter-active-directory

Tento průvodce má pomoct s migrací na spring-cloud-azure-starter-active-directory z verze 3 azure-spring-boot-starter-active-directory.

Obecné informace najdete na následujících odkazech:

  • Přehled změn ve verzi 4.0 najdete v částech o výhodách úvodu a migrace.
  • Další informace o změnách strategie v pojmenování projektu najdete v části Změny názvů.
  • Informace o použití jednoho kusovníku pro všechny knihovny Azure Spring Cloud najdete v části BoM .
  • Informace o tom, jak zpracovávat ověřování v Spring Cloudu Azure 4.0, najdete v části Změny ověřování.
  • Informace o využití spring-boot-properties-migrator během migrace najdete v části Konfigurace jednotlivých sad SDK .
  • Další informace o globálních a běžnýchzměnách

Změny závislostí

Některé zbytečné závislosti ve starší verzi artefaktu byly odebrány od moderní knihovny Spring Cloud Azure 4.0. Přidejte tyto odebrané závislosti do projektu, abyste zabránili neúmyslnému chybovému ukončení.

Následující tabulka ukazuje odebrané závislosti:

Odebrané závislosti Popis
com.fasterxml.jackson.core:jackson-databind V případě potřeby přidejte tuto závislost do projektu.
io.projectreactor.netty:reactor-netty V případě potřeby přidejte tuto závislost do projektu.
org.springframework.boot:spring-boot-starter-validation V případě potřeby přidejte tuto závislost do projektu.
org.springframework.boot:spring-boot-starter-webflux V případě potřeby přidejte tuto závislost do projektu.

Změny konfigurace sady SDK

Tato část obsahuje změny o přidaných, odebraných a změněných vlastnostech.

  • Následující dva body jsou hlavním cílem věnovat pozornost:
  1. Předpona všech názvů vlastností konfigurace se změnila z azure.activedirectory na spring.cloud.azure.active-directory.
  2. Přidá se nová vlastnost spring.cloud.azure.active-directory.enabled pro povolení nebo zakázání funkcí souvisejících s Microsoft Entra. Výchozí hodnota je false.

Následující tabulka ukazuje mapování vlastností mezi azure-spring-boot-starter-active-directory a spring-cloud-azure-starter-active-directory:

Starší verze vlastností Moderní vlastnosti
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 Další informace najdete v následující tabulce.
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-životnost spring.cloud.azure.active-directory.jwk-set-cache-životnost.
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
  • Typ hodnoty následujících vlastností se změní z long :Duration

    • jwt-connect-timeout
    • jwt-read-timeout
    • jwk-set-cache-lifespan
    • jwk-set-cache-refresh-time.
  • Odeberou se následující vlastnosti:

    • azure.activedirectory.allow-telemetry
    • azure.activedirectory.user-group.enable-full-list
    • azure.activedirectory.graph-base-uri
    • azure.activedirectory.graph-membership-uri
  • Přidají se následující vlastnosti:

    • 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

Poznámka:

Funkce azure.activedirectory.graph-membership-uri byla nahrazena 2 vlastnostmi: spring.cloud.azure.active-directory.profile.environment.microsoft-graph-endpoint a spring.cloud.azure.active-directory.user-group.use-transitive-members. První vlastnost slouží k zadání názvu hostitele a druhý příznak pro použití cesty URL: v1.0/me/memberOf nebo v1.0/me/transitiveMemberOf.

Tady je několik příkladů migrace:

  • Příklad 1. 1\. případ

    • Starší verze: azure.activedirectory.graph-membership-uri=https://graph.microsoft.com/v1.0/me/memberOf

    • Moderní: 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

  • Příklad 2. 2\. případ

    • Starší verze: azure.activedirectory.graph-membership-uri=https://graph.microsoft.com/v1.0/me/transitiveMemberOf

    • Moderní: 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

Změny rozhraní API

Následující tabulka ukazuje mapování tříd z azure-spring-boot-starter-active-directory na spring-cloud-azure-starter-active-directory:

Starší třída Moderní třída
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

Tato část obsahuje seznam odebraných tříd z azure-spring-boot-starter-active-directory.

  • Odebrání starší třídy

    • com.azure.spring.aad.webapp.AADHandleConditionalAccessFilter
    • com.azure.spring.aad.webapi.validator.AADJwtAudienceValidator
    • com.azure.spring.aad.webapi.validator.AADJwtClaimValidator

Z azure-spring-boot-starter-active-directory-b2c na spring-cloud-azure-starter-active-directory-b2c

Tento průvodce má pomoct s migrací na spring-cloud-azure-starter-active-directory-b2c z verze 3 azure-spring-boot-starter-active-directory-b2c.

Obecné informace najdete na následujících odkazech:

  • Přehled změn ve verzi 4.0 najdete v částech o výhodách úvodu a migrace.
  • Další informace o změnách strategie v pojmenování projektu najdete v části Změny názvů.
  • Informace o použití jednoho kusovníku pro všechny knihovny Azure Spring Cloud najdete v části BoM .
  • Informace o tom, jak zpracovávat ověřování v Spring Cloudu Azure 4.0, najdete v části Změny ověřování.
  • Informace o využití spring-boot-properties-migrator během migrace najdete v části Konfigurace jednotlivých sad SDK .
  • Další informace o globálních a běžnýchzměnách

Změny závislostí

Některé nepotřebné závislosti byly zahrnuty do starších artefaktů, které jsme odebrali v moderních knihovnách Spring Cloud Azure 4.0. Nezapomeňte do projektu přidat odebrané závislosti ručně, abyste zabránili neúmyslnému chybovému ukončení.

Následující tabulka ukazuje odebrané závislosti:

Odebrané závislosti Popis
org.springframework.boot:spring-boot-starter-validation Pokud chcete použít validátor Hibernate, zahrňte počáteční ověření.

Změny konfigurace sady SDK

Tato část obsahuje změny o přidaných, odebraných a změněných vlastnostech.

  • Následující dva body jsou hlavním cílem věnovat pozornost:
  1. Všechny názvy vlastností konfigurace změnily předponu z azure.activedirectory.b2c na spring.cloud.azure.active-directory.b2c.
  2. Přidá se nová vlastnost spring.cloud.azure.active-directory.b2c.enabled , která povolí nebo zakáže funkce související s Azure AD B2C. Výchozí hodnota je false.

Následující tabulka ukazuje mapování vlastností zazure-spring-boot-starter-active-directory-b2c:spring-cloud-azure-starter-active-directory-b2c

Starší verze vlastností Moderní vlastnosti
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
  • Odebrané vlastnosti z azure-spring-boot-starter-active-directory-b2c:

    • azure.activedirectory.b2c.allow-telemetry
    • azure.activedirectory.b2c.tenant
  • Typ hodnoty následujících vlastností se změní z long :Duration

    • jwt-connect-timeout
    • jwt-read-timeout

Změny rozhraní API

Následující tabulka ukazuje mapování tříd z azure-spring-boot-starter-active-directory-b2c na spring-cloud-azure-starter-active-directory-b2c:

Starší třída Moderní třída
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

Z azure-spring-boot-starter-cosmos do spring-cloud-azure-starter-data-cosmos

Tento průvodce má pomoct s migrací na spring-cloud-azure-starter-data-cosmos z verze 3 azure-spring-boot-starter-cosmos.

Obecné informace najdete na následujících odkazech:

  • Přehled změn ve verzi 4.0 najdete v částech o výhodách úvodu a migrace.
  • Další informace o změnách strategie v pojmenování projektu najdete v části Změny názvů.
  • Informace o použití jednoho kusovníku pro všechny knihovny Azure Spring Cloud najdete v části BoM .
  • Informace o tom, jak zpracovávat ověřování v Spring Cloudu Azure 4.0, najdete v části Změny ověřování.
  • Informace o využití spring-boot-properties-migrator během migrace najdete v části Konfigurace jednotlivých sad SDK .
  • Další informace o globálních a běžnýchzměnách

Změny konfigurace sady SDK

Všechny názvy vlastností konfigurace změnily předponu z azure.cosmos na spring.cloud.azure.cosmos.

Následující tabulka ukazuje mapování tříd z azure-spring-boot-starter-cosmos na spring-cloud-azure-starter-data-cosmos:

Starší verze vlastností Moderní vlastnosti
azure.cosmos.connection-mode spring.cloud.azure.cosmos.connection-mode
azure.cosmos.consistency-level 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

Z azure-spring-boot-starter-keyvault-secrets do spring-cloud-azure-starter-keyvault-secrets

Tento průvodce má pomoct s migrací na spring-cloud-azure-starter-keyvault-secrets z verze 3 azure-spring-boot-starter-keyvault-secrets.

Obecné informace najdete na následujících odkazech:

  • Přehled změn ve verzi 4.0 najdete v částech o výhodách úvodu a migrace.
  • Další informace o změnách strategie v pojmenování projektu najdete v části Změny názvů.
  • Informace o použití jednoho kusovníku pro všechny knihovny Azure Spring Cloud najdete v části BoM .
  • Informace o tom, jak zpracovávat ověřování v Spring Cloudu Azure 4.0, najdete v části Změny ověřování.
  • Informace o využití spring-boot-properties-migrator během migrace najdete v části Konfigurace jednotlivých sad SDK .
  • Další informace o globálních a běžnýchzměnách

Změny konfigurace sady SDK

Tato část obsahuje změny o přidaných, odebraných a změněných vlastnostech.

Následující tabulka ukazuje mapování vlastností zazure-spring-boot-starter-keyvault-secrets:spring-cloud-azure-starter-keyvault-secrets

Starší verze vlastností Moderní vlastnosti
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 a spring.cloud.azure.keyvault.secret.property-source-enabled
azure.keyvault.order Už se nepodporuje. Místo toho použijte pořadí ve zdroji vlastností[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
  • Odebrání vlastností z spring-cloud-azure-starter-keyvault-secrets

azure.keyvault.allow-telemetry azure.keyvault.order

Na tyto body byste měli věnovat pozornost:

  1. Všechny názvy vlastností konfigurace změnily předponu z azure.keyvault na spring.cloud.azure.keyvault.secret.
  2. spring.cloud.azure.keyvault.secret.enabledse používá k povolení všech funkcí tajných kódů služby Key Vault, včetně konfigurace tajných klientských fazolí služby Key Vault (například SecretClient a ) a přidání KeyVaultPropertySourceConfigurableEnvironment.SecretAsyncClient
  3. spring.cloud.azure.keyvault.secret.property-source-enabled slouží k povolení všech KeyVaultPropertySource. Projeví se pouze tehdy, když spring.cloud.azure.keyvault.secret.enabled=true.
  4. Běžné vlastnosti Azure(například client, , proxy, retrycredential, profile) a vlastnosti služby Key Vault(například endpoint, service-version). Pokud spring.cloud.azure.keyvault.secret.property-sources[n].PROPERTY_NAME není nakonfigurovaná, spring.cloud.azure.keyvault.secret.PROPERTY_NAME použije se.
  5. spring.cloud.azure.keyvault.secret.property-sources[n].resource je specifický pro jedinečný prostředek Azure, takže pokud není nakonfigurovaný, nezíská hodnotu z jiných míst.

Z azure-spring-boot-starter-servicebus-jms na spring-cloud-azure-starter-servicebus-jms

Tento průvodce má pomoct s migrací na spring-cloud-azure-starter-servicebus-jms z verze 3 azure-spring-boot-starter-servicebus-jms.

Obecné informace najdete na následujících odkazech:

  • Přehled změn ve verzi 4.0 najdete v částech o výhodách úvodu a migrace.
  • Další informace o změnách strategie v pojmenování projektu najdete v části Změny názvů.
  • Informace o použití jednoho kusovníku pro všechny knihovny Azure Spring Cloud najdete v části BoM .
  • Informace o tom, jak zpracovávat ověřování v Spring Cloudu Azure 4.0, najdete v části Změny ověřování.
  • Informace o využití spring-boot-properties-migrator během migrace najdete v části Konfigurace jednotlivých sad SDK .
  • Další informace o globálních a běžnýchzměnách

Změny konfigurace sady SDK

Typ konfigurace pro spring.jms.servicebus.idle-timeout změny z long(milisekund) na Duration vzor pro čitelnost

Z azure-spring-boot-starter-storage do spring-cloud-azure-starter-storage-blob

Tento průvodce má pomoct s migrací na spring-cloud-azure-starter-storage-blob z verze 3 azure-spring-boot-starter-storage.

Obecné informace najdete na následujících odkazech:

  • Přehled změn ve verzi 4.0 najdete v částech o výhodách úvodu a migrace.
  • Další informace o změnách strategie v pojmenování projektu najdete v části Změny názvů.
  • Informace o použití jednoho kusovníku pro všechny knihovny Azure Spring Cloud najdete v části BoM .
  • Informace o tom, jak zpracovávat ověřování v Spring Cloudu Azure 4.0, najdete v části Změny ověřování.
  • Informace o využití spring-boot-properties-migrator během migrace najdete v části Konfigurace jednotlivých sad SDK .
  • Další informace o globálních a běžnýchzměnách

Změny konfigurace sady SDK

Všechny názvy vlastností konfigurace změnily předponu z azure.storage na spring.cloud.azure.storage.blob.

Následující tabulka ukazuje mapování vlastností zazure-spring-boot-starter-storage:spring-cloud-azure-starter-storage-blob

Starší verze vlastností Moderní vlastnosti
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

Změny rozhraní API

Následující tabulka ukazuje mapování tříd z azure-spring-boot-starter-storage na spring-cloud-azure-starter-storage-blob:

Starší třída Moderní třída
com.azure.spring.autoconfigure.storage.resource.AzureStorageProtocolResolver com.azure.spring.core.resource.AzureStorageBlobProtocolResolver
com.azure.spring.autoconfigure.storage.resource.BlobStorageResource com.azure.spring.core.resource.StorageBlobResource
com.azure.spring.autoconfigure.storage.resource.AzureStorageResourcePatternResolver com.azure.spring.core.resource.AzureStorageBlobProtocolResolver

Z azure-spring-boot-starter-storage do spring-cloud-azure-starter-storage-file-share

Tento průvodce má pomoct s migrací na spring-cloud-azure-starter-storage-file-share z verze 3 azure-spring-boot-starter-storage.

Obecné informace najdete na následujících odkazech:

  • Přehled změn ve verzi 4.0 najdete v částech o výhodách úvodu a migrace.
  • Další informace o změnách strategie v pojmenování projektu najdete v části Změny názvů.
  • Informace o použití jednoho kusovníku pro všechny knihovny Azure Spring Cloud najdete v části BoM .
  • Informace o tom, jak zpracovávat ověřování v Spring Cloudu Azure 4.0, najdete v části Změny ověřování.
  • Informace o využití spring-boot-properties-migrator během migrace najdete v části Konfigurace jednotlivých sad SDK .
  • Další informace o globálních a běžnýchzměnách

Změny konfigurace sady SDK

Všechny názvy vlastností konfigurace změnily předponu z azure.storage na spring.cloud.azure.storage.fileshare.

Následující tabulka ukazuje mapování vlastností zazure-spring-boot-starter-storage:spring-cloud-azure-starter-storage-file-share

Starší verze vlastností Moderní vlastnosti
azure.storage.account-name spring.cloud.azure.storage.fileshare.account-name
azure.storage.account-key spring.cloud.azure.storage.fileshare.account-key
koncový bod azure.storage.file-endpoint spring.cloud.azure.storage.fileshare.endpoint

Změny rozhraní API

Následující tabulka ukazuje mapování tříd z azure-spring-boot-starter-storage na spring-cloud-azure-starter-storage-file-share:

Starší třída Moderní třída
com.azure.spring.autoconfigure.storage.resource.AzureStorageProtocolResolver com.azure.spring.core.resource.AzureStorageFileProtocolResolver
com.azure.spring.autoconfigure.storage.resource.FileStorageResource com.azure.spring.core.resource.StorageFileResource
com.azure.spring.autoconfigure.storage.resource.AzureStorageResourcePatternResolver com.azure.spring.core.resource.AzureStorageFileProtocolResolver

Z azure-spring-cloud-starter-eventhubs na spring-cloud-azure-starter-integration-eventhubs

Tento průvodce má pomoct s migrací na spring-cloud-azure-starter-integration-eventhubs z verze 2 azure-spring-cloud-starter-eventhubs.

Obecné informace najdete na následujících odkazech:

  • Přehled změn ve verzi 4.0 najdete v částech o výhodách úvodu a migrace.
  • Další informace o změnách strategie v pojmenování projektu najdete v části Změny názvů.
  • Informace o použití jednoho kusovníku pro všechny knihovny Azure Spring Cloud najdete v části BoM .
  • Informace o tom, jak zpracovávat ověřování v Spring Cloudu Azure 4.0, najdete v části Změny ověřování.
  • Informace o využití spring-boot-properties-migrator během migrace najdete v části Konfigurace jednotlivých sad SDK .
  • Další informace o globálních a běžnýchzměnách

Změny konfigurace sady SDK

Důležité

Předpona konfigurace se změnila z spring.cloud.azure.eventhub na spring.cloud.azure.eventhubs.

Změny podřízených položek pro tuto předponu najdete v následujících tabulkách:

Následující tabulka ukazuje mapování vlastností z azure-spring-cloud-starter-eventhubs :spring-cloud-azure-starter-integration-eventhubs

Starší verze vlastností Moderní vlastnosti
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

Můžete například změnit z:

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}

na:

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}

Změny rozhraní API

  • Změny poznámek k naslouchacímu procesu najdete v průvodci <<migrací knihovny migration-azure-spring-cloud-messaging, azure-spring-cloud-messaging>> .
  • Odstraňte EventHubOperation s předplacenou funkcí přesunutou do třídy EventHubsMessageListenerContainer a odesílající funkci se přesunula do EventHubsTemplate.
  • Přejmenujte EventHubInboundChannelAdapter ji tak EventHubsInboundChannelAdapter , aby byla konzistentní se službou Azure Event Hubs.
  • Změňte konstruktor z EventHubInboundChannelAdapter(String, SubscribeByGroupOperation, String) do EventHubsInboundChannelAdapter(EventHubsMessageListenerContainer) a EventHubsInboundChannelAdapter(EventHubsMessageListenerContainer, ListenerMode).
  • Změňte CheckpointConfig styl vytváření instancí na jednoduchý konstruktor místo stylu sestavení.
  • Drop API EventHubOperation#setCheckpointConfig. Chcete-li nastavit konfiguraci kontrolního bodu pro adaptér příchozího kanálu, mohou uživatelé volat metodu EventHubsContainerProperties#setCheckpointConfig.
  • Drop API EventHubOperation#setBatchConsumerConfig. Pokud chcete nastavit konfiguraci dávkového využívání adaptéru příchozího kanálu, můžou uživatelé volat dvě metody EventHubsContainerProperties#getBatch#setMaxSize a EventHubsContainerProperties#getBatch#setMaxWaitTime mezitím.
  • V režimu dávkového využívání změňte názvy záhlaví zpráv převedené z dávkových zpráv.
    • Změňte záhlaví zprávy z azure_eventhub_enqueued_time na azure_eventhubs_batch_converted_enqueued_time.
    • Změňte záhlaví zprávy z azure_eventhub_offset na azure_eventhubs_batch_converted_offset.
    • Změňte záhlaví zprávy z azure_eventhub_sequence_number na azure_eventhubs_batch_converted_sequence_number.
    • Změňte záhlaví zprávy z azure_partition_key na azure_batch_converted_partition_key.
  • Při publikování zpráv do služby Event Hubs ignorujte všechna záhlaví zpráv převedená z dávkových zpráv. Záhlaví zahrnují:
    • 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
  • Režim BATCH kontrolního bodu teď funguje pouze v dávkovém režimu, který lze povolit předáním ListenerMode.BATCH do konstruktoru EventHubsInboundChannelAdapter.

Následující tabulka ukazuje mapování tříd z azure-spring-cloud-starter-eventhubs na spring-cloud-azure-starter-integration-eventhubs:

Starší třída Moderní třída
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

Ukázkový fragment kódu

  • EventHubsInboundChannelAdapter vzorový kód:

    Starší verze kódu:

    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í kód:

    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 vzorový kód:

    Starší verze kódu:

    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í kód:

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

Z azure-spring-integration-eventhubs do spring-integration-azure-eventhubs

Tento průvodce má pomoct s migrací na spring-integration-azure-eventhubs z verze 2 azure-spring-integration-eventhubs.

  • Přehled změn ve verzi 4.0 najdete v částech o výhodách úvodu a migrace.
  • Další informace o změnách strategie v pojmenování projektu najdete v části Změny názvů.
  • Informace o použití jednoho kusovníku pro všechny knihovny Azure Spring Cloud najdete v části BoM .

Změny rozhraní API

  • Odstraňte EventHubOperation s předplacenou funkcí přesunutou do třídy EventHubsMessageListenerContainer a odesílající funkci se přesunula do EventHubsTemplate.
  • Přejmenujte EventHubInboundChannelAdapter ji tak EventHubsInboundChannelAdapter , aby byla konzistentní se službou Azure Event Hubs.
  • Změňte konstruktor z EventHubInboundChannelAdapter(String, SubscribeByGroupOperation, String) do EventHubsInboundChannelAdapter(EventHubsMessageListenerContainer) a EventHubsInboundChannelAdapter(EventHubsMessageListenerContainer, ListenerMode).
  • Změňte CheckpointConfig styl vytváření instancí na jednoduchý konstruktor místo stylu sestavení.
  • Drop API EventHubOperation#setCheckpointConfig. Chcete-li nastavit konfiguraci kontrolního bodu pro adaptér příchozího kanálu, mohou uživatelé volat metodu EventHubsContainerProperties#setCheckpointConfig.
  • Drop API EventHubOperation#setBatchConsumerConfig. Pokud chcete nastavit konfiguraci dávkového využívání adaptéru příchozího kanálu, můžou uživatelé volat dvě metody EventHubsContainerProperties#getBatch#setMaxSize a EventHubsContainerProperties#getBatch#setMaxWaitTime mezitím.
  • V režimu dávkového využívání změňte názvy záhlaví zpráv převedené z dávkových zpráv.
    • Změňte záhlaví zprávy z azure_eventhub_enqueued_time na azure_eventhubs_batch_converted_enqueued_time.
    • Změňte záhlaví zprávy z azure_eventhub_offset na azure_eventhubs_batch_converted_offset.
    • Změňte záhlaví zprávy z azure_eventhub_sequence_number na azure_eventhubs_batch_converted_sequence_number.
    • Změňte záhlaví zprávy z azure_partition_key na azure_batch_converted_partition_key.
  • Při publikování zpráv do služby Event Hubs ignorujte všechna záhlaví zpráv převedená z dávkových zpráv. Záhlaví zahrnují:
    • 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
  • Režim BATCH kontrolního bodu teď funguje pouze v dávkovém režimu, který lze povolit předáním ListenerMode.BATCH do konstruktoru EventHubsInboundChannelAdapter.

Následující tabulka ukazuje mapování tříd z azure-spring-integration-eventhubs na spring-integration-azure-eventhubs:

Starší třída Moderní třída
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

Z azure-spring-cloud-starter-servicebus do spring-cloud-azure-starter-integration-servicebus

Tento průvodce má pomoct s migrací na spring-cloud-azure-starter-integration-servicebus z verze 2 služby azure-spring-cloud-starter-servicebus.

Obecné informace najdete na následujících odkazech:

  • Přehled změn ve verzi 4.0 najdete v částech o výhodách úvodu a migrace.
  • Další informace o změnách strategie v pojmenování projektu najdete v části Změny názvů.
  • Informace o použití jednoho kusovníku pro všechny knihovny Azure Spring Cloud najdete v části BoM .
  • Informace o tom, jak zpracovávat ověřování v Spring Cloudu Azure 4.0, najdete v části Změny ověřování.
  • Informace o využití spring-boot-properties-migrator během migrace najdete v části Konfigurace jednotlivých sad SDK .
  • Další informace o globálních a běžnýchzměnách

Změny konfigurace sady SDK

U všech možností konfigurace podporovaných v spring-cloud-azure-starter-integration-servicebuspředponě zůstane předpona .spring.cloud.azure.servicebus

Následující tabulka ukazuje mapování vlastností zazure-spring-cloud-starter-servicebus:spring-cloud-azure-starter-integration-servicebus

Starší verze vlastností Moderní vlastnosti
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 nebo spring.cloud.azure.servicebus.retry.fixed.max-retries, by se měly nakonfigurovat v závislosti na spring.cloud.azure.servicebus.retry.mode=pevné nebo exponenciální.
spring.cloud.azure.servicebus.retry-options.delay spring.cloud.azure.servicebus.retry.exponential.base-delay nebo spring.cloud.azure.servicebus.retry.fixed.delay, by se měly nakonfigurovat v závislosti na spring.cloud.azure.servicebus.retry.mode=pevné nebo exponenciální.
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

Změny rozhraní API

  • Odstraňte ServiceBusQueueOperation a ServiceBusTopicOperation s funkcí přihlášení k odběru se přesunula do třídy ServiceBusMessageListenerContainer a odesílající funkce se přesunula do ServiceBusTemplate.
  • Odstraňte ServiceBusQueueInboundChannelAdapter a ServiceBusTopicInboundChannelAdapterpřesuňte funkce pro naslouchání entitě fronty nebo tématu služby Service Bus službě ServiceBusInboundChannelAdapter.
  • Změňte konstruktor z ServiceBusQueueInboundChannelAdapter(String, SubscribeByGroupOperation, String) do ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer) a ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode).
  • Změňte konstruktor z ServiceBusTopicInboundChannelAdapter(String, SubscribeByGroupOperation, String) do ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer) a ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode).
  • Zahoďte rozhraní API ServiceBusQueueOperation#setCheckpointConfig a ServiceBusTopicOperation#setCheckpointConfig. Pokud chcete nastavit konfiguraci kontrolního bodu pro adaptér příchozího kanálu, můžou uživatelé místo toho metodu ServiceBusContainerProperties#setAutoComplete volat. Chcete-li zakázat režim automatického dokončování, je ekvivalentní MANUAL režimu kontrolního bodu a povolit ho aktivuje režim RECORD .
  • Zahoďte rozhraní API ServiceBusQueueOperatio#setClientConfig a ServiceBusTopicOperation#setClientConfig. Pokud chcete nakonfigurovat podklad používaný ServiceBusProcessorClient adaptérem příchozího kanálu, můžou místo toho uživatelé použít ServiceBusContainerProperties .
  • Místo toho zahoďte CompletableFuture podporu ServiceBusTemplate a DefaultMessageHandlerpodporu Reactor .
  • Přidejte nové rozhraní API ServiceBusTemplate#setDefaultEntityType pro zadání typu entity, které je vyžadováno, pokud není zadána žádná bean PropertiesSupplier&lt;String, ProducerProperties&gt; pro ProducerProperties#entityType.
  • Přetažení záhlaví AzureHeaders.RAW_IDzprávy . Místo toho použijte ServiceBusMessageHeaders.MESSAGE_ID.

Následující tabulka ukazuje mapování tříd z azure-spring-cloud-starter-servicebus na spring-cloud-azure-starter-integration-servicebus:

Starší třída Moderní třída
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

Ukázkový fragment kódu

  • ServiceBusInboundChannelAdapter vzorový kód:

    Starší kód použití nebo ServiceBusQueueInboundChannelAdapterServiceBusTopicInboundChannelAdapter:

    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í kód:

    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 vzorový kód:

    Starší verze kódu, který jako příklad přebírá frontu:

    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í kód:

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

Z azure-spring-integration-servicebus do spring-integration-azure-servicebus

Tento průvodce má pomoct s migrací na spring-integration-azure-servicebus z verze 2 služby azure-spring-integration-servicebus.

  • Přehled změn ve verzi 4.0 najdete v částech o výhodách úvodu a migrace.
  • Další informace o změnách strategie v pojmenování projektu najdete v části Změny názvů.
  • Informace o použití jednoho kusovníku pro všechny knihovny Azure Spring Cloud najdete v části BoM .

Změny rozhraní API

  • Odstraňte ServiceBusQueueOperation a ServiceBusTopicOperation s funkcí přihlášení k odběru se přesunula do třídy ServiceBusMessageListenerContainer a odesílající funkce se přesunula do ServiceBusTemplate.
  • Odstraňte ServiceBusQueueInboundChannelAdapter a ServiceBusTopicInboundChannelAdapterpřesuňte funkce pro naslouchání entitě fronty nebo tématu služby Service Bus službě ServiceBusInboundChannelAdapter.
  • Změňte konstruktor z ServiceBusQueueInboundChannelAdapter(String, SubscribeByGroupOperation, String) do ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer) a ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode).
  • Změňte konstruktor z ServiceBusTopicInboundChannelAdapter(String, SubscribeByGroupOperation, String) do ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer) a ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode).
  • Zahoďte rozhraní API ServiceBusQueueOperation#setCheckpointConfig a ServiceBusTopicOperation#setCheckpointConfig. Pokud chcete nastavit konfiguraci kontrolního bodu pro adaptér příchozího kanálu, můžou uživatelé místo toho metodu ServiceBusContainerProperties#setAutoComplete volat. Chcete-li zakázat režim automatického dokončování, je ekvivalentní MANUAL režimu kontrolního bodu a povolit ho aktivuje režim RECORD .
  • Zahoďte rozhraní API ServiceBusQueueOperation#setClientConfig a ServiceBusTopicOperation#setClientConfig. Pokud chcete nakonfigurovat podklad používaný ServiceBusProcessorClient adaptérem příchozího kanálu, můžou místo toho uživatelé použít ServiceBusContainerProperties .
  • Místo toho zahoďte CompletableFuture podporu ServiceBusTemplate a DefaultMessageHandlerpodporu Reactor .
  • Přidejte nové rozhraní API ServiceBusTemplate#setDefaultEntityType pro zadání typu entity, které je vyžadováno, pokud není zadána žádná bean PropertiesSupplier&lt;String, ProducerProperties&gt; pro ProducerProperties#entityType.
  • Přetažení záhlaví AzureHeaders.RAW_IDzprávy . Místo toho použijte ServiceBusMessageHeaders.MESSAGE_ID.

Následující tabulka ukazuje mapování tříd z azure-spring-integration-servicebus na spring-integration-azure-servicebus:

Starší třída Moderní třída
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

Z azure-spring-cloud-starter-storage-queue do spring-cloud-azure-starter-integration-storage-queue

Tento průvodce má pomoct s migrací na spring-cloud-azure-starter-integration-storage-queue z verze 2 azure-spring-cloud-starter-storage-queue.

Obecné informace najdete na následujících odkazech:

  • Přehled změn ve verzi 4.0 najdete v částech o výhodách úvodu a migrace.
  • Další informace o změnách strategie v pojmenování projektu najdete v části Změny názvů.
  • Informace o použití jednoho kusovníku pro všechny knihovny Azure Spring Cloud najdete v části BoM .
  • Informace o tom, jak zpracovávat ověřování v Spring Cloudu Azure 4.0, najdete v části Změny ověřování.
  • Informace o využití spring-boot-properties-migrator během migrace najdete v části Konfigurace jednotlivých sad SDK .
  • Další informace o globálních a běžnýchzměnách

Změny konfigurace sady SDK

Všechny názvy vlastností konfigurace změnily předponu z spring.cloud.azure.storage na spring.cloud.azure.storage.queue.

Následující tabulka ukazuje mapování vlastností zazure-spring-cloud-starter-storage-queue:spring-cloud-azure-starter-integration-storage-queue

Starší verze vlastností Moderní vlastnosti
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

Změny rozhraní API

  • Místo toho zahoďte StorageQueueOperation a zadejte StorageQueueTemplate .
  • Zahoďte checkpoint-mode konfiguraci StorageQueueTemplate, podporuje MANUAL pouze režim.

Následující tabulka ukazuje mapování tříd z azure-spring-cloud-starter-storage-queue do spring-cloud-azure-starter-integration-storage-queue.

Starší třída Moderní třída
com.azure.spring.integration.core.AzureHeaders com.azure.spring.messaging.AzureHeaders
com.azure.spring.integration.storage.queue.converter.StorageQueueMessageConverter com.azure.spring.messaging.storage.queue.support.converter.StorageQueueMessageConverter
com.azure.spring.integration.core.api.reactor.Checkpointer com.azure.spring.messaging.checkpoint.Checkpointer
com.azure.spring.integration.storage.queue.StorageQueueTemplate com.azure.spring.storage.queue.core.StorageQueueTemplate
com.azure.spring.integration.core.api.reactor.DefaultMessageHandler com.azure.spring.integration.core.handler.DefaultMessageHandler
com.azure.spring.integration.storage.queue.inbound.StorageQueueMessageSource com.azure.spring.integration.storage.queue.inbound.StorageQueueMessageSource

Z azure-spring-integration-storage-queue do spring-integration-azure-storage-queue

Tento průvodce má pomoct s migrací na spring-integration-azure-storage-queue z verze 2 azure-spring-integration-storage-queue.

  • Přehled změn ve verzi 4.0 najdete v částech o výhodách úvodu a migrace.
  • Další informace o změnách strategie v pojmenování projektu najdete v části Změny názvů.
  • Informace o použití jednoho kusovníku pro všechny knihovny Azure Spring Cloud najdete v části BoM .

Změny rozhraní API

  • Místo toho zahoďte StorageQueueOperation a zadejte StorageQueueTemplate .
  • Zahoďte checkpoint-mode konfiguraci StorageQueueTemplate, podporuje MANUAL pouze režim.

Následující tabulka ukazuje mapování tříd z azure-spring-integration-storage-queue do spring-integration-azure-storage-queue.

Starší třída Moderní třída
com.azure.spring.integration.core.AzureHeaders com.azure.spring.messaging.AzureHeaders
com.azure.spring.integration.storage.queue.converter.StorageQueueMessageConverter com.azure.spring.messaging.storage.queue.support.converter.StorageQueueMessageConverter
com.azure.spring.integration.core.api.reactor.Checkpointer com.azure.spring.messaging.checkpoint.Checkpointer
com.azure.spring.integration.storage.queue.StorageQueueTemplate com.azure.spring.storage.queue.core.StorageQueueTemplate
com.azure.spring.integration.core.api.reactor.DefaultMessageHandler com.azure.spring.integration.core.handler.DefaultMessageHandler
com.azure.spring.integration.storage.queue.inbound.StorageQueueMessageSource com.azure.spring.integration.storage.queue.inbound.StorageQueueMessageSource

Z azure-spring-cloud-stream-binder-eventhubs na spring-cloud-azure-stream-binder-eventhubs

Tento průvodce má pomoct s migrací na spring-cloud-azure-stream-binder-eventhubs z verze 2 azure-spring-cloud-stream-binder-eventhubs.

Obecné informace najdete na následujících odkazech:

  • Přehled změn ve verzi 4.0 najdete v částech o výhodách úvodu a migrace.
  • Další informace o změnách strategie v pojmenování projektu najdete v části Změny názvů.
  • Informace o použití jednoho kusovníku pro všechny knihovny Azure Spring Cloud najdete v části BoM .
  • Informace o tom, jak zpracovávat ověřování v Spring Cloudu Azure 4.0, najdete v části Změny ověřování.
  • Informace o využití spring-boot-properties-migrator během migrace najdete v části Konfigurace jednotlivých sad SDK .
  • Další informace o globálních a běžnýchzměnách

Změny konfigurace sady SDK

Důležité

Předpona konfigurace se změnila z spring.cloud.azure.eventhub na spring.cloud.azure.eventhubs.

Důležité

Typ pořadače je přejmenován z: eventhub na eventhubs.

Změny podřízených položek pro následující předponu najdete v následující tabulce.

Následující tabulka ukazuje mapování vlastností z azure-spring-cloud-stream-binder-eventhubs :spring-cloud-azure-stream-binder-eventhubs

Starší verze vlastností Moderní vlastnosti
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

Poznámka:

Typ hodnoty start-position konfigurace se také změní z výčtu com.azure.spring.integration.core.api.StartPosition na hodnotu mapStartPositionProperties pro každý oddíl. Klíč je TEDY ID oddílu a hodnota, z com.azure.spring.cloud.service.eventhubs.properties.StartPositionProperties níž jsou vlastnosti posunu, pořadového čísla, vyčíslené datum a zda včetně.

Příklady migrace konfigurace

Pokud chcete použít připojovací řetězec pro ověřování a migrovat výše uvedené vlastnosti, jsou změny konfigurace uvedeny takto:

Starší konfigurace:

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í konfigurace:

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

Pokud místo připojovací řetězec používáte objekty zabezpečení, ve verzích starších než 4.0 se aplikace nejprve připojí k Azure Resource Manageru (ARM) pomocí poskytnutého objektu zabezpečení a pak načte připojovací řetězec zadaného oboru názvů pomocí ARM. Na konci aplikace používá načtené připojovací řetězec pro připojení ke službě Azure Event Hubs. Tímto způsobem by se zadaný objekt zabezpečení měl udělit s rolí Přispěvatel , aby se načetl přidružený obor názvů služby Azure Event Hubs.

Pro Azure Spring Apps 4.0 poskytujeme dva způsoby využití objektů zabezpečení k ověřování. Jeden stále používá objekty zabezpečení pro připojení k ARM a načítá připojovací řetězec, kde Contributor se role vyžaduje pro objekty zabezpečení. Druhý využívá objekty zabezpečení k ověření pro ID Microsoft Entra a pak se připojují přímo ke službě Azure Event Hubs. V takovém případě Contributor už tato role není nutná, zatímco jiné Data související role se vyžadují pro operace zasílání zpráv. Pokud chcete zajistit, aby objekt zabezpečení získal dostatečná oprávnění pro přístup k prostředku Azure, přečtěte si téma Autorizace přístupu pomocí MICROSOFT Entra ID.

V případě ověřování založeného na ARM je například migrace instančního objektu uvedená v následujícím seznamu, kde by se přiřazená role neměla měnit:

Starší konfigurace:

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}

Poznámka:

Povolené hodnoty tenant-id jsou: common, organizations, consumersnebo ID tenanta. Další informace o těchto hodnotách najdete v části Použití nesprávného koncového bodu (osobních účtů a účtů organizace) v části Chyba AADSTS50020 – Uživatelský účet od zprostředkovatele identity v tenantovi neexistuje. Informace o převodu aplikace s jedním tenantem najdete v tématu Převod aplikace s jedním tenantem na víceklienta na ID Microsoft Entra.

Vyžaduje se moderní konfigurace, vlastnosti ID předplatného Azure a skupiny prostředků:

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}

Poznámka:

Povolené hodnoty tenant-id jsou: common, organizations, consumersnebo ID tenanta. Další informace o těchto hodnotách najdete v části Použití nesprávného koncového bodu (osobních účtů a účtů organizace) v části Chyba AADSTS50020 – Uživatelský účet od zprostředkovatele identity v tenantovi neexistuje. Informace o převodu aplikace s jedním tenantem najdete v tématu Převod aplikace s jedním tenantem na víceklienta na ID Microsoft Entra.

Můžete také migrovat na ověřování a autorizaci pomocí ID Microsoft Entra přímo bez nutnosti objíždět do ARM. Ujistěte se, že pro operace zasílání zpráv udělte instančnímu objektu zabezpečení nezbytné Data role. Příklady konfigurace instančního objektu a spravované identity jsou uvedené takto:

  • S instančním objektem

    spring:
      cloud:
        azure:
          credential:
            client-id: ${AZURE_CLIENT_ID}
            client-secret: ${AZURE_CLIENT_SECRET}
          profile:
            tenant-id: <tenant>
          eventhubs:
            namespace: ${EVENTHUB_NAMESPACE}
    

Poznámka:

Povolené hodnoty tenant-id jsou: common, organizations, consumersnebo ID tenanta. Další informace o těchto hodnotách najdete v části Použití nesprávného koncového bodu (osobních účtů a účtů organizace) v části Chyba AADSTS50020 – Uživatelský účet od zprostředkovatele identity v tenantovi neexistuje. Informace o převodu aplikace s jedním tenantem najdete v tématu Převod aplikace s jedním tenantem na víceklienta na ID Microsoft Entra.

  • Se spravovanou identitou

    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}
    

Změny rozhraní API

Následující tabulka ukazuje mapování tříd z azure-spring-cloud-stream-binder-eventhubs do spring-cloud-azure-stream-binder-eventhubs.

Starší třída Moderní třída
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

Z azure-spring-cloud-stream-binder-servicebus-* do spring-cloud-azure-stream-binder-servicebus

Tento průvodce má pomoct s migrací na spring-cloud-azure-stream-binder-servicebus z verze 2 azure-spring-cloud-stream-binder-servicebus-queue nebo azure-spring-cloud-stream-binder-topic.

Obecné informace najdete na následujících odkazech:

  • Přehled změn ve verzi 4.0 najdete v částech o výhodách úvodu a migrace.
  • Další informace o změnách strategie v pojmenování projektu najdete v části Změny názvů.
  • Informace o použití jednoho kusovníku pro všechny knihovny Azure Spring Cloud najdete v části BoM .
  • Informace o tom, jak zpracovávat ověřování v Spring Cloudu Azure 4.0, najdete v části Změny ověřování.
  • Informace o využití spring-boot-properties-migrator během migrace najdete v části Konfigurace jednotlivých sad SDK .
  • Další informace o globálních a běžnýchzměnách

Změny konfigurace sady SDK

Důležité

Starší knihovny pořadače jsou azure-spring-cloud-stream-binder-servicebus-queue a azure-spring-cloud-stream-binder-servicebus-topicnyní jsou sloučeny do jednoho spring-cloud-azure-stream-binder-servicebus.

Důležité

Typ pořadače se zkombinuje a servicebus-queueservicebus-topic jako servicebus.

V následující tabulce jsou uvedeny nové vlastnosti spring-cloud-azure-stream-binder-servicebuskonfigurace:

Moderní vlastnosti Popis
spring.cloud.stream.servicebus.bindings.binding-name.producer.entity-type Pokud používáte odesílající funkci, musíte nastavit typ entity, který můžete nastavit na téma nebo frontu.

Následující tabulka ukazuje mapování vlastností zazure-spring-cloud-stream-binder-servicebus-*:spring-cloud-azure-stream-binder-servicebus

Starší verze vlastností Moderní vlastnosti
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 nebo spring.cloud.azure.servicebus.retry.fixed.max-retries, by se měly nakonfigurovat v závislosti na spring.cloud.azure.servicebus.retry.mode=pevné nebo exponenciální.
spring.cloud.azure.servicebus.retry-options.delay spring.cloud.azure.servicebus.retry.exponential.base-delay nebo spring.cloud.azure.servicebus.retry.fixed.delay, by se měly nakonfigurovat v závislosti na spring.cloud.azure.servicebus.retry.mode=pevné nebo exponenciální.
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.Souběžnost spring.cloud.stream.servicebus.bindings.binding-name.consumer.max-concurrent-sessions/max-concurrent-calls
spring.cloud.stream.servicebus.queue.bindings.binding-name.consumer.kontrolní bodový režim spring.cloud.stream.servicebus.bindings.binding-name.consumer.automatické dokončování
spring.cloud.stream.servicebus.topic.bindings.* spring.cloud.stream.servicebus.bindings.*
spring.cloud.stream.servicebus.topic.bindings.binding-name.consumer.Souběžnost spring.cloud.stream.servicebus.bindings.binding-name.consumer.max-concurrent-sessions/max-concurrent-calls
spring.cloud.stream.servicebus.topic.bindings.binding-name.consumer.kontrolní bodový režim spring.cloud.stream.servicebus.bindings.binding-name.consumer.automatické dokončování

Poznámka:

Vlastnost concurrency bude nahrazena maxConcurrentSessions při sessionsEnabled je true a maxConcurrentCalls při sessionsEnabled je false.

Poznámka:

Povolení automatického dokončování se rovná RECORD režimu kontrolního bodu a opačně režimu MANUAL .

Příklady migrace konfigurace

Starší konfigurace, například fronta:

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í konfigurace:

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

Pokud místo připojovací řetězec používáte objekty zabezpečení, ve verzích starších než 4.0 se aplikace nejprve připojí k Azure Resource Manageru (ARM) pomocí poskytnutého objektu zabezpečení a pak načte připojovací řetězec zadaného oboru názvů pomocí ARM. Na konci aplikace používá načtené připojovací řetězec pro připojení ke službě Azure Service Bus. Tímto způsobem by se zadaný objekt zabezpečení měl udělit s rolí Přispěvatel , aby se načetl přidružený obor názvů služby Azure Service Bus.

Pro Azure Spring Apps 4.0 poskytujeme dva způsoby využití objektů zabezpečení k ověřování. Jeden stále používá objekty zabezpečení pro připojení k ARM a načítá připojovací řetězec, kde Contributor se role vyžaduje pro objekty zabezpečení. Druhý využívá objekty zabezpečení k ověření v MICROSOFT Entra ID a pak se připojují přímo ke službě Azure Service Bus. V takovém případě Contributor už tato role není nutná, zatímco jiné Data související role se vyžadují pro operace zasílání zpráv. Pokud chcete zajistit, aby objekt zabezpečení získal dostatečná oprávnění pro přístup k prostředku Azure, přečtěte si téma Autorizace přístupu pomocí MICROSOFT Entra ID.

V případě ověřování založeného na ARM je například migrace instančního objektu uvedená v následujícím seznamu, kde by se přiřazená role neměla měnit:

Starší konfigurace:

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}

Poznámka:

Povolené hodnoty tenant-id jsou: common, organizations, consumersnebo ID tenanta. Další informace o těchto hodnotách najdete v části Použití nesprávného koncového bodu (osobních účtů a účtů organizace) v části Chyba AADSTS50020 – Uživatelský účet od zprostředkovatele identity v tenantovi neexistuje. Informace o převodu aplikace s jedním tenantem najdete v tématu Převod aplikace s jedním tenantem na víceklienta na ID Microsoft Entra.

Vyžaduje se moderní konfigurace, vlastnosti ID předplatného Azure a skupiny prostředků:

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}

Poznámka:

Povolené hodnoty tenant-id jsou: common, organizations, consumersnebo ID tenanta. Další informace o těchto hodnotách najdete v části Použití nesprávného koncového bodu (osobních účtů a účtů organizace) v části Chyba AADSTS50020 – Uživatelský účet od zprostředkovatele identity v tenantovi neexistuje. Informace o převodu aplikace s jedním tenantem najdete v tématu Převod aplikace s jedním tenantem na víceklienta na ID Microsoft Entra.

Můžete také migrovat na ověřování a autorizaci pomocí ID Microsoft Entra přímo bez nutnosti objíždět do ARM. Ujistěte se, že pro operace zasílání zpráv udělte instančnímu objektu zabezpečení nezbytné Data role. Příklady konfigurace instančního objektu a spravované identity jsou uvedené takto:

  • S instančním objektem

    spring:
      cloud:
        azure:
          credential:
            client-id: ${AZURE_CLIENT_ID}
            client-secret: ${AZURE_CLIENT_SECRET}
          profile:
            tenant-id: <tenant>
          servicebus:
            namespace: ${SERVICEBUS_NAMESPACE}
    

Poznámka:

Povolené hodnoty tenant-id jsou: common, organizations, consumersnebo ID tenanta. Další informace o těchto hodnotách najdete v části Použití nesprávného koncového bodu (osobních účtů a účtů organizace) v části Chyba AADSTS50020 – Uživatelský účet od zprostředkovatele identity v tenantovi neexistuje. Informace o převodu aplikace s jedním tenantem najdete v tématu Převod aplikace s jedním tenantem na víceklienta na ID Microsoft Entra.

  • Se spravovanou identitou

    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}
    

Změny rozhraní API

  • Přetažení záhlaví AzureHeaders.RAW_IDzprávy . Místo toho použijte ServiceBusMessageHeaders.MESSAGE_ID.

Následující tabulka ukazuje mapování tříd z azure-spring-cloud-stream-binder-eventhubs do spring-cloud-azure-stream-binder-eventhubs.

Starší třída Moderní třída
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

Knihovna com.azure.spring:azure-spring-cloud-messaging není připravená na verzi 4.0. Funkce poznámek naslouchacího procesu je přepracovaná, takže @AzureMessageListener@AzureMessageListenersv současné době nejsou podporované poznámky a @EnableAzureMessaging poznámky.