Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tato příručka vám pomůže s migrací na Spring Cloud Azure 4.0 ze starších knihoven Azure Spring.
Úvod
Budeme volat knihovny, jejichž ID skupiny a ID artefaktu se řídí vzorem com.azure.spring:spring-cloud-azure-*moderní knihovny a knihovny se vzorem com.azure.spring:azure-spring-boot-*, com.azure.spring:azure-spring-cloud-*nebo com.azure.spring:azure-spring-integration-*starších knihoven.
Tato příručka se zaměří na souběžná porovnání podobných konfigurací mezi moderními a staršími knihovnami.
Předpokládá se znalost com.azure.spring:azure-spring-boot-*, com.azure.spring:azure-spring-cloud-* nebo balíčku com.azure.spring:azure-spring-integration-*.
Pokud s knihovnami Spring Cloud Azure 4.0 začínáte, podívejte se na 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ší skupina vývojářů, zaměřili jsme se na učení vzorů a postupů, abychom co nejlépe podporovali produktivitu vývojářů a pochopili mezery, které mají knihovny Spring Cloud Azure.
V knihovnách spring cloudových Azure bylo vyjádřeno několik oblastí konzistentní zpětné vazby. Nejdůležitější je, že knihovny pro různé Azure služby nepovolily úplnou sadu konfigurací. Kromě toho nekonzistence pojmenování projektu, ID artefaktů, verzí a konfigurací udělala křivku učení strmou.
Za účelem zlepšení vývojového prostředí v knihovnách Azure Spring Cloudu byla zavedena sada pokynů pro návrh, které zajistí, aby knihovny Spring Cloud Azure měly přirozený a idiomatické pocity s ohledem na ekosystém Spring. Další podrobnosti najdete v dokumentu design pro zájemce.
Spring Cloud Azure 4.0 poskytuje sdílené prostředí napříč knihovnami integrujícími s různými projekty Spring, například Spring Boot, Spring Integration, Spring Cloud Stream atd. Sdílené prostředí zahrnuje:
- Sjednocená bom, 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é Azure Služba nebo Azure Service SDK podporuje.
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 cloudových Azure. Některé z nich byly volány Azure Spring Boot a některé z nich Spring on Azure. Od verze 4.0 jsme začali používat název projektu Spring Cloud Azure 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 dependencyManagement části projektu položku, která bude těžit ze správy závislostí.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-dependencies</artifactId>
<version>7.3.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Poznámka
Pokud používáte Spring Boot 4.0.x, nezapomeňte nastavit spring-cloud-azure-dependencies verzi na 7.3.0.
Pokud používáte Spring Boot 3.5.x, nezapomeňte nastavit spring-cloud-azure-dependencies verzi na 6.4.0hodnotu.
Pokud používáte Spring Boot 3.1.x-3.5.x, nezapomeňte nastavit spring-cloud-azure-dependencies verzi na 5.25.0hodnotu .
Pokud používáte Spring Boot 2.x, nezapomeňte nastavit spring-cloud-azure-dependencies verzi na 4.20.0.
Tato faktura materiálu (BOM) by měla být nakonfigurována v <dependencyManagement> části vašeho pom.xml souboru. Tím zajistíte, že všechny závislosti Spring Cloud Azure budou používat stejnou verzi.
Další informace o verzi použité pro tento kusovník najdete v tématu Která verze Spring Cloudu Azure Měla bych 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. Všichni jsou com.azure.spring. ID artefaktů pro moderní knihovny Azure Spring Cloudu se změnila. Podle toho, do jakého projektu Spring patří, spring boot, integrace Springu nebo Spring Cloud Streamu, může být vzor ID artefaktů spring-cloud-azure-starter-[service], 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 Cloudu 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 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 artefaktu spring-cloud-azure-starter. |
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 tak, aby přidal data označující použití Azure Cosmos DB Spring Data. |
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 objektu blob úložiště i sdílené složky, které byly duplikovány 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 artefaktu spring-cloud-azure-autoconfigure. |
azure-spring-cloud-autoconfigure |
nejde použít | Tento artefakt byl odstraněn se všemi funkcemi, které se sloučí do nového artefaktu spring-cloud-azure-autoconfigure. |
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 podpory Spring Cloud Azure Redis. |
azure-spring-cloud-starter-eventhubs-kafka |
nejde použít | Tento artefakt byl odstraněn pro použití kafka, stačí přidat spring kafka, spring-cloud-azure-resourcemanagera 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 pro přidání integration, který označuje použití integrace Spring se službou Event Hubs. |
azure-spring-cloud-starter-servicebus |
spring-cloud-azure-starter-integration-servicebus |
Přejmenoval artefakt tak, aby přidal integration označující použití integrace Spring s Service Bus. |
azure-spring-cloud-starter-storage-queue |
spring-cloud-azure-starter-integration-storage-queue |
Přejmenoval artefakt tak, aby přidal integration, který označuje 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 artefaktu spring-cloud-azure-autoconfigure. |
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-actuator |
Nově přidaný artefakt ovladače Spring Cloud Azure. |
| nejde použít | spring-cloud-azure-actuator-autoconfigure |
Nově přidaný artefakt AutoConfigure ovladače Spring Cloud Azure, včetně automatické konfigurace pro poháněcího zařízení. |
| nejde použít | spring-cloud-azure-autoconfigure |
Nově přidaný artefakt Spring Cloud Azure AutoConfigure, 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 Manager Je to základní knihovna, která používá Azure Resource Manager ke čtení metadat a vytváření prostředků. |
| nejde použít | spring-cloud-azure-service |
Nově přidaný artefakt služby Spring Cloud Azure Service, 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 Azure App Configuration SDK |
| nejde použít | spring-cloud-azure-starter-cosmos |
Nově přidaná úvodní sada pro použití klienta sady Azure Cosmos DB SDK |
| nejde použít | spring-cloud-azure-starter-eventhubs |
Nově přidaná úvodní sada pro použití klienta sady Azure Event Hubs SDK |
| nejde použít | spring-cloud-azure-starter-servicebus |
Nově přidaná úvodní sada pro použití klienta sady Azure Service Bus SDK |
| 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á úvodní sada pro použití klienta sady AZURE STORAGE File Share SDK. |
| nejde použít | spring-cloud-azure-starter-storage-queue |
Nově přidaná úvodní sada pro použití klienta sady Azure Storage Queue SDK |
| nejde použít | spring-cloud-azure-starter-stream-eventhubs |
Nově přidaný začátek pro použití Azure Event Hubs Spring Cloud Stream Binder. |
| nejde použít | spring-cloud-azure-starter-stream-servicebus |
Nově přidaná úvodní sada pro použití Azure Service Bus Spring Cloud Stream Binderu |
| nejde použít | spring-cloud-azure-stream-binder-eventhubs-core |
Nově přidaný základní artefakt Spring Cloud Stream 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-starterspring-cloud-azure-starter-active-directoryspring-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 Cloudu 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ě Azure Services. Ujistěte se, že objekt zabezpečení má dostatečná oprávnění pro přístup k cílovému Azure prostředků.
Poznámka
Při přiřazování rolí k objektům zabezpečení pro interakci se službami zasílání zpráv Azure jsou k provádění operací zasílání zpráv potřeba Data související role. Pro knihovny služby Azure Spring Apps Stream Event Hubs / Service Bus Binder je vyžadována role Contributor v případě potřeby funkce automatického vytváření prostředků. Další informace najdete v tématu Azure předdefinované role.
Zřetězený přihlašovací údaje, DefaultAzureCredential bean je ve výchozím nastavení automaticky nakonfigurovaný a budou je používat všechny komponenty, pokud nejsou zadány žádné další ověřovací informace. Další informace najdete v části DefaultAzureCredential klientské knihovny Azure Identita pro Java.
Vlastnosti konfigurace
Migrace vlastností
Vytvořili additional-spring-configuration-metadata.json jsme soubor pro vyhlazení 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 Spring Cloud 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. S využitím spring-boot-properties-migrator pomůžete 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 podporována ve starší verzi azure-spring-boot-starter. 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 jednotlivými Azure SDK. |
spring.cloud.azure.credential |
Konfiguruje způsob ověřování pomocí Microsoft Entra ID. |
spring.cloud.azure.profile |
Konfiguruje cloudové prostředí Azure. |
spring.cloud.azure.proxy |
Nakonfiguruje možnosti proxy serveru, platí pro všechny klienty Azure SDK. |
spring.cloud.azure.retry |
Nakonfiguruje možnosti opakování, platí pro všechny klienty Azure SDK. Možnosti opakování podporují část sad SDK, neexistuje žádná spring.cloud.azure.cosmos.retry. |
Úplný seznam konfigurací najdete v tématu Spring Cloud Azure vlastnosti konfigurace.
Konfigurace jednotlivých sad SDK
Podrobnosti o možnostech konfigurace na úrovni sady SDK najdete na následujících odkazech:
-
Od
azure-spring-boot-starter-active-directorydospring-cloud-azure-starter-active-directory -
Od
azure-spring-boot-starter-active-directory-b2cdospring-cloud-azure-starter-active-directory-b2c -
Od
azure-spring-boot-starter-cosmosdospring-cloud-azure-starter-data-cosmos -
Od
azure-spring-boot-starter-keyvault-secretsdospring-cloud-azure-starter-keyvault-secrets -
Od
azure-spring-boot-starter-servicebus-jmsdospring-cloud-azure-starter-servicebus-jms -
Od
azure-spring-boot-starter-storagedospring-cloud-azure-starter-storage-blob -
Od
azure-spring-boot-starter-storagedospring-cloud-azure-starter-storage-file-share -
Od
azure-spring-cloud-starter-eventhubsdospring-cloud-azure-starter-integration-eventhubs -
Od
azure-spring-cloud-starter-servicebusdospring-cloud-azure-starter-integration-servicebus -
Od
azure-spring-cloud-starter-storage-queuedospring-cloud-azure-starter-integration-storage-queue -
Od
azure-spring-cloud-stream-binder-eventhubsdospring-cloud-azure-stream-binder-eventhubs -
Od
azure-spring-cloud-stream-binder-servicebus-*dospring-cloud-azure-stream-binder-servicebus
Zásadní změny rozhraní API
Podrobnostioch
-
Od
azure-spring-boot-starter-active-directorydospring-cloud-azure-starter-active-directory -
Od
azure-spring-boot-starter-active-directory-b2cdospring-cloud-azure-starter-active-directory-b2c -
Od
azure-spring-boot-starter-storagedospring-cloud-azure-starter-storage-blob -
Od
azure-spring-boot-starter-storagedospring-cloud-azure-starter-storage-file-share -
Od
azure-spring-cloud-starter-eventhubsdospring-cloud-azure-starter-integration-eventhubs -
Od
azure-spring-integration-eventhubsdospring-integration-azure-eventhubs -
Od
azure-spring-cloud-starter-servicebusdospring-cloud-azure-starter-integration-servicebus -
Od
azure-spring-integration-servicebusdospring-integration-azure-servicebus -
Od
azure-spring-cloud-starter-storage-queuedospring-cloud-azure-starter-integration-storage-queue -
Od
azure-spring-integration-storage-queuedospring-integration-azure-storage-queue -
Od
azure-spring-cloud-stream-binder-eventhubsdospring-cloud-azure-stream-binder-eventhubs -
Od
azure-spring-cloud-stream-binder-servicebus-*dospring-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 do spring-cloud-azure-starter
Tento průvodce má pomoct s migrací z spring-cloud-azure-starter 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 Úvod a Výhody 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 zpracování ověřování ve spring cloudu Azure 4.0 najdete v části Změny ověřování.
- Informace o využití
spring-boot-properties-migratorběhem migrace najdete v části Konfigurace jednotlivých sad SDK. - Další informace o globálních a běžných změnách konfigurace najdete v části Globální konfigurace.
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í. |
Od azure-spring-boot-starter-active-directory do spring-cloud-azure-starter-active-directory
Tento průvodce má pomoct s migrací z spring-cloud-azure-starter-active-directory verze 3 verze 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 Úvod a Výhody 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 zpracování ověřování ve spring cloudu Azure 4.0 najdete v části Změny ověřování.
- Informace o využití
spring-boot-properties-migratorběhem migrace najdete v části Konfigurace jednotlivých sad SDK. - Další informace o globálních a běžných změnách konfigurace najdete v části Globální konfigurace.
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.activedirectorynaspring.cloud.azure.active-directory. - Přidá se nová vlastnost
spring.cloud.azure.active-directory.enabledpro povolení nebo zakázání Microsoft Entra souvisejících funkcí. Výchozí hodnota jefalse.
Následující tabulka uvádí 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-lifespan |
spring.cloud.azure.active-directory.jwk-set-cache-lifespan |
azure.activedirectory.jwk-set-cache-refresh-time |
spring.cloud.azure.active-directory.jwk-set-cache-refresh-time |
azure.activedirectory.post-logout-redirect-uri |
spring.cloud.azure.active-directory.post-logout-redirect-uri |
azure.activedirectory.session-stateless |
spring.cloud.azure.active-directory.session-stateless |
azure.activedirectory.redirect-uri-template |
spring.cloud.azure.active-directory.redirect-uri-template |
azure.activedirectory.resource-server.claim-to-authority-prefix-map |
spring.cloud.azure.active-directory.resource-server.claim-to-authority-prefix-map |
azure.activedirectory.resource-server.principal-claim-name |
spring.cloud.azure.active-directory.resource-server.principal-claim-name |
azure.activedirectory.tenant-id |
spring.cloud.azure.active-directory.profile.tenant-id |
azure.activedirectory.user-group.allowed-group-ids |
spring.cloud.azure.active-directory.user-group.allowed-group-ids |
azure.activedirectory.user-group.allowed-group-names |
spring.cloud.azure.active-directory.user-group.allowed-group-names |
azure.activedirectory.user-name-attribute |
spring.cloud.azure.active-directory.user-name-attribute |
Typ hodnoty následujících vlastností se změní z
longnaDuration:jwt-connect-timeoutjwt-read-timeoutjwk-set-cache-lifespan-
jwk-set-cache-refresh-time.
Odeberou se následující vlastnosti:
azure.activedirectory.allow-telemetryazure.activedirectory.user-group.enable-full-listazure.activedirectory.graph-base-uriazure.activedirectory.graph-membership-uri
Přidají se následující vlastnosti:
spring.cloud.azure.active-directory.enabledspring.cloud.azure.active-directory.profile.environment.microsoft-graph-endpointspring.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. Případ 1
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. Případ 2
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.AADHandleConditionalAccessFiltercom.azure.spring.aad.webapi.validator.AADJwtAudienceValidatorcom.azure.spring.aad.webapi.validator.AADJwtClaimValidator
Od azure-spring-boot-starter-active-directory-b2c do spring-cloud-azure-starter-active-directory-b2c
Tento průvodce má pomoct s migrací z spring-cloud-azure-starter-active-directory-b2c 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 Úvod a Výhody 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 zpracování ověřování ve spring cloudu Azure 4.0 najdete v části Změny ověřování.
- Informace o využití
spring-boot-properties-migratorběhem migrace najdete v části Konfigurace jednotlivých sad SDK. - Další informace o globálních a běžných změnách konfigurace najdete v části Globální konfigurace.
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.b2cnaspring.cloud.azure.active-directory.b2c. - Přidá se nová vlastnost
spring.cloud.azure.active-directory.b2c.enabledpro povolení nebo zakázání Azure souvisejících funkcí AD B2C. Výchozí hodnota je false.
Následující tabulka ukazuje mapování vlastností z azure-spring-boot-starter-active-directory-b2c na 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-telemetryazure.activedirectory.b2c.tenant
Typ hodnoty následujících vlastností se změní z
longnaDuration:jwt-connect-timeoutjwt-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 |
Od azure-spring-boot-starter-cosmos do spring-cloud-azure-starter-data-cosmos
Tento průvodce má pomoct s migrací z spring-cloud-azure-starter-data-cosmos 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 Úvod a Výhody 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 zpracování ověřování ve spring cloudu Azure 4.0 najdete v části Změny ověřování.
- Informace o využití
spring-boot-properties-migratorběhem migrace najdete v části Konfigurace jednotlivých sad SDK. - Další informace o globálních a běžných změnách konfigurace najdete v části Globální konfigurace.
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 |
Od azure-spring-boot-starter-keyvault-secrets do spring-cloud-azure-starter-keyvault-secrets
Tento průvodce má pomoct s migrací z spring-cloud-azure-starter-keyvault-secrets 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 Úvod a Výhody 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 zpracování ověřování ve spring cloudu Azure 4.0 najdete v části Změny ověřování.
- Informace o využití
spring-boot-properties-migratorběhem migrace najdete v části Konfigurace jednotlivých sad SDK. - Další informace o globálních a běžných změnách konfigurace najdete v části Globální konfigurace.
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í z azure-spring-boot-starter-keyvault-secrets na 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í property-source[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 |
Odebrané vlastnosti z
spring-cloud-azure-starter-keyvault-secrets:azure.keyvault.allow-telemetryazure.keyvault.order
Na tyto body byste měli věnovat pozornost:
- Všechny názvy vlastností konfigurace změnily předponu z
azure.keyvaultnaspring.cloud.azure.keyvault.secret. -
spring.cloud.azure.keyvault.secret.enabledslouží k povolení všech funkcí tajných kódů Key Vault, včetně konfigurace Key Vault tajných klientských fazolí (napříkladSecretClientaSecretAsyncClient) a přidáníKeyVaultPropertySourcedoConfigurableEnvironment. -
spring.cloud.azure.keyvault.secret.property-source-enabledslouží k povolení všechKeyVaultPropertySource. Projeví se pouze vspring.cloud.azure.keyvault.secret.enabled=true. - Pro Azure běžné vlastnosti (například
client,proxy,retry,credential,profile) a Key Vault vlastnosti (napříkladendpoint,service-version). Pokudspring.cloud.azure.keyvault.secret.property-sources[n].PROPERTY_NAMEnení nakonfigurovaný, použije sespring.cloud.azure.keyvault.secret.PROPERTY_NAME. -
spring.cloud.azure.keyvault.secret.property-sources[n].resourceje specifický pro jedinečný prostředek Azure, takže pokud není nakonfigurovaný, nezíská hodnotu z jiných míst.
Od azure-spring-boot-starter-servicebus-jms do spring-cloud-azure-starter-servicebus-jms
Tento průvodce má pomoct s migrací z spring-cloud-azure-starter-servicebus-jms 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 Úvod a Výhody 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 zpracování ověřování ve spring cloudu Azure 4.0 najdete v části Změny ověřování.
- Informace o využití
spring-boot-properties-migratorběhem migrace najdete v části Konfigurace jednotlivých sad SDK. - Další informace o globálních a běžných změnách konfigurace najdete v části Globální konfigurace.
Změny konfigurace sady SDK
Typ konfigurace pro spring.jms.servicebus.idle-timeout změny z long (milisekund) na Duration vzor pro čitelnost
Od azure-spring-boot-starter-storage do spring-cloud-azure-starter-storage-blob
Tento průvodce má pomoct s migrací z spring-cloud-azure-starter-storage-blob 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 Úvod a Výhody 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 zpracování ověřování ve spring cloudu Azure 4.0 najdete v části Změny ověřování.
- Informace o využití
spring-boot-properties-migratorběhem migrace najdete v části Konfigurace jednotlivých sad SDK. - Další informace o globálních a běžných změnách konfigurace najdete v části Globální konfigurace.
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í z azure-spring-boot-starter-storage na 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 |
Od azure-spring-boot-starter-storage do spring-cloud-azure-starter-storage-file-share
Tento průvodce má pomoct s migrací z spring-cloud-azure-starter-storage-file-share 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 Úvod a Výhody 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 zpracování ověřování ve spring cloudu Azure 4.0 najdete v části Změny ověřování.
- Informace o využití
spring-boot-properties-migratorběhem migrace najdete v části Konfigurace jednotlivých sad SDK. - Další informace o globálních a běžných změnách konfigurace najdete v části Globální konfigurace.
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í z azure-spring-boot-starter-storage na 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 |
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 |
Od azure-spring-cloud-starter-eventhubs do spring-cloud-azure-starter-integration-eventhubs
Tento průvodce má pomoct s migrací z spring-cloud-azure-starter-integration-eventhubs verze 2 nástroje 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 Úvod a Výhody 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 zpracování ověřování ve spring cloudu Azure 4.0 najdete v části Změny ověřování.
- Informace o využití
spring-boot-properties-migratorběhem migrace najdete v části Konfigurace jednotlivých sad SDK. - Další informace o globálních a běžných změnách konfigurace najdete v části Globální konfigurace.
Změny konfigurace sady SDK
Důležitý
Předpona konfigurace byla změněna 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 na 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}
k:
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}
Poznámka
Microsoft doporučuje používat nejbezpečnější dostupný tok ověřování. Tok ověřování popsaný v tomto postupu, například pro databáze, mezipaměti, zasílání zpráv nebo služby AI, vyžaduje velmi vysoký stupeň důvěryhodnosti v aplikaci a nese rizika, která nejsou přítomna v jiných tocích. Tento tok používejte pouze v případě, že nejsou možné zabezpečit možnosti, jako jsou spravované identity pro připojení bez hesla nebo bez klíčů. V případě místních operací počítačů upřednostňujete identity uživatelů pro připojení bez hesla nebo bez klíčů.
Změny rozhraní API
- Změny poznámek k naslouchacímu procesu najdete v průvodci migrací <<migration-azure-spring-cloud-messaging, azure-spring-cloud-messaging>> knihovny.
- Odstraňte
EventHubOperations funkcí přihlášení k odběru přesunutou doEventHubsMessageListenerContainertřídy a odesílající funkce se přesunula doEventHubsTemplate. - Přejmenujte
EventHubInboundChannelAdapternaEventHubsInboundChannelAdapter, aby byla konzistentní se službou Azure Event Hubs. - Změňte konstruktor z
EventHubInboundChannelAdapter(String, SubscribeByGroupOperation, String)naEventHubsInboundChannelAdapter(EventHubsMessageListenerContainer)aEventHubsInboundChannelAdapter(EventHubsMessageListenerContainer, ListenerMode). - Změňte styl vytváření instancí
CheckpointConfigna 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žití pro adaptér příchozího kanálu, můžou uživatelé volat dvě metodyEventHubsContainerProperties#getBatch#setMaxSizeaEventHubsContainerProperties#getBatch#setMaxWaitTimemezití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_timenaazure_eventhubs_batch_converted_enqueued_time. - Změňte záhlaví zprávy z
azure_eventhub_offsetnaazure_eventhubs_batch_converted_offset. - Změňte záhlaví zprávy z
azure_eventhub_sequence_numbernaazure_eventhubs_batch_converted_sequence_number. - Změňte záhlaví zprávy z
azure_partition_keynaazure_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 kontrolního bodu
BATCHteď funguje pouze v dávkovém režimu, který lze povolit předánímListenerMode.BATCHdo 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
EventHubsInboundChannelAdaptervzorový 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; } }DefaultMessageHandlervzorový 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; } }
Od azure-spring-integration-eventhubs do spring-integration-azure-eventhubs
Tento průvodce má pomoct s migrací z spring-integration-azure-eventhubs verze 2 nástroje azure-spring-integration-eventhubs.
- Přehled změn ve verzi 4.0 najdete v částech Úvod a Výhody 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
EventHubOperations funkcí přihlášení k odběru přesunutou doEventHubsMessageListenerContainertřídy a odesílající funkce se přesunula doEventHubsTemplate. - Přejmenujte
EventHubInboundChannelAdapternaEventHubsInboundChannelAdapter, aby byla konzistentní se službou Azure Event Hubs. - Změňte konstruktor z
EventHubInboundChannelAdapter(String, SubscribeByGroupOperation, String)naEventHubsInboundChannelAdapter(EventHubsMessageListenerContainer)aEventHubsInboundChannelAdapter(EventHubsMessageListenerContainer, ListenerMode). - Změňte styl vytváření instancí
CheckpointConfigna 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žití pro adaptér příchozího kanálu, můžou uživatelé volat dvě metodyEventHubsContainerProperties#getBatch#setMaxSizeaEventHubsContainerProperties#getBatch#setMaxWaitTimemezití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_timenaazure_eventhubs_batch_converted_enqueued_time. - Změňte záhlaví zprávy z
azure_eventhub_offsetnaazure_eventhubs_batch_converted_offset. - Změňte záhlaví zprávy z
azure_eventhub_sequence_numbernaazure_eventhubs_batch_converted_sequence_number. - Změňte záhlaví zprávy z
azure_partition_keynaazure_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 kontrolního bodu
BATCHteď funguje pouze v dávkovém režimu, který lze povolit předánímListenerMode.BATCHdo 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 |
Od azure-spring-cloud-starter-servicebus do spring-cloud-azure-starter-integration-servicebus
Tento průvodce má pomoct s migrací z spring-cloud-azure-starter-integration-servicebus verze 2 nástroje 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 Úvod a Výhody 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 zpracování ověřování ve spring cloudu Azure 4.0 najdete v části Změny ověřování.
- Informace o využití
spring-boot-properties-migratorběhem migrace najdete v části Konfigurace jednotlivých sad SDK. - Další informace o globálních a běžných změnách konfigurace najdete v části Globální konfigurace.
Změny konfigurace sady SDK
U všech možností konfigurace podporovaných v spring-cloud-azure-starter-integration-servicebuszůstane předpona spring.cloud.azure.servicebus.
Následující tabulka ukazuje mapování vlastností z azure-spring-cloud-starter-servicebus na 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-retriesnebo spring.cloud.azure.servicebus.retry.fixed.max-retries, by měly být nakonfigurovány v závislosti na spring.cloud.azure.servicebus.retry.mode = fixedexponential |
spring.cloud.azure.servicebus.retry-options.delay |
spring.cloud.azure.servicebus.retry.exponential.base-delaynebo spring.cloud.azure.servicebus.retry.fixed.delay, by měly být nakonfigurovány v závislosti na spring.cloud.azure.servicebus.retry.mode = fixedexponential |
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
ServiceBusQueueOperationaServiceBusTopicOperations funkcí přihlášení k odběru přesunutou doServiceBusMessageListenerContainertřídy a odesílající funkce se přesunula doServiceBusTemplate. - Odstraňte
ServiceBusQueueInboundChannelAdapteraServiceBusTopicInboundChannelAdaptera přesuňte funkce pro naslouchání entitě fronty nebo tématu Service Bus serviceBusInboundChannelAdapter. - Změňte konstruktor z
ServiceBusQueueInboundChannelAdapter(String, SubscribeByGroupOperation, String)naServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer)aServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode). - Změňte konstruktor z
ServiceBusTopicInboundChannelAdapter(String, SubscribeByGroupOperation, String)naServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer)aServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode). - Přetažení rozhraní API
ServiceBusQueueOperation#setCheckpointConfigaServiceBusTopicOperation#setCheckpointConfig. Pokud chcete nastavit konfiguraci kontrolního bodu pro adaptér příchozího kanálu, můžou uživatelé místo toho volat metoduServiceBusContainerProperties#setAutoComplete. Chcete-li zakázat režim automatického dokončování, je ekvivalentníMANUALrežimu kontrolního bodu a k jeho povolení se aktivuje režimRECORD. - Přetažení rozhraní API
ServiceBusQueueOperatio#setClientConfigaServiceBusTopicOperation#setClientConfig. Pokud chcete nakonfigurovat podkladovéServiceBusProcessorClientpoužívané adaptérem příchozího kanálu, můžou uživatelé místo toho použítServiceBusContainerProperties. - Zahoďte podporu
CompletableFuturevServiceBusTemplateaDefaultMessageHandler, místo toho podporuReactor. - Přidáním nového rozhraní API
ServiceBusTemplate#setDefaultEntityTypezadejte typ entity, který se vyžaduje, pokud proPropertiesSupplier<String, ProducerProperties>není k dispozici žádnáProducerProperties#entityType. - Přetažení záhlaví zprávy
AzureHeaders.RAW_ID. 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
ServiceBusInboundChannelAdaptervzorový kód:Starší kód použití
ServiceBusQueueInboundChannelAdapterneboServiceBusTopicInboundChannelAdapter: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; } }DefaultMessageHandlervzorový 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; } }
Od azure-spring-integration-servicebus do spring-integration-azure-servicebus
Tento průvodce má pomoct s migrací z spring-integration-azure-servicebus verze 2 nástroje azure-spring-integration-servicebus.
- Přehled změn ve verzi 4.0 najdete v částech Úvod a Výhody 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
ServiceBusQueueOperationaServiceBusTopicOperations funkcí přihlášení k odběru přesunutou doServiceBusMessageListenerContainertřídy a odesílající funkce se přesunula doServiceBusTemplate. - Odstraňte
ServiceBusQueueInboundChannelAdapteraServiceBusTopicInboundChannelAdaptera přesuňte funkce pro naslouchání entitě fronty nebo tématu Service Bus serviceBusInboundChannelAdapter. - Změňte konstruktor z
ServiceBusQueueInboundChannelAdapter(String, SubscribeByGroupOperation, String)naServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer)aServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode). - Změňte konstruktor z
ServiceBusTopicInboundChannelAdapter(String, SubscribeByGroupOperation, String)naServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer)aServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode). - Přetažení rozhraní API
ServiceBusQueueOperation#setCheckpointConfigaServiceBusTopicOperation#setCheckpointConfig. Pokud chcete nastavit konfiguraci kontrolního bodu pro adaptér příchozího kanálu, můžou uživatelé místo toho volat metoduServiceBusContainerProperties#setAutoComplete. Chcete-li zakázat režim automatického dokončování, je ekvivalentníMANUALrežimu kontrolního bodu a k jeho povolení se aktivuje režimRECORD. - Přetažení rozhraní API
ServiceBusQueueOperation#setClientConfigaServiceBusTopicOperation#setClientConfig. Pokud chcete nakonfigurovat podkladovéServiceBusProcessorClientpoužívané adaptérem příchozího kanálu, můžou uživatelé místo toho použítServiceBusContainerProperties. - Zahoďte podporu
CompletableFuturevServiceBusTemplateaDefaultMessageHandler, místo toho podporuReactor. - Přidáním nového rozhraní API
ServiceBusTemplate#setDefaultEntityTypezadejte typ entity, který se vyžaduje, pokud proPropertiesSupplier<String, ProducerProperties>není k dispozici žádnáProducerProperties#entityType. - Přetažení záhlaví zprávy
AzureHeaders.RAW_ID. 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 |
Od azure-spring-cloud-starter-storage-queue do spring-cloud-azure-starter-integration-storage-queue
Tento průvodce má pomoct s migrací z spring-cloud-azure-starter-integration-storage-queue verze 2 nástroje 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 Úvod a Výhody 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 zpracování ověřování ve spring cloudu Azure 4.0 najdete v části Změny ověřování.
- Informace o využití
spring-boot-properties-migratorběhem migrace najdete v části Konfigurace jednotlivých sad SDK. - Další informace o globálních a běžných změnách konfigurace najdete v části Globální konfigurace.
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í z azure-spring-cloud-starter-storage-queue na 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
- Odstraňte
StorageQueueOperationa místo toho zadejteStorageQueueTemplate. - Zahoďte konfiguraci
checkpoint-modevStorageQueueTemplate, podporují pouze režimMANUAL.
Následující tabulka ukazuje mapování tříd z azure-spring-cloud-starter-storage-queue na 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 |
Od azure-spring-integration-storage-queue do spring-integration-azure-storage-queue
Tento průvodce má pomoct s migrací z spring-integration-azure-storage-queue verze 2 nástroje azure-spring-integration-storage-queue.
- Přehled změn ve verzi 4.0 najdete v částech Úvod a Výhody 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
StorageQueueOperationa místo toho zadejteStorageQueueTemplate. - Zahoďte konfiguraci
checkpoint-modevStorageQueueTemplate, podporují pouze režimMANUAL.
Následující tabulka ukazuje mapování tříd z azure-spring-integration-storage-queue na 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 |
Od azure-spring-cloud-stream-binder-eventhubs do spring-cloud-azure-stream-binder-eventhubs
Tento průvodce má pomoct s migrací z spring-cloud-azure-stream-binder-eventhubs verze 2 nástroje 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 Úvod a Výhody 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 zpracování ověřování ve spring cloudu Azure 4.0 najdete v části Změny ověřování.
- Informace o využití
spring-boot-properties-migratorběhem migrace najdete v části Konfigurace jednotlivých sad SDK. - Další informace o globálních a běžných změnách konfigurace najdete v části Globální konfigurace.
Změny konfigurace sady SDK
Důležitý
Předpona konfigurace byla změněna 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 na 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 konfigurace start-position se také změní z výčtu com.azure.spring.integration.core.api.StartPosition na mapStartPositionProperties pro každý oddíl. Klíč je TEDY ID oddílu a hodnota je com.azure.spring.cloud.service.eventhubs.properties.StartPositionProperties, která zahrnuje vlastnosti posunu, pořadového čísla, vyčíslené datum a to, 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
Poznámka
Microsoft doporučuje používat nejbezpečnější dostupný tok ověřování. Tok ověřování popsaný v tomto postupu, například pro databáze, mezipaměti, zasílání zpráv nebo služby AI, vyžaduje velmi vysoký stupeň důvěryhodnosti v aplikaci a nese rizika, která nejsou přítomna v jiných tocích. Tento tok používejte pouze v případě, že nejsou možné zabezpečit možnosti, jako jsou spravované identity pro připojení bez hesla nebo bez klíčů. V případě místních operací počítačů upřednostňujete identity uživatelů pro připojení bez hesla nebo bez klíčů.
Pokud použijete objekty zabezpečení místo připojovacích řetězců, ve verzích před 4.0 se aplikace nejprve připojí k Azure Resource Manager (ARM) s poskytnutým objektem 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í k Azure Event Hubs. Tímto způsobem by měl být poskytnut zadaný objekt zabezpečení s rolí Contributor pro načtení přidruženého oboru názvů Azure Event Hubs.
Pro Azure Spring Apps 4.0 poskytujeme dva způsoby využití objektů zabezpečení pro ověřování. Jeden stále používá objekty zabezpečení pro připojení k ARM a načtení připojovacích řetězců, ve kterých se pro objekty zabezpečení vyžaduje Contributor role. Druhý využívá objekty zabezpečení k ověření v Microsoft Entra ID a pak se připojují k Azure Event Hubs přímo. V tomto případě už není Contributor role nutná, zatímco jiné Data související role jsou vyžadovány 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 Authorize 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
Hodnoty povolené pro tenant-id jsou: common, organizations, consumersnebo ID tenanta. Další informace o těchto hodnotách najdete v části Použití nesprávného koncového bodu (osobní a organizační účty) v části Chyba AADSTS50020 – Uživatelský účet poskytovatele identity neexistuje v tenantovi. Informace o převodu aplikace s jedním tenantem najdete v tématu Konvertování jednoklientských aplikací na víceklientů v Microsoft Entra ID.
Vyžaduje se moderní konfigurace, vlastnosti id Azure předplatného 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
Hodnoty povolené pro tenant-id jsou: common, organizations, consumersnebo ID tenanta. Další informace o těchto hodnotách najdete v části Použití nesprávného koncového bodu (osobní a organizační účty) v části Chyba AADSTS50020 – Uživatelský účet poskytovatele identity neexistuje v tenantovi. Informace o převodu aplikace s jedním tenantem najdete v tématu Konvertování jednoklientských aplikací na víceklientů v Microsoft Entra ID.
Můžete také migrovat na ověřování a autorizaci pomocí Microsoft Entra ID přímo bez nutnosti objíždět se do ARM. Ujistěte se, že objekt zabezpečení potřebný Data rolím pro operace zasílání zpráv. 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
Hodnoty povolené pro tenant-id jsou: common, organizations, consumersnebo ID tenanta. Další informace o těchto hodnotách najdete v části Použití nesprávného koncového bodu (osobní a organizační účty) v části Chyba AADSTS50020 – Uživatelský účet poskytovatele identity neexistuje v tenantovi. Informace o převodu aplikace s jedním tenantem najdete v tématu Konvertování jednoklientských aplikací na víceklientů v Microsoft Entra ID.
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 na 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 |
Od azure-spring-cloud-stream-binder-servicebus-* do spring-cloud-azure-stream-binder-servicebus
Tento průvodce má pomoct s migrací z spring-cloud-azure-stream-binder-servicebus verze 2 nebo azure-spring-cloud-stream-binder-servicebus-queueazure-spring-cloud-stream-binder-servicebus-topic.
Obecné informace najdete na následujících odkazech:
- Přehled změn ve verzi 4.0 najdete v částech Úvod a Výhody 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 zpracování ověřování ve spring cloudu Azure 4.0 najdete v části Změny ověřování.
- Informace o využití
spring-boot-properties-migratorběhem migrace najdete v části Konfigurace jednotlivých sad SDK. - Další informace o globálních a běžných změnách konfigurace najdete v části Globální konfigurace.
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-topica nyní jsou sloučeny do jednoho spring-cloud-azure-stream-binder-servicebus.
Důležitý
Typ pořadače se zkombinuje z servicebus-queue a servicebus-topic jako servicebus.
Následující tabulka uvádí nové vlastnosti konfigurace spring-cloud-azure-stream-binder-servicebus:
| 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í z azure-spring-cloud-stream-binder-servicebus-* na 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-retriesnebo spring.cloud.azure.servicebus.retry.fixed.max-retries, by měly být nakonfigurovány v závislosti na spring.cloud.azure.servicebus.retry.mode = fixedexponential |
spring.cloud.azure.servicebus.retry-options.delay |
spring.cloud.azure.servicebus.retry.exponential.base-delaynebo spring.cloud.azure.servicebus.retry.fixed.delay, by měly být nakonfigurovány v závislosti na spring.cloud.azure.servicebus.retry.mode = fixedexponential |
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.concurrency |
spring.cloud.stream.servicebus.bindings.binding-name.consumer.max-concurrent-sessions / max-concurrent-calls |
spring.cloud.stream.servicebus.queue.bindings.binding-name.consumer.checkpoint-mode |
spring.cloud.stream.servicebus.bindings.binding-name.consumer.auto-complete |
spring.cloud.stream.servicebus.topic.bindings.* |
spring.cloud.stream.servicebus.bindings.* |
spring.cloud.stream.servicebus.topic.bindings.binding-name.consumer.concurrency |
spring.cloud.stream.servicebus.bindings.binding-name.consumer.max-concurrent-sessions / max-concurrent-calls |
spring.cloud.stream.servicebus.topic.bindings.binding-name.consumer.checkpoint-mode |
spring.cloud.stream.servicebus.bindings.binding-name.consumer.auto-complete |
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á režimu kontrolního bodu RECORD a opačně MANUAL režimu.
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
Poznámka
Microsoft doporučuje používat nejbezpečnější dostupný tok ověřování. Tok ověřování popsaný v tomto postupu, například pro databáze, mezipaměti, zasílání zpráv nebo služby AI, vyžaduje velmi vysoký stupeň důvěryhodnosti v aplikaci a nese rizika, která nejsou přítomna v jiných tocích. Tento tok používejte pouze v případě, že nejsou možné zabezpečit možnosti, jako jsou spravované identity pro připojení bez hesla nebo bez klíčů. V případě místních operací počítačů upřednostňujete identity uživatelů pro připojení bez hesla nebo bez klíčů.
Pokud použijete objekty zabezpečení místo připojovacích řetězců, ve verzích před 4.0 se aplikace nejprve připojí k Azure Resource Manager (ARM) s poskytnutým objektem 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í k Azure Service Bus. Tímto způsobem by měl být poskytnut zadaný objekt zabezpečení s rolí Contributor pro načtení přidruženého oboru názvů Azure Service Bus.
Pro Azure Spring Apps 4.0 poskytujeme dva způsoby využití objektů zabezpečení pro ověřování. Jeden stále používá objekty zabezpečení pro připojení k ARM a načtení připojovacích řetězců, ve kterých se pro objekty zabezpečení vyžaduje Contributor role. Druhý využívá objekty zabezpečení k ověření Microsoft Entra ID a pak se připojují k Azure Service Bus přímo. V tomto případě už není Contributor role nutná, zatímco jiné Data související role jsou vyžadovány 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 Authorize 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
Hodnoty povolené pro tenant-id jsou: common, organizations, consumersnebo ID tenanta. Další informace o těchto hodnotách najdete v části Použití nesprávného koncového bodu (osobní a organizační účty) v části Chyba AADSTS50020 – Uživatelský účet poskytovatele identity neexistuje v tenantovi. Informace o převodu aplikace s jedním tenantem najdete v tématu Konvertování jednoklientských aplikací na víceklientů v Microsoft Entra ID.
Vyžaduje se moderní konfigurace, vlastnosti id Azure předplatného 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
Hodnoty povolené pro tenant-id jsou: common, organizations, consumersnebo ID tenanta. Další informace o těchto hodnotách najdete v části Použití nesprávného koncového bodu (osobní a organizační účty) v části Chyba AADSTS50020 – Uživatelský účet poskytovatele identity neexistuje v tenantovi. Informace o převodu aplikace s jedním tenantem najdete v tématu Konvertování jednoklientských aplikací na víceklientů v Microsoft Entra ID.
Můžete také migrovat na ověřování a autorizaci pomocí Microsoft Entra ID přímo bez nutnosti objíždět se do ARM. Ujistěte se, že objekt zabezpečení potřebný Data rolím pro operace zasílání zpráv. 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
Hodnoty povolené pro tenant-id jsou: common, organizations, consumersnebo ID tenanta. Další informace o těchto hodnotách najdete v části Použití nesprávného koncového bodu (osobní a organizační účty) v části Chyba AADSTS50020 – Uživatelský účet poskytovatele identity neexistuje v tenantovi. Informace o převodu aplikace s jedním tenantem najdete v tématu Konvertování jednoklientských aplikací na víceklientů v Microsoft Entra ID.
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í zprávy
AzureHeaders.RAW_ID. Místo toho použijteServiceBusMessageHeaders.MESSAGE_ID.
Následující tabulka ukazuje mapování tříd z azure-spring-cloud-stream-binder-eventhubs na 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, @AzureMessageListenersa @EnableAzureMessaging poznámky se v současné době nepodporují.