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ří:
- spring-cloud-azure-starter
- spring-cloud-azure-starter-active-directory
- spring-cloud-azure-starter-active-directory-b2c
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-starter
podporová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 azure-spring-boot-starter-active-directory do spring-cloud-azure-starter-active-directory
- Z azure-spring-boot-starter-active-directory-b2c na spring-cloud-azure-starter-active-directory-b2c
- Z azure-spring-boot-starter-cosmos do spring-cloud-azure-starter-data-cosmos
- Z azure-spring-boot-starter-keyvault-secrets do spring-cloud-azure-starter-keyvault-secrets
- Z azure-spring-boot-starter-servicebus-jms na spring-cloud-azure-starter-servicebus-jms
- Z azure-spring-boot-starter-storage do spring-cloud-azure-starter-storage-blob
- Z azure-spring-boot-starter-storage do spring-cloud-azure-starter-storage-file-share
- Z azure-spring-cloud-starter-eventhubs na spring-cloud-azure-starter-integration-eventhubs
- Z azure-spring-cloud-starter-servicebus do spring-cloud-azure-starter-integration-servicebus
- Z azure-spring-cloud-starter-storage-queue do spring-cloud-azure-starter-integration-storage-queue
- Z azure-spring-cloud-stream-binder-eventhubs na spring-cloud-azure-stream-binder-eventhubs
- Z azure-spring-cloud-stream-binder-servicebus-* do spring-cloud-azure-stream-binder-servicebus
Zásadní změny rozhraní API
Podrobnostioch
- Z azure-spring-boot-starter-active-directory do spring-cloud-azure-starter-active-directory
- Z azure-spring-boot-starter-active-directory-b2c na spring-cloud-azure-starter-active-directory-b2c
- Z azure-spring-boot-starter-storage do spring-cloud-azure-starter-storage-blob
- Z azure-spring-boot-starter-storage do spring-cloud-azure-starter-storage-file-share
- Z azure-spring-cloud-starter-eventhubs na spring-cloud-azure-starter-integration-eventhubs
- Z azure-spring-integration-eventhubs do spring-integration-azure-eventhubs
- Z azure-spring-cloud-starter-servicebus do spring-cloud-azure-starter-integration-servicebus
- Z azure-spring-integration-servicebus do spring-integration-azure-servicebus
- Z azure-spring-cloud-starter-storage-queue do spring-cloud-azure-starter-integration-storage-queue
- Z azure-spring-integration-storage-queue do spring-integration-azure-storage-queue
- Z azure-spring-cloud-stream-binder-eventhubs na spring-cloud-azure-stream-binder-eventhubs
- Z azure-spring-cloud-stream-binder-servicebus-* do spring-cloud-azure-stream-binder-servicebus
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:
- Předpona všech názvů vlastností konfigurace se změnila z
azure.activedirectory
naspring.cloud.azure.active-directory
. - 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 jefalse
.
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:
- Všechny názvy vlastností konfigurace změnily předponu z
azure.activedirectory.b2c
naspring.cloud.azure.active-directory.b2c
. - 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:
- Všechny názvy vlastností konfigurace změnily předponu z
azure.keyvault
naspring.cloud.azure.keyvault.secret
. spring.cloud.azure.keyvault.secret.enabled
se 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říkladSecretClient
a ) a přidáníKeyVaultPropertySource
ConfigurableEnvironment
.SecretAsyncClient
spring.cloud.azure.keyvault.secret.property-source-enabled
slouží k povolení všechKeyVaultPropertySource
. Projeví se pouze tehdy, kdyžspring.cloud.azure.keyvault.secret.enabled=true
.- Běžné vlastnosti Azure(například
client
, ,proxy
,retry
credential
,profile
) a vlastnosti služby Key Vault(napříkladendpoint
,service-version
). Pokudspring.cloud.azure.keyvault.secret.property-sources[n].PROPERTY_NAME
není nakonfigurovaná,spring.cloud.azure.keyvault.secret.PROPERTY_NAME
použije se. 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řídyEventHubsMessageListenerContainer
a odesílající funkci se přesunula doEventHubsTemplate
. - Přejmenujte
EventHubInboundChannelAdapter
ji takEventHubsInboundChannelAdapter
, aby byla konzistentní se službou Azure Event Hubs. - Změňte konstruktor z
EventHubInboundChannelAdapter(String, SubscribeByGroupOperation, String)
doEventHubsInboundChannelAdapter(EventHubsMessageListenerContainer)
aEventHubsInboundChannelAdapter(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 metoduEventHubsContainerProperties#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ě metodyEventHubsContainerProperties#getBatch#setMaxSize
aEventHubsContainerProperties#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
naazure_eventhubs_batch_converted_enqueued_time
. - Změňte záhlaví zprávy z
azure_eventhub_offset
naazure_eventhubs_batch_converted_offset
. - Změňte záhlaví zprávy z
azure_eventhub_sequence_number
naazure_eventhubs_batch_converted_sequence_number
. - Změňte záhlaví zprávy z
azure_partition_key
naazure_batch_converted_partition_key
.
- Změňte záhlaví zprávy z
- 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ímListenerMode.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řídyEventHubsMessageListenerContainer
a odesílající funkci se přesunula doEventHubsTemplate
. - Přejmenujte
EventHubInboundChannelAdapter
ji takEventHubsInboundChannelAdapter
, aby byla konzistentní se službou Azure Event Hubs. - Změňte konstruktor z
EventHubInboundChannelAdapter(String, SubscribeByGroupOperation, String)
doEventHubsInboundChannelAdapter(EventHubsMessageListenerContainer)
aEventHubsInboundChannelAdapter(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 metoduEventHubsContainerProperties#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ě metodyEventHubsContainerProperties#getBatch#setMaxSize
aEventHubsContainerProperties#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
naazure_eventhubs_batch_converted_enqueued_time
. - Změňte záhlaví zprávy z
azure_eventhub_offset
naazure_eventhubs_batch_converted_offset
. - Změňte záhlaví zprávy z
azure_eventhub_sequence_number
naazure_eventhubs_batch_converted_sequence_number
. - Změňte záhlaví zprávy z
azure_partition_key
naazure_batch_converted_partition_key
.
- Změňte záhlaví zprávy z
- 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ímListenerMode.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-servicebus
př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
aServiceBusTopicOperation
s funkcí přihlášení k odběru se přesunula do třídyServiceBusMessageListenerContainer
a odesílající funkce se přesunula doServiceBusTemplate
. - Odstraňte
ServiceBusQueueInboundChannelAdapter
aServiceBusTopicInboundChannelAdapter
př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)
doServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer)
aServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode)
. - Změňte konstruktor z
ServiceBusTopicInboundChannelAdapter(String, SubscribeByGroupOperation, String)
doServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer)
aServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode)
. - Zahoďte rozhraní API
ServiceBusQueueOperation#setCheckpointConfig
aServiceBusTopicOperation#setCheckpointConfig
. Pokud chcete nastavit konfiguraci kontrolního bodu pro adaptér příchozího kanálu, můžou uživatelé místo toho metoduServiceBusContainerProperties#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žimRECORD
. - Zahoďte rozhraní API
ServiceBusQueueOperatio#setClientConfig
aServiceBusTopicOperation#setClientConfig
. Pokud chcete nakonfigurovat podklad používanýServiceBusProcessorClient
adaptérem příchozího kanálu, můžou místo toho uživatelé použítServiceBusContainerProperties
. - Místo toho zahoďte
CompletableFuture
podporuServiceBusTemplate
aDefaultMessageHandler
podporuReactor
. - Přidejte nové rozhraní API
ServiceBusTemplate#setDefaultEntityType
pro zadání typu entity, které je vyžadováno, pokud není zadána žádná beanPropertiesSupplier<String, ProducerProperties>
proProducerProperties#entityType
. - Přetažení záhlaví
AzureHeaders.RAW_ID
zprávy . Místo toho použijteServiceBusMessageHeaders.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
ServiceBusQueueInboundChannelAdapter
ServiceBusTopicInboundChannelAdapter
: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
aServiceBusTopicOperation
s funkcí přihlášení k odběru se přesunula do třídyServiceBusMessageListenerContainer
a odesílající funkce se přesunula doServiceBusTemplate
. - Odstraňte
ServiceBusQueueInboundChannelAdapter
aServiceBusTopicInboundChannelAdapter
př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)
doServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer)
aServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode)
. - Změňte konstruktor z
ServiceBusTopicInboundChannelAdapter(String, SubscribeByGroupOperation, String)
doServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer)
aServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode)
. - Zahoďte rozhraní API
ServiceBusQueueOperation#setCheckpointConfig
aServiceBusTopicOperation#setCheckpointConfig
. Pokud chcete nastavit konfiguraci kontrolního bodu pro adaptér příchozího kanálu, můžou uživatelé místo toho metoduServiceBusContainerProperties#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žimRECORD
. - Zahoďte rozhraní API
ServiceBusQueueOperation#setClientConfig
aServiceBusTopicOperation#setClientConfig
. Pokud chcete nakonfigurovat podklad používanýServiceBusProcessorClient
adaptérem příchozího kanálu, můžou místo toho uživatelé použítServiceBusContainerProperties
. - Místo toho zahoďte
CompletableFuture
podporuServiceBusTemplate
aDefaultMessageHandler
podporuReactor
. - Přidejte nové rozhraní API
ServiceBusTemplate#setDefaultEntityType
pro zadání typu entity, které je vyžadováno, pokud není zadána žádná beanPropertiesSupplier<String, ProducerProperties>
proProducerProperties#entityType
. - Přetažení záhlaví
AzureHeaders.RAW_ID
zprávy . Místo toho použijteServiceBusMessageHeaders.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 zadejteStorageQueueTemplate
. - Zahoďte
checkpoint-mode
konfiguraciStorageQueueTemplate
, podporujeMANUAL
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 zadejteStorageQueueTemplate
. - Zahoďte
checkpoint-mode
konfiguraciStorageQueueTemplate
, podporujeMANUAL
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 map
StartPositionProperties
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
, consumers
nebo 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
, consumers
nebo 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
, consumers
nebo 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-topic
nyní jsou sloučeny do jednoho spring-cloud-azure-stream-binder-servicebus
.
Důležité
Typ pořadače se zkombinuje a servicebus-queue
servicebus-topic
jako servicebus
.
V následující tabulce jsou uvedeny nové vlastnosti spring-cloud-azure-stream-binder-servicebus
konfigurace:
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
, consumers
nebo 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
, consumers
nebo 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
, consumers
nebo 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_ID
zprávy . Místo toho použijteServiceBusMessageHeaders.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
@AzureMessageListeners
v současné době nejsou podporované poznámky a @EnableAzureMessaging
poznámky.