Migreringsguide för Spring Cloud Azure 4.0
Den här guiden hjälper till med migrering till Spring Cloud Azure 4.0 från äldre Azure Spring-bibliotek.
Introduktion
Vi anropar bibliotek vars grupp-ID och artefakt-ID följer mönstret com.azure.spring:spring-cloud-azure-*
de moderna biblioteken och de med mönstret com.azure.spring:azure-spring-boot-*
, com.azure.spring:azure-spring-cloud-*
eller com.azure.spring:azure-spring-integration-*
de äldre biblioteken.
Den här guiden fokuserar på jämförelser sida vid sida för liknande konfigurationer mellan moderna och äldre bibliotek.
Kunskaper om com.azure.spring:azure-spring-boot-*
, com.azure.spring:azure-spring-cloud-*
eller com.azure.spring:azure-spring-integration-*
paket antas.
Om du är nybörjare på Spring Cloud Azure 4.0-biblioteken kan du läsa utvecklarguiden för Spring Cloud Azure i stället för den här guiden.
Migreringsfördelar
En naturlig fråga att ställa när man överväger om en ny version eller ett nytt bibliotek ska införas är dess fördelar. Eftersom Azure har mognat och omfamnats av en mer varierad grupp utvecklare har vi fokuserat på att lära oss mönster och metoder för att på bästa sätt stödja utvecklarnas produktivitet och förstå de luckor som Azure-biblioteken i Spring Cloud har.
Det fanns flera områden med konsekvent feedback som uttrycktes i Azure-biblioteken för Spring Cloud. Det viktigaste är att biblioteken för olika Azure-tjänster inte har aktiverat den fullständiga uppsättningen konfigurationer. Dessutom gjorde inkonsekvensen i projektnamngivning, artefakt-ID, versioner och konfigurationer inlärningskurvan brant.
För att förbättra utvecklingsupplevelsen i Azure-biblioteken i Spring Cloud introducerades en uppsättning designriktlinjer för att säkerställa att Spring Cloud Azure-bibliotek har en naturlig och idiomatisk känsla när det gäller Spring-ekosystemet. Mer information finns i designdokumentet för dem som är intresserade.
Spring Cloud Azure 4.0 ger den delade upplevelsen i bibliotek som integreras med olika Spring-projekt, till exempel Spring Boot, Spring Integration, Spring Cloud Stream och så vidare. Den delade upplevelsen omfattar:
- En enhetlig strukturlista som omfattar alla Spring Cloud Azure 4.0-bibliotek.
- En konsekvent namngivningskonvention för artefakter.
- Ett enhetligt sätt att konfigurera inställningar för autentiseringsuppgifter, proxy, återförsök, molnmiljö och transportlager.
- Stöd för alla autentiserande metoder som en Azure Service eller Azure Service SDK stöder.
Översikt
Den här migreringsguiden består av följande avsnitt:
- Namngivningsändringar för Spring Cloud Azure 4.0
- Artefaktändringar: har bytt namn/lagts till/tagits bort
- Beroendeändringar
- Autentiseringsändringar
- Konfigurationsegenskaper
- Api-icke-bakåtkompatibla ändringar
- Biblioteksändringar
Namnändringar
Det har aldrig funnits ett konsekvent eller officiellt namn för att anropa alla Spring Cloud Azure-bibliotek. Några av dem kallades Azure Spring Boot
och några av dem Spring on Azure
. Sedan 4.0 började vi använda projektnamnet Spring Cloud Azure
för att representera alla Azure Spring-bibliotek.
Strukturlista
Vi brukade skicka två BPM:er för våra bibliotek, azure-spring-boot-bom
och azure-spring-cloud-dependencies
, men vi kombinerade dessa två strukturlistor till en strukturlista sedan 4.0, spring-cloud-azure-dependencies
. Lägg till en post i avsnittet i dependencyManagement
projektet för att dra nytta av beroendehanteringen.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-dependencies</artifactId>
<version>4.14.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Kommentar
Om du använder Spring Boot 3.x måste du ange spring-cloud-azure-dependencies
versionen till 5.8.0
.
Mer information om versionen finns i spring-cloud-azure-dependencies
Vilken version av Spring Cloud Azure ska jag använda.
Artefaktändringar: har bytt namn/lagts till/tagits bort
Grupp-ID:t är desamma för moderna och äldre Spring Cloud Azure-bibliotek. De är alla com.azure.spring
. Artefakt-ID:n för de moderna Spring Cloud Azure-biblioteken har ändrats. Enligt vilket Spring-projekt det tillhör, Spring Boot, Spring Integration eller Spring Cloud Stream, kan artefakt-ID:n vara spring-cloud-azure-starter-[service]
, spring-integration-azure-[service]
eller spring-cloud-azure-stream-binder-[service]
. De äldre starterna för var och en har ett artefakt-ID som följer mönstret azure-spring-*
. Detta ger ett snabbt och tillgängligt sätt att snabbt förstå om du använder moderna eller äldre förrätter.
Under utvecklingen av Spring Cloud Azure 4.0 bytte vi namn på några artefakter för att få dem att följa de nya namngivningskonventionerna, tog bort några artefakter så att funktionerna kunde placeras i en lämpligare artefakt och lade till några nya artefakter för att bättre hantera vissa scenarier.
I följande tabell visas mappningarna mellan äldre artefakt-ID och modernt artefakt-ID:
Äldre artefakt-ID | Modernt artefakt-ID | beskrivning |
---|---|---|
azure-spring-boot-starter | spring-cloud-azure-starter | Den här artefakten har tagits bort med alla funktioner sammanfogade till den nya spring-cloud-azure-starter artefakten. |
azure-spring-boot-starter-active-directory | spring-cloud-azure-starter-active-directory | Artefakten har bytt namn. |
azure-spring-boot-starter-active-directory-b2c | spring-cloud-azure-starter-active-directory-b2c | Artefakten har bytt namn. |
azure-spring-boot-starter-cosmos | spring-cloud-azure-starter-data-cosmos | Ändrade namn på artefakten för att lägga till data , vilket indikerar att du använder Spring Data Azure Cosmos DB. |
azure-spring-boot-starter-keyvault-certificates | inte tillämpligt | Ingår inte i den här versionen, men stöds i senare version. |
azure-spring-boot-starter-keyvault-secrets | spring-cloud-azure-starter-keyvault-secrets | Artefakten har bytt namn. |
azure-spring-boot-starter-servicebus-jms | spring-cloud-azure-starter-servicebus-jms | Artefakten har bytt namn. |
azure-spring-boot-starter-storage | spring-cloud-azure-starter-storage-blob spring-cloud-azure-starter-storage-file-share |
Den äldre artefakten innehåller funktionerna i både Storage Blob och File Share. Den har delats upp i två separata artefakter i 4.0, spring-cloud-azure-starter-storage-blob och spring-cloud-azure-starter-storage-file-share. |
azure-spring-boot | inte tillämpligt | Den här artefakten har tagits bort med alla funktioner sammanfogade till den nya spring-cloud-azure-autoconfigure artefakten. |
azure-spring-cloud-autoconfigure | inte tillämpligt | Den här artefakten har tagits bort med alla funktioner sammanfogade till den nya spring-cloud-azure-autoconfigure artefakten. |
azure-spring-cloud-context | inte tillämpligt | Den här artefakten har tagits bort med alla funktioner sammanfogade med de nya spring-cloud-azure-autoconfigure artefakterna och spring-cloud-azure-resourcemanager artefakterna. |
azure-spring-cloud-messaging | spring-messaging-azure | Meddelandelyssningsanteckningen har tagits bort. |
azure-spring-cloud-starter-cache | inte tillämpligt | Den här artefakten har tagits bort för användning av redis genom att bara lägga till spring-boot-starter-data-redis, spring-boot-starter-cache, spring-cloud-azure-resourcemanager och spring-cloud-azure-starter. Mer information om användning finns i Support för Spring Cloud Azure Redis. |
azure-spring-cloud-starter-eventhubs-kafka | inte tillämpligt | Den här artefakten har tagits bort för användning av kafka genom att bara lägga till spring kafka, spring-cloud-azure-resourcemanager och spring-cloud-azure-starter. Mer information om användning finns i Spring Cloud Azure Kafka-support. |
azure-spring-cloud-starter-eventhubs | spring-cloud-azure-starter-integration-eventhubs | Ändrade namn på artefakten för att lägga till integration , vilket indikerar att springintegrering med Event Hubs används. |
azure-spring-cloud-starter-servicebus | spring-cloud-azure-starter-integration-servicebus | Ändrade namn på artefakten för att lägga till integration , vilket anger att springintegrering med Service Bus används. |
azure-spring-cloud-starter-storage-queue | spring-cloud-azure-starter-integration-storage-queue | Ändrade namn på artefakten för att lägga till integration , vilket anger att springintegrering med lagringskö används. |
azure-spring-cloud-storage | inte tillämpligt | Den här artefakten har tagits bort med alla funktioner sammanfogade i den nya spring-cloud-azure-autoconfigure artefakten. |
azure-spring-cloud-stream-binder-eventhubs | spring-cloud-azure-stream-binder-eventhubs | Artefakten har omstrukturerats med hjälp av en ny design, främst spring-cloud-azure-stream-binder-eventhubs och spring-cloud-azure-stream-binder-eventhubs-core . |
azure-spring-cloud-stream-binder-service-core | spring-cloud-azure-stream-binder-servicebus-core | Artefakten har bytt namn. |
azure-spring-cloud-stream-binder-servicebus-queue | spring-cloud-azure-stream-binder-servicebus | Den här artefakten har tagits bort med alla funktioner sammanfogade till spring-cloud-azure-stream-binder-servicebus artefakten. |
azure-spring-cloud-stream-binder-servicebus-topic | spring-cloud-azure-stream-binder-servicebus | Den här artefakten har tagits bort med alla funktioner sammanfogade till spring-cloud-azure-stream-binder-servicebus artefakten. |
azure-spring-integration-core | spring-integration-azure-core | Artefakten har bytt namn. |
azure-spring-integration-eventhubs | spring-integration-azure-eventhubs | Byt namn på artefakten. |
azure-spring-integration-servicebus | spring-integration-azure-servicebus | Byt namn på artefakten. |
azure-spring-integration-storage-queue | spring-integration-azure-storage-queue | Byt namn på artefakten. |
inte tillämpligt | spring-cloud-azure-actuator | Den nyligen tillagda Spring Cloud Azure Actuator-artefakten. |
inte tillämpligt | spring-cloud-azure-actuator-autoconfigure | Den nyligen tillagda Spring Cloud Azure Actuator AutoConfigure-artefakten, inklusive automatisk konfiguration för ställdon. |
inte tillämpligt | spring-cloud-azure-autoconfigure | Nyligen tillagd Spring Cloud Azure AutoConfigure-artefakt, inklusive all automatisk konfiguration för SDK-klienter, Spring Security-stöd, Spring Data-stöd och Spring Integration-stöd. |
inte tillämpligt | spring-cloud-azure-core | Nyligen tillagd Spring Cloud Azure Core-artefakt, inklusive alla kärnfunktioner. |
inte tillämpligt | spring-cloud-azure-resourcemanager | Nyligen tillagda Resource Manager-artefakt. Det är Core-biblioteket som använder Azure Resource Manager för att läsa metadata och skapa resurser. |
inte tillämpligt | spring-cloud-azure-service | Nyligen tillagd Spring Cloud Azure Service-artefakt, inklusive abstraktioner för Azure-tjänster. |
inte tillämpligt | spring-cloud-azure-starter-appconfiguration | Nyligen tillagd start för att använda Azure App Configuration SDK-klienten. |
inte tillämpligt | spring-cloud-azure-starter-cosmos | Nyligen tillagd start för att använda Azure Cosmos DB SDK-klienten. |
inte tillämpligt | spring-cloud-azure-starter-eventhubs | Nyligen tillagd start för att använda Azure Event Hubs SDK-klienten. |
inte tillämpligt | spring-cloud-azure-starter-servicebus | Nyligen tillagda starter för att använda Azure Service Bus SDK-klienten. |
inte tillämpligt | spring-cloud-azure-starter-storage-blob | Nyligen tillagda starter för att använda Azure Storage Blob SDK-klienten. |
inte tillämpligt | spring-cloud-azure-starter-storage-file-share | Nyligen tillagda starter för att använda Azure Storage File Share SDK-klienten. |
inte tillämpligt | spring-cloud-azure-starter-storage-queue | Nyligen tillagda starter för att använda Azure Storage Queue SDK-klienten. |
inte tillämpligt | spring-cloud-azure-starter-stream-eventhubs | Nyligen tillagd start för användning av Azure Event Hubs Spring Cloud Stream Binder. |
inte tillämpligt | spring-cloud-azure-starter-stream-servicebus | Nytillagd start för att använda Azure Service Bus Spring Cloud Stream Binder |
inte tillämpligt | spring-cloud-azure-stream-binder-eventhubs-core | Nyligen tillagda Spring Cloud Stream-kärnartefakt för Azure Event Hubs. |
Ändringar i beroenden
Några onödiga beroenden inkluderades i de äldre artefakterna, som vi har tagit bort i de moderna Spring Cloud Azure 4.0-biblioteken. Se till att lägga till de borttagna beroendena manuellt i projektet för att förhindra krascher.
Bibliotek som har beroendeändringar inkluderar:
- spring-cloud-azure-starter
- spring-cloud-azure-starter-active-directory
- spring-cloud-azure-starter-active-directory-b2c
Autentiseringsändringar
Spring Cloud Azure 4.0 stöder alla autentiseringsmetoder som varje Azure Service SDK stöder. Det gör att du kan konfigurera en global tokenautentiseringsuppgift och tillhandahålla tokenautentiseringsuppgifterna på varje tjänstnivå. Men en autentiseringsuppgift krävs inte för att konfigurera Spring Cloud Azure 4.0 eftersom den kan tillämpa autentiseringsuppgifterna som lagras i en lokal utvecklingsmiljö eller hanterad identitet i Azure Services. Se bara till att huvudkontot har beviljats tillräcklig behörighet för att få åtkomst till Azure-målresurserna.
Kommentar
När du tilldelar roller till säkerhetsobjekten för att interagera med Azure-meddelandetjänster krävs de Data
relaterade rollerna för att utföra meddelandeåtgärder. För Azure Spring Apps Stream Event Hubs/Service Bus Binder-bibliotek Contributor
krävs roll när funktionen för att skapa resurser automatiskt behövs. Mer information finns i Inbyggda roller i Azure.
En länkad autentiseringsuppgift, bönan DefaultAzureCredential
konfigureras automatiskt som standard och används av alla komponenter om ingen mer autentiseringsinformation anges. Mer information finns i avsnittet DefaultAzureCredential i Azure Identity-klientbiblioteket för Java.
Konfigurationsegenskaper
Migrering av egenskaper
Vi har skapat en ytterligare-spring-configuration-metadata.json-fil för att jämna ut egenskapsmigreringen när du använder med spring-boot-properties-migrator
. Lägg först till följande egenskapsmigrator i ditt program:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-properties-migrator</artifactId>
<scope>runtime</scope>
</dependency>
Eller om du använder Gradle:
runtime("org.springframework.boot:spring-boot-properties-migrator")
Om du kör appen identifieras de egenskaper som inte längre hanteras av Spring Cloud Azure. Om det finns en ersättning mappas egenskapen tillfälligt om för dig med en varning. Om det inte finns någon ersättning får du mer information i en felrapport. Hur som helst måste konfigurationen uppdateras och beroendet tas bort när du har uppdaterat konfigurationen.
Innan du går vidare är det en bra idé att använda sökfunktionen i din IDE för att dubbelkolla att du inte använder någon av de egenskaper som du har migrerat i ett integreringstest.
Kommentar
Vi har ändrat många konfigurationsegenskaper i den här ändringen. Med hjälp av spring-boot-properties-migrator
kommer att hjälpa till att underlätta migreringen.
Globala konfigurationer
Med det moderna spring-cloud-azure-starter
kan du definiera egenskaper som gäller för alla Azure SDK:er i namnområdet spring.cloud.azure
. Den här funktionen stöds inte i det äldre azure-spring-boot-starter
. De globala konfigurationerna kan delas in i fem kategorier, som visas i följande tabell:
Prefix | beskrivning |
---|---|
spring.cloud.azure.client | Konfigurerar transportklienterna under varje Azure SDK. |
spring.cloud.azure.credential | Konfigurerar hur du autentiserar med Microsoft Entra-ID. |
spring.cloud.azure.profile | Konfigurerar Azure-molnmiljön. |
spring.cloud.azure.proxy | Konfigurerar proxyalternativen och gäller för alla Azure SDK-klienter. |
spring.cloud.azure.retry | Konfigurerar återförsöksalternativen och gäller för alla Azure SDK-klienter. Återförsöksalternativen har stöd för en del av SDK:erna, det finns ingen spring.cloud.azure.cosmos.retry . |
En fullständig lista över konfigurationer finns i Konfigurationsegenskaper för Spring Cloud Azure.
Konfigurera varje SDK
Mer information om konfigurationsalternativen på SDK-nivå finns i följande länkar:
- Från azure-spring-boot-starter-active-directory till spring-cloud-azure-starter-active-directory
- Från azure-spring-boot-starter-active-directory-b2c till spring-cloud-azure-starter-active-directory-b2c
- Från azure-spring-boot-starter-cosmos till spring-cloud-azure-starter-data-cosmos
- Från azure-spring-boot-starter-keyvault-secrets till spring-cloud-azure-starter-keyvault-secrets
- Från azure-spring-boot-starter-servicebus-jms till spring-cloud-azure-starter-servicebus-jms
- Från azure-spring-boot-starter-storage till spring-cloud-azure-starter-storage-blob
- Från azure-spring-boot-starter-storage till spring-cloud-azure-starter-storage-file-share
- Från azure-spring-cloud-starter-eventhubs till spring-cloud-azure-starter-integration-eventhubs
- Från azure-spring-cloud-starter-servicebus till spring-cloud-azure-starter-integration-servicebus
- Från azure-spring-cloud-starter-storage-queue till spring-cloud-azure-starter-integration-storage-queue
- Från azure-spring-cloud-stream-binder-eventhubs till spring-cloud-azure-stream-binder-eventhubs
- Från azure-spring-cloud-stream-binder-servicebus-* till spring-cloud-azure-stream-binder-servicebus
Api-icke-bakåtkompatibla ändringar
Mer information om icke-bakåtkompatibla API-ändringar i varje bibliotek finns i följande länkar:
- Från azure-spring-boot-starter-active-directory till spring-cloud-azure-starter-active-directory
- Från azure-spring-boot-starter-active-directory-b2c till spring-cloud-azure-starter-active-directory-b2c
- Från azure-spring-boot-starter-storage till spring-cloud-azure-starter-storage-blob
- Från azure-spring-boot-starter-storage till spring-cloud-azure-starter-storage-file-share
- Från azure-spring-cloud-starter-eventhubs till spring-cloud-azure-starter-integration-eventhubs
- Från azure-spring-integration-eventhubs till spring-integration-azure-eventhubs
- Från azure-spring-cloud-starter-servicebus till spring-cloud-azure-starter-integration-servicebus
- Från azure-spring-integration-servicebus till spring-integration-azure-servicebus
- Från azure-spring-cloud-starter-storage-queue till spring-cloud-azure-starter-integration-storage-queue
- Från azure-spring-integration-storage-queue till spring-integration-azure-storage-queue
- Från azure-spring-cloud-stream-binder-eventhubs till spring-cloud-azure-stream-binder-eventhubs
- Från azure-spring-cloud-stream-binder-servicebus-* till spring-cloud-azure-stream-binder-servicebus
Biblioteksändringar
Icke-bakåtkompatibla ändringar i varje bibliotek introduceras på följande sätt.
Från azure-spring-boot-starter till spring-cloud-azure-starter
Den här guiden är avsedd att underlätta migreringen till spring-cloud-azure-starter från version 3 av azure-spring-boot-starter.
Använd följande länkar för allmän information:
- En översikt över ändringarna i 4.0 finns i avsnitten Introduktion och migreringsförmåner .
- Mer information om strategiändringarna i projektnamngivningen finns i avsnittet Namngivningsändringar .
- Mer information om hur du använder en bom för alla Spring Cloud Azure-bibliotek finns i avsnittet BOM .
- Mer information om hur du hanterar autentisering i Spring Cloud Azure 4.0 finns i avsnittet Autentiseringsändringar .
- Information om hur du utnyttjar
spring-boot-properties-migrator
under migreringen finns i avsnittet Konfigurera varje SDK . - Mer information om globala och vanliga konfigurationsändringar finns i avsnittet Globala konfigurationer .
Beroendeändringar
Några onödiga beroenden inkluderades i de äldre artefakterna, som vi har tagit bort i de moderna Spring Cloud Azure 4.0-biblioteken. Se till att lägga till de borttagna beroendena manuellt i projektet för att förhindra oavsiktlig krasch.
I följande tabell visas borttagna beroenden:
Beroenden har tagits bort | beskrivning |
---|---|
org.springframework.boot:spring-boot-starter-validation | Inkludera valideringsstarten om du vill använda Hibernate Validator. |
Från azure-spring-boot-starter-active-directory till spring-cloud-azure-starter-active-directory
Den här guiden är avsedd att hjälpa migreringen till spring-cloud-azure-starter-active-directory från version 3 av azure-spring-boot-starter-active-directory.
Använd följande länkar för allmän information:
- En översikt över ändringarna i 4.0 finns i avsnitten Introduktion och migreringsförmåner .
- Mer information om strategiändringarna i projektnamngivningen finns i avsnittet Namngivningsändringar .
- Mer information om hur du använder en bom för alla Spring Cloud Azure-bibliotek finns i avsnittet BOM .
- Mer information om hur du hanterar autentisering i Spring Cloud Azure 4.0 finns i avsnittet Autentiseringsändringar .
- Information om hur du utnyttjar
spring-boot-properties-migrator
under migreringen finns i avsnittet Konfigurera varje SDK . - Mer information om globala och vanliga konfigurationsändringar finns i avsnittet Globala konfigurationer .
Beroendeändringar
Vissa onödiga beroenden i den äldre artefakten har tagits bort sedan det moderna Spring Cloud Azure 4.0-biblioteket. Lägg till dessa borttagna beroenden i projektet för att förhindra oavsiktlig krasch.
I följande tabell visas borttagna beroenden:
Beroenden har tagits bort | beskrivning |
---|---|
com.fasterxml.jackson.core:jackson-databind | Lägg till det här beroendet i projektet om det behövs. |
io.projectreactor.netty:reactor-netty | Lägg till det här beroendet i projektet om det behövs. |
org.springframework.boot:spring-boot-starter-validation | Lägg till det här beroendet i projektet om det behövs. |
org.springframework.boot:spring-boot-starter-webflux | Lägg till det här beroendet i projektet om det behövs. |
Ändringar i SDK-konfigurationen
Det här avsnittet innehåller ändringarna om de egenskaper som har lagts till, tagits bort och ändrats.
- Följande två punkter är de viktigaste att uppmärksamma:
- Alla konfigurationsegenskapsnamns prefix har ändrats från
azure.activedirectory
tillspring.cloud.azure.active-directory
. - Ny egenskap
spring.cloud.azure.active-directory.enabled
läggs till för att aktivera/inaktivera Microsoft Entra-relaterade funktioner. Standardvärdet ärfalse
.
Följande tabell visar egenskapsmappningarna mellan azure-spring-boot-starter-active-directory
och spring-cloud-azure-starter-active-directory
:
Äldre egenskaper | Moderna egenskaper |
---|---|
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 | Mer information finns i följande tabell. |
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 |
Värdetypen för följande egenskaper ändras från
long
tillDuration
:jwt-connect-timeout
jwt-read-timeout
jwk-set-cache-lifespan
jwk-set-cache-refresh-time
.
Följande egenskaper tas bort:
- azure.activedirectory.allow-telemetri
- azure.activedirectory.user-group.enable-full-list
- azure.activedirectory.graph-base-uri
- azure.activedirectory.graph-membership-uri
Följande egenskaper läggs till:
- spring.cloud.azure.active-directory.enabled
- spring.cloud.azure.active-directory.profile.environment.microsoft-graph-endpoint
- spring.cloud.azure.active-directory.user-group.use-transitive-members
Kommentar
Funktionen azure.activedirectory.graph-membership-uri
för har ersatts av 2 egenskaper: spring.cloud.azure.active-directory.profile.environment.microsoft-graph-endpoint
och spring.cloud.azure.active-directory.user-group.use-transitive-members
. Den första egenskapen används för att ange värdnamnet och den andra en flagga för att använda URL-sökvägen: v1.0/me/memberOf
eller v1.0/me/transitiveMemberOf
.
Här följer några exempel på migrering:
Exempel 1. Fall 1
För äldre: azure.activedirectory.graph-membership-uri=https://graph.microsoft.com/v1.0/me/memberOf
För 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
Exempel 2. Ärende 2
För äldre: azure.activedirectory.graph-membership-uri=https://graph.microsoft.com/v1.0/me/transitiveMemberOf
För 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
API-ändringar
I följande tabell visas klassmappningarna från azure-spring-boot-starter-active-directory
till spring-cloud-azure-starter-active-directory
:
Äldre klass | Modern klass |
---|---|
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 |
I det här avsnittet visas de borttagna klasserna från azure-spring-boot-starter-active-directory.
Äldre klass har tagits bort
- com.azure.spring.aad.webapp.AADHandleConditionalAccessFilter
- com.azure.spring.aad.webapi.validator.AADJwtAudienceValidator
- com.azure.spring.aad.webapi.validator.AADJwtClaimValidator
Från azure-spring-boot-starter-active-directory-b2c till spring-cloud-azure-starter-active-directory-b2c
Den här guiden är avsedd att underlätta migreringen till spring-cloud-azure-starter-active-directory-b2c från version 3 av azure-spring-boot-starter-active-directory-b2c.
Använd följande länkar för allmän information:
- En översikt över ändringarna i 4.0 finns i avsnitten Introduktion och migreringsförmåner .
- Mer information om strategiändringarna i projektnamngivningen finns i avsnittet Namngivningsändringar .
- Mer information om hur du använder en bom för alla Spring Cloud Azure-bibliotek finns i avsnittet BOM .
- Mer information om hur du hanterar autentisering i Spring Cloud Azure 4.0 finns i avsnittet Autentiseringsändringar .
- Information om hur du utnyttjar
spring-boot-properties-migrator
under migreringen finns i avsnittet Konfigurera varje SDK . - Mer information om globala och vanliga konfigurationsändringar finns i avsnittet Globala konfigurationer .
Beroendeändringar
Några onödiga beroenden inkluderades i de äldre artefakterna, som vi har tagit bort i de moderna Spring Cloud Azure 4.0-biblioteken. Se till att lägga till de borttagna beroendena manuellt i projektet för att förhindra oavsiktlig krasch.
I följande tabell visas borttagna beroenden:
Beroenden har tagits bort | beskrivning |
---|---|
org.springframework.boot:spring-boot-starter-validation | Inkludera valideringsstarten om du vill använda Hibernate Validator. |
Ändringar i SDK-konfigurationen
Det här avsnittet innehåller ändringarna om de egenskaper som har lagts till, tagits bort och ändrats.
- Följande två punkter är de viktigaste att uppmärksamma:
- Alla namn på konfigurationsegenskapen har ändrat prefixet från
azure.activedirectory.b2c
tillspring.cloud.azure.active-directory.b2c
. - Ny egenskap
spring.cloud.azure.active-directory.b2c.enabled
läggs till för att tillåta aktivera/inaktivera Azure AD B2C-relaterade funktioner. Standardvärdet är "false".
I följande tabell visas egenskapsmappningarna från azure-spring-boot-starter-active-directory-b2c
till spring-cloud-azure-starter-active-directory-b2c
:
Äldre egenskaper | Moderna egenskaper |
---|---|
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 |
Egenskaper har tagits bort från azure-spring-boot-starter-active-directory-b2c:
- azure.activedirectory.b2c.allow-telemetri
- azure.activedirectory.b2c.tenant
Värdetypen för följande egenskaper ändras från
long
tillDuration
:- jwt-connect-timeout
- jwt-read-timeout
API-ändringar
I följande tabell visas klassmappningarna från azure-spring-boot-starter-active-directory-b2c
till spring-cloud-azure-starter-active-directory-b2c
:
Äldre klass | Modern klass |
---|---|
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 |
Från azure-spring-boot-starter-cosmos till spring-cloud-azure-starter-data-cosmos
Den här guiden är avsedd att hjälpa till vid migreringen till spring-cloud-azure-starter-data-cosmos från version 3 av azure-spring-boot-starter-cosmos.
Använd följande länkar för allmän information:
- En översikt över ändringarna i 4.0 finns i avsnitten Introduktion och migreringsförmåner .
- Mer information om strategiändringarna i projektnamngivningen finns i avsnittet Namngivningsändringar .
- Mer information om hur du använder en bom för alla Spring Cloud Azure-bibliotek finns i avsnittet BOM .
- Mer information om hur du hanterar autentisering i Spring Cloud Azure 4.0 finns i avsnittet Autentiseringsändringar .
- Information om hur du utnyttjar
spring-boot-properties-migrator
under migreringen finns i avsnittet Konfigurera varje SDK . - Mer information om globala och vanliga konfigurationsändringar finns i avsnittet Globala konfigurationer .
Ändringar i SDK-konfigurationen
Alla namn på konfigurationsegenskapen har ändrat prefixet från azure.cosmos
till spring.cloud.azure.cosmos
.
I följande tabell visas klassmappningarna från azure-spring-boot-starter-cosmos
till spring-cloud-azure-starter-data-cosmos
:
Äldre egenskaper | Moderna egenskaper |
---|---|
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 |
Från azure-spring-boot-starter-keyvault-secrets till spring-cloud-azure-starter-keyvault-secrets
Den här guiden är avsedd att underlätta migreringen till spring-cloud-azure-starter-keyvault-secrets från version 3 av azure-spring-boot-starter-keyvault-secrets.
Använd följande länkar för allmän information:
- En översikt över ändringarna i 4.0 finns i avsnitten Introduktion och migreringsförmåner .
- Mer information om strategiändringarna i projektnamngivningen finns i avsnittet Namngivningsändringar .
- Mer information om hur du använder en bom för alla Spring Cloud Azure-bibliotek finns i avsnittet BOM .
- Mer information om hur du hanterar autentisering i Spring Cloud Azure 4.0 finns i avsnittet Autentiseringsändringar .
- Information om hur du utnyttjar
spring-boot-properties-migrator
under migreringen finns i avsnittet Konfigurera varje SDK . - Mer information om globala och vanliga konfigurationsändringar finns i avsnittet Globala konfigurationer .
Ändringar i SDK-konfigurationen
Det här avsnittet innehåller ändringarna om de egenskaper som har lagts till, tagits bort och ändrats.
I följande tabell visas egenskapsmappningarna från azure-spring-boot-starter-keyvault-secrets
till spring-cloud-azure-starter-keyvault-secrets
:
Äldre egenskaper | Moderna egenskaper |
---|---|
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 och spring.cloud.azure.keyvault.secret.property-source-enabled |
azure.keyvault.order | Stöds inte längre. Använd ordningen i egenskapskällan[n] i stället. |
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 |
- Egenskaper har tagits bort från spring-cloud-azure-starter-keyvault-secrets
azure.keyvault.allow-telemetry azure.keyvault.order
Följande punkter bör du vara uppmärksam på:
- Alla namn på konfigurationsegenskapen har ändrat prefixet från
azure.keyvault
tillspring.cloud.azure.keyvault.secret
. spring.cloud.azure.keyvault.secret.enabled
används för att aktivera alla Key Vault Secret-funktioner, inklusive att konfigurera key vault-hemliga klientbönor (somSecretClient
ochSecretAsyncClient
) och lägga tillKeyVaultPropertySource
iConfigurableEnvironment
.spring.cloud.azure.keyvault.secret.property-source-enabled
används för att aktivera allaKeyVaultPropertySource
. Den börjar gälla endast närspring.cloud.azure.keyvault.secret.enabled=true
.- För vanliga Azure-egenskaper(som
client
,proxy
,retry
,credential
,profile
) och Key Vault-egenskaper(somendpoint
,service-version
). Omspring.cloud.azure.keyvault.secret.property-sources[n].PROPERTY_NAME
inte har konfigureratsspring.cloud.azure.keyvault.secret.PROPERTY_NAME
används. spring.cloud.azure.keyvault.secret.property-sources[n].resource
är specifikt för en unik Azure-resurs, så om den inte är konfigurerad får den inte värde från andra platser.
Från azure-spring-boot-starter-servicebus-jms till spring-cloud-azure-starter-servicebus-jms
Den här guiden är avsedd att underlätta migreringen till spring-cloud-azure-starter-servicebus-jms från version 3 av azure-spring-boot-starter-servicebus-jms.
Använd följande länkar för allmän information:
- En översikt över ändringarna i 4.0 finns i avsnitten Introduktion och migreringsförmåner .
- Mer information om strategiändringarna i projektnamngivningen finns i avsnittet Namngivningsändringar .
- Mer information om hur du använder en bom för alla Spring Cloud Azure-bibliotek finns i avsnittet BOM .
- Mer information om hur du hanterar autentisering i Spring Cloud Azure 4.0 finns i avsnittet Autentiseringsändringar .
- Information om hur du utnyttjar
spring-boot-properties-migrator
under migreringen finns i avsnittet Konfigurera varje SDK . - Mer information om globala och vanliga konfigurationsändringar finns i avsnittet Globala konfigurationer .
Ändringar i SDK-konfigurationen
Konfigurationstyp för spring.jms.servicebus.idle-timeout
ändrad från long
(millisekunder) till Duration
mönster för läsbarhet.
Från azure-spring-boot-starter-storage till spring-cloud-azure-starter-storage-blob
Den här guiden är avsedd att underlätta migreringen till spring-cloud-azure-starter-storage-blob från version 3 av azure-spring-boot-starter-storage.
Använd följande länkar för allmän information:
- En översikt över ändringarna i 4.0 finns i avsnitten Introduktion och migreringsförmåner .
- Mer information om strategiändringarna i projektnamngivningen finns i avsnittet Namngivningsändringar .
- Mer information om hur du använder en bom för alla Spring Cloud Azure-bibliotek finns i avsnittet BOM .
- Mer information om hur du hanterar autentisering i Spring Cloud Azure 4.0 finns i avsnittet Autentiseringsändringar .
- Information om hur du utnyttjar
spring-boot-properties-migrator
under migreringen finns i avsnittet Konfigurera varje SDK . - Mer information om globala och vanliga konfigurationsändringar finns i avsnittet Globala konfigurationer .
Ändringar i SDK-konfigurationen
Alla namn på konfigurationsegenskapen har ändrat prefixet från azure.storage
till spring.cloud.azure.storage.blob
.
I följande tabell visas egenskapsmappningarna från azure-spring-boot-starter-storage
till spring-cloud-azure-starter-storage-blob
:
Äldre egenskaper | Moderna egenskaper |
---|---|
azure.storage.account-name | spring.cloud.azure.storage.blob.account-name |
azure.storage.account-key | spring.cloud.azure.storage.blob.account-key |
azure.storage.blob-endpoint | spring.cloud.azure.storage.blob.endpoint |
API-ändringar
I följande tabell visas klassmappningarna från azure-spring-boot-starter-storage
till spring-cloud-azure-starter-storage-blob
:
Äldre klass | Modern klass |
---|---|
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 |
Från azure-spring-boot-starter-storage till spring-cloud-azure-starter-storage-file-share
Den här guiden är avsedd att underlätta migreringen till spring-cloud-azure-starter-storage-file-share från version 3 av azure-spring-boot-starter-storage.
Använd följande länkar för allmän information:
- En översikt över ändringarna i 4.0 finns i avsnitten Introduktion och migreringsförmåner .
- Mer information om strategiändringarna i projektnamngivningen finns i avsnittet Namngivningsändringar .
- Mer information om hur du använder en bom för alla Spring Cloud Azure-bibliotek finns i avsnittet BOM .
- Mer information om hur du hanterar autentisering i Spring Cloud Azure 4.0 finns i avsnittet Autentiseringsändringar .
- Information om hur du utnyttjar
spring-boot-properties-migrator
under migreringen finns i avsnittet Konfigurera varje SDK . - Mer information om globala och vanliga konfigurationsändringar finns i avsnittet Globala konfigurationer .
Ändringar i SDK-konfigurationen
Alla namn på konfigurationsegenskapen har ändrat prefixet från azure.storage
till spring.cloud.azure.storage.fileshare
.
I följande tabell visas egenskapsmappningarna från azure-spring-boot-starter-storage
till spring-cloud-azure-starter-storage-file-share
:
Äldre egenskaper | Moderna egenskaper |
---|---|
azure.storage.account-name | spring.cloud.azure.storage.fileshare.account-name |
azure.storage.account-key | spring.cloud.azure.storage.fileshare.account-key |
azure.storage.file-endpoint | spring.cloud.azure.storage.fileshare.endpoint |
API-ändringar
I följande tabell visas klassmappningarna från azure-spring-boot-starter-storage
till spring-cloud-azure-starter-storage-file-share
:
Äldre klass | Modern klass |
---|---|
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 |
Från azure-spring-cloud-starter-eventhubs till spring-cloud-azure-starter-integration-eventhubs
Den här guiden är avsedd att underlätta migreringen till spring-cloud-azure-starter-integration-eventhubs från version 2 av azure-spring-cloud-starter-eventhubs.
Använd följande länkar för allmän information:
- En översikt över ändringarna i 4.0 finns i avsnitten Introduktion och migreringsförmåner .
- Mer information om strategiändringarna i projektnamngivningen finns i avsnittet Namngivningsändringar .
- Mer information om hur du använder en bom för alla Spring Cloud Azure-bibliotek finns i avsnittet BOM .
- Mer information om hur du hanterar autentisering i Spring Cloud Azure 4.0 finns i avsnittet Autentiseringsändringar .
- Information om hur du utnyttjar
spring-boot-properties-migrator
under migreringen finns i avsnittet Konfigurera varje SDK . - Mer information om globala och vanliga konfigurationsändringar finns i avsnittet Globala konfigurationer .
Ändringar i SDK-konfigurationen
Viktigt!
Konfigurationsprefixet har ändrats från spring.cloud.azure.eventhub
till spring.cloud.azure.eventhubs.
Ändringar av underordnade poster för det här prefixet finns i följande tabeller:
I följande tabell visas egenskapsmappningar från azure-spring-cloud-starter-eventhubs
till spring-cloud-azure-starter-integration-eventhubs
:
Äldre egenskaper | Moderna egenskaper |
---|---|
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 |
Du kan till exempel ändra från:
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}
till:
spring:
cloud:
azure:
eventhubs:
connection-string: ${AZURE_EVENTHUBS_CONNECTION_STRING}
processor:
checkpoint-store:
container-name: ${AZURE_STORAGE_CONTAINER_NAME}
account-name: ${AZURE_STORAGE_ACCOUNT_NAME}
account-key: ${AZURE_STORAGE_ACCOUNT_KEY}
API-ändringar
- Om du vill se ändringar i lyssnarkommentarerna kan du läsa migreringsguiden <<för biblioteket migration-azure-spring-cloud-messaging, azure-spring-cloud-messaging>> .
- Släpp
EventHubOperation
med den prenumererande funktionen flyttad till klassenEventHubsMessageListenerContainer
och den sändande funktionen flyttades tillEventHubsTemplate
. - Byt
EventHubInboundChannelAdapter
EventHubsInboundChannelAdapter
namn på så att det överensstämmer med tjänsten för Azure Event Hubs. - Ändra konstruktorn från
EventHubInboundChannelAdapter(String, SubscribeByGroupOperation, String)
tillEventHubsInboundChannelAdapter(EventHubsMessageListenerContainer)
ochEventHubsInboundChannelAdapter(EventHubsMessageListenerContainer, ListenerMode)
. - Ändra
CheckpointConfig
instansieringsformatet till den enkla konstruktorn i stället för byggstil. - Släpp API
EventHubOperation#setCheckpointConfig
. Om du vill ange kontrollpunktskonfigurationen för det inkommande kanalkortet kan användarna anropa metodenEventHubsContainerProperties#setCheckpointConfig
. - Släpp API
EventHubOperation#setBatchConsumerConfig
. Om du vill ange den batchkrävande konfigurationen för det inkommande kanalkortet kan användarna anropa de två metodernaEventHubsContainerProperties#getBatch#setMaxSize
ochEventHubsContainerProperties#getBatch#setMaxWaitTime
under tiden. - För batchförbrukningsläget ändrar du meddelandehuvudnamnen som konverterats från batchbaserade meddelanden.
- Ändra meddelanderubrik från
azure_eventhub_enqueued_time
tillazure_eventhubs_batch_converted_enqueued_time
. - Ändra meddelanderubrik från
azure_eventhub_offset
tillazure_eventhubs_batch_converted_offset
. - Ändra meddelanderubrik från
azure_eventhub_sequence_number
tillazure_eventhubs_batch_converted_sequence_number
. - Ändra meddelanderubrik från
azure_partition_key
tillazure_batch_converted_partition_key
.
- Ändra meddelanderubrik från
- När du publicerar meddelanden till Event Hubs ignorerar du alla meddelandehuvuden som konverterats från batchbaserade meddelanden. Rubrikerna omfattar:
- 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
- Kontrollpunktsläget
BATCH
fungerar bara i batchanvändande läge nu, vilket kan aktiveras genom att skickaListenerMode.BATCH
till EventHubsInboundChannelAdapter-konstruktorn.
I följande tabell visas klassmappningarna från azure-spring-cloud-starter-eventhubs
till spring-cloud-azure-starter-integration-eventhubs
:
Äldre klass | Modern klass |
---|---|
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 |
Exempelkodfragment
EventHubsInboundChannelAdapter
exempelkod:Äldre kod:
public class Demo { @Bean public EventHubInboundChannelAdapter messageChannelAdapter( @Qualifier("INPUT_CHANNEL") MessageChannel inputChannel, EventHubOperation eventhubOperation) { eventhubOperation.setCheckpointConfig(CheckpointConfig.builder().checkpointMode (CheckpointMode.MANUAL).build()); EventHubInboundChannelAdapter adapter = new EventHubInboundChannelAdapter("EVENTHUB_NAME", eventhubOperation, "CONSUMER_GROUP"); adapter.setOutputChannel(inputChannel); return adapter; } }
Modern kod:
public class Demo { @Bean public EventHubsMessageListenerContainer messageListenerContainer(EventHubsProcessorFactory processorFactory) { EventHubsContainerProperties containerProperties = new EventHubsContainerProperties(); containerProperties.setEventHubName("EVENTHUB_NAME"); containerProperties.setConsumerGroup("CONSUMER_GROUP"); CheckpointConfig config = new CheckpointConfig(CheckpointMode.MANUAL); containerProperties.setCheckpointConfig(config); return new EventHubsMessageListenerContainer(processorFactory, containerProperties); } @Bean public EventHubsInboundChannelAdapter messageChannelAdapter(@Qualifier("INPUT_CHANNEL") MessageChannel inputChannel, EventHubsMessageListenerContainer listenerContainer) { EventHubsInboundChannelAdapter adapter = new EventHubsInboundChannelAdapter(listenerContainer); adapter.setOutputChannel(inputChannel); return adapter; } }
DefaultMessageHandler
exempelkod:Äldre kod:
public class Demo { @Bean @ServiceActivator(inputChannel = "OUTPUT_CHANNEL") public MessageHandler messageSender(EventHubOperation eventhubOperation) { DefaultMessageHandler handler = new DefaultMessageHandler("EVENTHUB_NAME", eventhubOperation); handler.setSendCallback(new ListenableFutureCallback<Void>() { @Override public void onSuccess(Void result) { LOGGER.info("Message was sent successfully."); } @Override public void onFailure(Throwable ex) { LOGGER.error("There was an error sending the message.", ex); } }); return handler; } }
Modern kod:
public class Demo { @Bean @ServiceActivator(inputChannel = "OUTPUT_CHANNEL") public MessageHandler messageSender(EventHubsTemplate eventhubOperation) { DefaultMessageHandler handler = new DefaultMessageHandler("EVENTHUB_NAME", eventhubOperation); handler.setSendCallback(new ListenableFutureCallback<Void>() { @Override public void onSuccess(Void result) { LOGGER.info("Message was sent successfully."); } @Override public void onFailure(Throwable ex) { LOGGER.error("There was an error sending the message.", ex); } }); return handler; } }
Från azure-spring-integration-eventhubs till spring-integration-azure-eventhubs
Den här guiden är avsedd att underlätta migreringen till spring-integration-azure-eventhubs från version 2 av azure-spring-integration-eventhubs.
- En översikt över ändringarna i 4.0 finns i avsnitten Introduktion och migreringsförmåner .
- Mer information om strategiändringarna i projektnamngivningen finns i avsnittet Namngivningsändringar .
- Mer information om hur du använder en bom för alla Spring Cloud Azure-bibliotek finns i avsnittet BOM .
API-ändringar
- Släpp
EventHubOperation
med den prenumererande funktionen flyttad till klassenEventHubsMessageListenerContainer
och den sändande funktionen flyttades tillEventHubsTemplate
. - Byt
EventHubInboundChannelAdapter
EventHubsInboundChannelAdapter
namn på så att det överensstämmer med tjänsten för Azure Event Hubs. - Ändra konstruktorn från
EventHubInboundChannelAdapter(String, SubscribeByGroupOperation, String)
tillEventHubsInboundChannelAdapter(EventHubsMessageListenerContainer)
ochEventHubsInboundChannelAdapter(EventHubsMessageListenerContainer, ListenerMode)
. - Ändra
CheckpointConfig
instansieringsformatet till den enkla konstruktorn i stället för byggstil. - Släpp API
EventHubOperation#setCheckpointConfig
. Om du vill ange kontrollpunktskonfigurationen för det inkommande kanalkortet kan användarna anropa metodenEventHubsContainerProperties#setCheckpointConfig
. - Släpp API
EventHubOperation#setBatchConsumerConfig
. Om du vill ange den batchkrävande konfigurationen för det inkommande kanalkortet kan användarna anropa de två metodernaEventHubsContainerProperties#getBatch#setMaxSize
ochEventHubsContainerProperties#getBatch#setMaxWaitTime
under tiden. - För batchförbrukningsläget ändrar du meddelandehuvudnamnen som konverterats från batchbaserade meddelanden.
- Ändra meddelanderubrik från
azure_eventhub_enqueued_time
tillazure_eventhubs_batch_converted_enqueued_time
. - Ändra meddelanderubrik från
azure_eventhub_offset
tillazure_eventhubs_batch_converted_offset
. - Ändra meddelanderubrik från
azure_eventhub_sequence_number
tillazure_eventhubs_batch_converted_sequence_number
. - Ändra meddelanderubrik från
azure_partition_key
tillazure_batch_converted_partition_key
.
- Ändra meddelanderubrik från
- När du publicerar meddelanden till Event Hubs ignorerar du alla meddelandehuvuden som konverterats från batchbaserade meddelanden. Rubrikerna omfattar:
- 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
- Kontrollpunktsläget
BATCH
fungerar bara i batchanvändande läge nu, vilket kan aktiveras genom att skickaListenerMode.BATCH
till EventHubsInboundChannelAdapter-konstruktorn.
I följande tabell visas klassmappningarna från azure-spring-integration-eventhubs
till spring-integration-azure-eventhubs
:
Äldre klass | Modern klass |
---|---|
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 |
Från azure-spring-cloud-starter-servicebus till spring-cloud-azure-starter-integration-servicebus
Den här guiden är avsedd att underlätta migreringen till spring-cloud-azure-starter-integration-servicebus från version 2 av azure-spring-cloud-starter-servicebus.
Använd följande länkar för allmän information:
- En översikt över ändringarna i 4.0 finns i avsnitten Introduktion och migreringsförmåner .
- Mer information om strategiändringarna i projektnamngivningen finns i avsnittet Namngivningsändringar .
- Mer information om hur du använder en bom för alla Spring Cloud Azure-bibliotek finns i avsnittet BOM .
- Mer information om hur du hanterar autentisering i Spring Cloud Azure 4.0 finns i avsnittet Autentiseringsändringar .
- Information om hur du utnyttjar
spring-boot-properties-migrator
under migreringen finns i avsnittet Konfigurera varje SDK . - Mer information om globala och vanliga konfigurationsändringar finns i avsnittet Globala konfigurationer .
Ändringar i SDK-konfigurationen
För alla konfigurationsalternativ som stöds i spring-cloud-azure-starter-integration-servicebus
förblir prefixet som spring.cloud.azure.servicebus
.
I följande tabell visas egenskapsmappningarna från azure-spring-cloud-starter-servicebus
till spring-cloud-azure-starter-integration-servicebus
:
Äldre egenskaper | Moderna egenskaper |
---|---|
spring.cloud.azure.resource-group | spring.cloud.azure.servicebus.resource.resource-group |
spring.cloud.azure.servicebus.transport-type | spring.cloud.azure.servicebus.client.transport-type |
spring.cloud.azure.servicebus.retry-options.retry-mode | spring.cloud.azure.servicebus.retry.mode |
spring.cloud.azure.servicebus.retry-options.max-retries | spring.cloud.azure.servicebus.retry.exponential.max-retries eller spring.cloud.azure.servicebus.retry.fixed.max-retries, bör konfigureras beroende på spring.cloud.azure.servicebus.retry.mode=fixed eller exponentialential |
spring.cloud.azure.servicebus.retry-options.delay | spring.cloud.azure.servicebus.retry.exponential.base-delay eller spring.cloud.azure.servicebus.retry.fixed.delay, bör konfigureras beroende på spring.cloud.azure.servicebus.retry.mode=fixed eller exponentiellt |
spring.cloud.azure.servicebus.retry-options.max-delay | spring.cloud.azure.servicebus.retry.exponential.max-delay |
spring.cloud.azure.servicebus.retry-options.try-timeout | spring.cloud.azure.servicebus.retry.try-timeout |
API-ändringar
- Släpp
ServiceBusQueueOperation
ochServiceBusTopicOperation
med den prenumererande funktionen flyttad till klassenServiceBusMessageListenerContainer
och den sändande funktionen flyttades tillServiceBusTemplate
. - Släpp
ServiceBusQueueInboundChannelAdapter
ochServiceBusTopicInboundChannelAdapter
och flytta funktionen för att lyssna på en Service Bus-kö/ämnesentitet till ServiceBusInboundChannelAdapter. - Ändra konstruktorn från
ServiceBusQueueInboundChannelAdapter(String, SubscribeByGroupOperation, String)
tillServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer)
ochServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode)
. - Ändra konstruktorn från
ServiceBusTopicInboundChannelAdapter(String, SubscribeByGroupOperation, String)
tillServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer)
ochServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode)
. - Släpp API:er
ServiceBusQueueOperation#setCheckpointConfig
ochServiceBusTopicOperation#setCheckpointConfig
. Om du vill ange kontrollpunktskonfigurationen för det inkommande kanalkortet kan användarna anropa metodenServiceBusContainerProperties#setAutoComplete
i stället. Om du vill inaktivera läget för automatisk komplettering motsvararMANUAL
det kontrollpunktsläget och för att aktivera det utlösesRECORD
läget. - Släpp API:er
ServiceBusQueueOperatio#setClientConfig
ochServiceBusTopicOperation#setClientConfig
. För att konfigurera den underliggandeServiceBusProcessorClient
som används av det inkommande kanalkortet kan användarna användaServiceBusContainerProperties
i stället. - Släpp
CompletableFuture
supporten iServiceBusTemplate
ochDefaultMessageHandler
, iReactor
stället. - Lägg till nytt API för
ServiceBusTemplate#setDefaultEntityType
för att ange entitetstypen, vilket krävs när ingen bönaPropertiesSupplier<String, ProducerProperties>
anges förProducerProperties#entityType
. - Släpp meddelanderubriken
AzureHeaders.RAW_ID
. AnvändServiceBusMessageHeaders.MESSAGE_ID
i stället.
I följande tabell visas klassmappningarna från azure-spring-cloud-starter-servicebus
till spring-cloud-azure-starter-integration-servicebus
:
Äldre klass | Modern klass |
---|---|
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 |
Exempelkodfragment
ServiceBusInboundChannelAdapter
exempelkod:Äldre kod för användning
ServiceBusQueueInboundChannelAdapter
ellerServiceBusTopicInboundChannelAdapter
:public class Demo { @Bean public ServiceBusQueueInboundChannelAdapter queueMessageChannelAdapter( @Qualifier("INPUT_CHANNEL_NAME") MessageChannel inputChannel, ServiceBusQueueOperation queueOperation) { queueOperation.setCheckpointConfig(CheckpointConfig.builder().checkpointMode(CheckpointMode.MANUAL).build()); ServiceBusQueueInboundChannelAdapter adapter = new ServiceBusQueueInboundChannelAdapter("QUEUE_NAME", queueOperation); adapter.setOutputChannel(inputChannel); return adapter; } @Bean public ServiceBusTopicInboundChannelAdapter topicMessageChannelAdapter( @Qualifier("INPUT_CHANNEL_NAME") MessageChannel inputChannel, ServiceBusTopicOperation topicOperation) { topicOperation.setCheckpointConfig(CheckpointConfig.builder().checkpointMode(CheckpointMode.MANUAL).build()); ServiceBusTopicInboundChannelAdapter adapter = new ServiceBusTopicInboundChannelAdapter("TOPIC_NAME", topicOperation, "SUBSCRIPTION_NAME"); adapter.setOutputChannel(inputChannel); return adapter; } }
Modern kod:
public class Demo { @Bean("queue-listener-container") public ServiceBusMessageListenerContainer messageListenerContainer(ServiceBusProcessorFactory processorFactory) { ServiceBusContainerProperties containerProperties = new ServiceBusContainerProperties(); containerProperties.setEntityName("QUEUE_NAME"); containerProperties.setAutoComplete(false); return new ServiceBusMessageListenerContainer(processorFactory, containerProperties); } @Bean public ServiceBusInboundChannelAdapter queueMessageChannelAdapter( @Qualifier("INPUT_CHANNEL") MessageChannel inputChannel, @Qualifier("queue-listener-container") ServiceBusMessageListenerContainer listenerContainer) { ServiceBusInboundChannelAdapter adapter = new ServiceBusInboundChannelAdapter(listenerContainer); adapter.setOutputChannel(inputChannel); return adapter; } @Bean("topic-listener-container") public ServiceBusMessageListenerContainer messageListenerContainer(ServiceBusProcessorFactory processorFactory) { ServiceBusContainerProperties containerProperties = new ServiceBusContainerProperties(); containerProperties.setEntityName("TOPIC_NAME"); containerProperties.setSubscriptionName("SUBSCRIPTION_NAME"); containerProperties.setAutoComplete(false); return new ServiceBusMessageListenerContainer(processorFactory, containerProperties); } @Bean public ServiceBusInboundChannelAdapter topicMessageChannelAdapter( @Qualifier("INPUT_CHANNEL") MessageChannel inputChannel, @Qualifier("topic-listener-container") ServiceBusMessageListenerContainer listenerContainer) { ServiceBusInboundChannelAdapter adapter = new ServiceBusInboundChannelAdapter(listenerContainer); adapter.setOutputChannel(inputChannel); return adapter; } }
DefaultMessageHandler
exempelkod:Äldre kod, med kön som exempel:
public class Demo { @Bean @ServiceActivator(inputChannel = "OUTPUT_CHANNEL_NAME") public MessageHandler queueMessageSender(ServiceBusQueueOperation queueOperation) { DefaultMessageHandler handler = new DefaultMessageHandler("QUEUE_NAME", queueOperation); handler.setSendCallback(new ListenableFutureCallback<Void>() { @Override public void onSuccess(Void result) { LOGGER.info("Message was sent successfully."); } @Override public void onFailure(Throwable ex) { LOGGER.info("There was an error sending the message."); } }); return handler; } }
Modern kod:
public class Demo { @Bean @ServiceActivator(inputChannel = "OUTPUT_CHANNEL_NAME") public MessageHandler queueMessageSender(ServiceBusTemplate serviceBusTemplate) { serviceBusTemplate.setDefaultEntityType(ServiceBusEntityType.QUEUE); DefaultMessageHandler handler = new DefaultMessageHandler("QUEUE_NAME", serviceBusTemplate); handler.setSendCallback(new ListenableFutureCallback<Void>() { @Override public void onSuccess(Void result) { LOGGER.info("Message was sent successfully for {}.", "QUEUE_NAME"); } @Override public void onFailure(Throwable ex) { LOGGER.info("There was an error sending the message."); } }); return handler; } }
Från azure-spring-integration-servicebus till spring-integration-azure-servicebus
Den här guiden är avsedd att underlätta migreringen till spring-integration-azure-servicebus från version 2 av azure-spring-integration-servicebus.
- En översikt över ändringarna i 4.0 finns i avsnitten Introduktion och migreringsförmåner .
- Mer information om strategiändringarna i projektnamngivningen finns i avsnittet Namngivningsändringar .
- Mer information om hur du använder en bom för alla Spring Cloud Azure-bibliotek finns i avsnittet BOM .
API-ändringar
- Släpp
ServiceBusQueueOperation
ochServiceBusTopicOperation
med den prenumererande funktionen flyttad till klassenServiceBusMessageListenerContainer
och den sändande funktionen flyttades tillServiceBusTemplate
. - Släpp
ServiceBusQueueInboundChannelAdapter
ochServiceBusTopicInboundChannelAdapter
och flytta funktionen för att lyssna på en Service Bus-kö/ämnesentitet till ServiceBusInboundChannelAdapter. - Ändra konstruktorn från
ServiceBusQueueInboundChannelAdapter(String, SubscribeByGroupOperation, String)
tillServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer)
ochServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode)
. - Ändra konstruktorn från
ServiceBusTopicInboundChannelAdapter(String, SubscribeByGroupOperation, String)
tillServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer)
ochServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode)
. - Släpp API:er
ServiceBusQueueOperation#setCheckpointConfig
ochServiceBusTopicOperation#setCheckpointConfig
. Om du vill ange kontrollpunktskonfigurationen för det inkommande kanalkortet kan användarna anropa metodenServiceBusContainerProperties#setAutoComplete
i stället. Om du vill inaktivera läget för automatisk komplettering motsvararMANUAL
det kontrollpunktsläget och för att aktivera det utlösesRECORD
läget. - Släpp API:er
ServiceBusQueueOperation#setClientConfig
ochServiceBusTopicOperation#setClientConfig
. För att konfigurera den underliggandeServiceBusProcessorClient
som används av det inkommande kanalkortet kan användarna användaServiceBusContainerProperties
i stället. - Släpp
CompletableFuture
supporten iServiceBusTemplate
ochDefaultMessageHandler
, iReactor
stället. - Lägg till nytt API för
ServiceBusTemplate#setDefaultEntityType
för att ange entitetstypen, vilket krävs när ingen bönaPropertiesSupplier<String, ProducerProperties>
anges förProducerProperties#entityType
. - Släpp meddelanderubriken
AzureHeaders.RAW_ID
. AnvändServiceBusMessageHeaders.MESSAGE_ID
i stället.
I följande tabell visas klassmappningarna från azure-spring-integration-servicebus
till spring-integration-azure-servicebus
:
Äldre klass | Modern klass |
---|---|
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 |
Från azure-spring-cloud-starter-storage-queue till spring-cloud-azure-starter-integration-storage-queue
Den här guiden är avsedd att underlätta migreringen till spring-cloud-azure-starter-integration-storage-queue från version 2 av azure-spring-cloud-starter-storage-queue.
Använd följande länkar för allmän information:
- En översikt över ändringarna i 4.0 finns i avsnitten Introduktion och migreringsförmåner .
- Mer information om strategiändringarna i projektnamngivningen finns i avsnittet Namngivningsändringar .
- Mer information om hur du använder en bom för alla Spring Cloud Azure-bibliotek finns i avsnittet BOM .
- Mer information om hur du hanterar autentisering i Spring Cloud Azure 4.0 finns i avsnittet Autentiseringsändringar .
- Information om hur du utnyttjar
spring-boot-properties-migrator
under migreringen finns i avsnittet Konfigurera varje SDK . - Mer information om globala och vanliga konfigurationsändringar finns i avsnittet Globala konfigurationer .
Ändringar i SDK-konfigurationen
Alla namn på konfigurationsegenskapen har ändrat prefixet från spring.cloud.azure.storage
till spring.cloud.azure.storage.queue
.
I följande tabell visas egenskapsmappningarna från azure-spring-cloud-starter-storage-queue
till spring-cloud-azure-starter-integration-storage-queue
:
Äldre egenskaper | Moderna egenskaper |
---|---|
spring.cloud.azure.storage.account | spring.cloud.azure.storage.queue.account-name |
spring.cloud.azure.storage.access-key | spring.cloud.azure.storage.queue.account-key |
spring.cloud.azure.storage.resource-group | spring.cloud.azure.storage.queue.resource.resource-group |
API-ändringar
- Släpp
StorageQueueOperation
och angeStorageQueueTemplate
i stället. - Släpp
checkpoint-mode
konfigurationen iStorageQueueTemplate
, endast stöd förMANUAL
läget.
I följande tabell visas klassmappningarna från azure-spring-cloud-starter-storage-queue
till spring-cloud-azure-starter-integration-storage-queue
.
Äldre klass | Modern klass |
---|---|
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 |
Från azure-spring-integration-storage-queue till spring-integration-azure-storage-queue
Den här guiden är avsedd att underlätta migreringen till spring-integration-azure-storage-queue från version 2 av azure-spring-integration-storage-queue.
- En översikt över ändringarna i 4.0 finns i avsnitten Introduktion och migreringsförmåner .
- Mer information om strategiändringarna i projektnamngivningen finns i avsnittet Namngivningsändringar .
- Mer information om hur du använder en bom för alla Spring Cloud Azure-bibliotek finns i avsnittet BOM .
API-ändringar
- Släpp
StorageQueueOperation
och angeStorageQueueTemplate
i stället. - Släpp
checkpoint-mode
konfigurationen iStorageQueueTemplate
, endast stöd förMANUAL
läget.
I följande tabell visas klassmappningarna från azure-spring-integration-storage-queue
till spring-integration-azure-storage-queue
.
Äldre klass | Modern klass |
---|---|
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 |
Från azure-spring-cloud-stream-binder-eventhubs till spring-cloud-azure-stream-binder-eventhubs
Den här guiden är avsedd att underlätta migreringen till spring-cloud-azure-stream-binder-eventhubs från version 2 av azure-spring-cloud-stream-binder-eventhubs.
Använd följande länkar för allmän information:
- En översikt över ändringarna i 4.0 finns i avsnitten Introduktion och migreringsförmåner .
- Mer information om strategiändringarna i projektnamngivningen finns i avsnittet Namngivningsändringar .
- Mer information om hur du använder en bom för alla Spring Cloud Azure-bibliotek finns i avsnittet BOM .
- Mer information om hur du hanterar autentisering i Spring Cloud Azure 4.0 finns i avsnittet Autentiseringsändringar .
- Information om hur du utnyttjar
spring-boot-properties-migrator
under migreringen finns i avsnittet Konfigurera varje SDK . - Mer information om globala och vanliga konfigurationsändringar finns i avsnittet Globala konfigurationer .
Ändringar i SDK-konfigurationen
Viktigt!
Konfigurationsprefixet har ändrats från spring.cloud.azure.eventhub
till spring.cloud.azure.eventhubs.
Viktigt!
Bindemedelstypen har bytt namn från: eventhub
till eventhubs
.
Ändringar av underordnade poster för följande prefix finns i följande tabell.
I följande tabell visas egenskapsmappningar från azure-spring-cloud-stream-binder-eventhubs
till spring-cloud-azure-stream-binder-eventhubs
:
Äldre egenskaper | Moderna egenskaper |
---|---|
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 |
Kommentar
Konfigurationens start-position
värdetyp ändras också från en uppräkning till com.azure.spring.integration.core.api.StartPosition
en map
av StartPositionProperties
för varje partition. Nyckeln är alltså partitions-ID:t, och värdet innehåller com.azure.spring.cloud.service.eventhubs.properties.StartPositionProperties
egenskaper för offset, sekvensnummer, köad datumtid och huruvida inkluderande.
Exempel på konfigurationsmigrering
Om du vill använda anslutningssträng för autentisering och migrera ovanstående egenskaper visas följande konfigurationsändringar:
Äldre konfiguration:
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 konfiguration:
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
Om du använder säkerhetsobjekt i stället för anslutningssträng ansluter programmet i versioner före 4.0 först till Azure Resource Manager (ARM) med det angivna säkerhetsobjektet och hämtar sedan anslutningssträng för det angivna namnområdet med ARM. Till slut använder programmet den hämtade anslutningssträng för att ansluta till Azure Event Hubs. På så sätt bör det angivna säkerhetsobjektet beviljas rollen Deltagare för att hämta det associerade Azure Event Hubs-namnområdet.
För Azure Spring Apps 4.0 tillhandahåller vi två sätt att utnyttja säkerhetsobjekt för autentisering. En använder fortfarande huvudnamnen för att ansluta till ARM och hämta de anslutningssträng där Contributor
rollen krävs för huvudnamnen. Den andra använder säkerhetsobjekt för att autentisera till Microsoft Entra-ID och sedan ansluta till Azure Event Hubs direkt. I det här fallet Contributor
är rollen inte längre nödvändig, medan andra Data
relaterade roller krävs för meddelandeåtgärder. Information om hur du kontrollerar att säkerhetsobjektet har beviljats tillräcklig behörighet för att komma åt Azure-resursen finns i Auktorisera åtkomst med Microsoft Entra-ID.
För autentisering baserat på ARM, med tjänstens huvudnamn som exempel, visas konfigurationsmigreringen på följande sätt, där den tilldelade rollen inte bör ändras:
Äldre konfiguration:
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}
Kommentar
De värden som tillåts för tenant-id
är: common
, organizations
, consumers
eller klientorganisations-ID. Mer information om dessa värden finns i avsnittet Använd fel slutpunkt (personliga konton och organisationskonton) i Fel AADSTS50020 – Användarkonto från identitetsprovidern finns inte i klientorganisationen. Information om hur du konverterar din app för en klientorganisation finns i Konvertera en klientorganisationsapp till flera klientorganisationer på Microsoft Entra-ID.
Modern konfiguration, egenskaper för Azure-prenumerations-ID och resursgrupp krävs:
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}
Kommentar
De värden som tillåts för tenant-id
är: common
, organizations
, consumers
eller klientorganisations-ID. Mer information om dessa värden finns i avsnittet Använd fel slutpunkt (personliga konton och organisationskonton) i Fel AADSTS50020 – Användarkonto från identitetsprovidern finns inte i klientorganisationen. Information om hur du konverterar din app för en klientorganisation finns i Konvertera en klientorganisationsapp till flera klientorganisationer på Microsoft Entra-ID.
Du kan också migrera för att autentisera och auktorisera med Microsoft Entra-ID direkt utan att göra en omväg till ARM. Se till att ge säkerhetsobjektet nödvändiga Data
roller för meddelandeåtgärder. Konfigurationsexemplen för tjänstens huvudnamn och den hanterade identiteten visas på följande sätt:
Med tjänstens huvudnamn
spring: cloud: azure: credential: client-id: ${AZURE_CLIENT_ID} client-secret: ${AZURE_CLIENT_SECRET} profile: tenant-id: <tenant> eventhubs: namespace: ${EVENTHUB_NAMESPACE}
Kommentar
De värden som tillåts för tenant-id
är: common
, organizations
, consumers
eller klientorganisations-ID. Mer information om dessa värden finns i avsnittet Använd fel slutpunkt (personliga konton och organisationskonton) i Fel AADSTS50020 – Användarkonto från identitetsprovidern finns inte i klientorganisationen. Information om hur du konverterar din app för en klientorganisation finns i Konvertera en klientorganisationsapp till flera klientorganisationer på Microsoft Entra-ID.
Med en hanterad identitet
spring: cloud: azure: credential: managed-identity-enabled: true client-id: ${AZURE_MANAGED_IDENTITY_CLIENT_ID} # Only needed when using a user-assigned managed identity eventhubs: namespace: ${EVENTHUB_NAMESPACE}
API-ändringar
I följande tabell visas klassmappningarna från azure-spring-cloud-stream-binder-eventhubs
till spring-cloud-azure-stream-binder-eventhubs
.
Äldre klass | Modern klass |
---|---|
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 |
Från azure-spring-cloud-stream-binder-servicebus-* till spring-cloud-azure-stream-binder-servicebus
Den här guiden är avsedd att underlätta migreringen till spring-cloud-azure-stream-binder-servicebus från version 2 av azure-spring-cloud-stream-binder-servicebus-queue eller azure-spring-cloud-stream-binder-servicebus-topic.
Använd följande länkar för allmän information:
- En översikt över ändringarna i 4.0 finns i avsnitten Introduktion och migreringsförmåner .
- Mer information om strategiändringarna i projektnamngivningen finns i avsnittet Namngivningsändringar .
- Mer information om hur du använder en bom för alla Spring Cloud Azure-bibliotek finns i avsnittet BOM .
- Mer information om hur du hanterar autentisering i Spring Cloud Azure 4.0 finns i avsnittet Autentiseringsändringar .
- Information om hur du utnyttjar
spring-boot-properties-migrator
under migreringen finns i avsnittet Konfigurera varje SDK . - Mer information om globala och vanliga konfigurationsändringar finns i avsnittet Globala konfigurationer .
Ändringar i SDK-konfigurationen
Viktigt!
Äldre pärm libaries är azure-spring-cloud-stream-binder-servicebus-queue
och azure-spring-cloud-stream-binder-servicebus-topic
, och nu sammanfogas de till en spring-cloud-azure-stream-binder-servicebus
.
Viktigt!
Bindemedelstypen kombineras från servicebus-queue
och servicebus-topic
som servicebus
.
I följande tabell visas de nya konfigurationsegenskaperna spring-cloud-azure-stream-binder-servicebus
för :
Moderna egenskaper | beskrivning |
---|---|
spring.cloud.stream.servicebus.bindings.binding-name.producer.entity-type | Om du använder den sändande funktionen måste du ange entitetstypen, som du kan ange till ämne eller kö. |
I följande tabell visas egenskapsmappningarna från azure-spring-cloud-stream-binder-servicebus-*
till spring-cloud-azure-stream-binder-servicebus
:
Äldre egenskaper | Moderna egenskaper |
---|---|
spring.cloud.azure.resource-group | spring.cloud.azure.servicebus.resource.resource-group |
spring.cloud.azure.servicebus.transport-type | spring.cloud.azure.servicebus.client.transport-type |
spring.cloud.azure.servicebus.retry-options.retry-mode | spring.cloud.azure.servicebus.retry.mode |
spring.cloud.azure.servicebus.retry-options.max-retries | spring.cloud.azure.servicebus.retry.exponential.max-retries eller spring.cloud.azure.servicebus.retry.fixed.max-retries, bör konfigureras beroende på spring.cloud.azure.servicebus.retry.mode=fixed eller exponentialential |
spring.cloud.azure.servicebus.retry-options.delay | spring.cloud.azure.servicebus.retry.exponential.base-delay eller spring.cloud.azure.servicebus.retry.fixed.delay, bör konfigureras beroende på spring.cloud.azure.servicebus.retry.mode=fixed eller exponentiellt |
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.Samtidighet | 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.automatisk komplettering |
spring.cloud.stream.servicebus.topic.bindings.* | spring.cloud.stream.servicebus.bindings.* |
spring.cloud.stream.servicebus.topic.bindings.binding-name.consumer.Samtidighet | 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.automatisk komplettering |
Kommentar
Samtidighetsegenskapen ersätts av maxConcurrentSessions när sessionsEnabled är true
och maxConcurrentCalls när sessionsEnabled är false
.
Kommentar
Aktivering av automatisk komplettering är lika med RECORD
kontrollpunktsläget och i motsatt MANUAL
läge.
Exempel på konfigurationsmigrering
Äldre konfiguration, med kön som exempel:
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 konfiguration:
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
Om du använder säkerhetsobjekt i stället för anslutningssträng ansluter programmet i versioner före 4.0 först till Azure Resource Manager (ARM) med det angivna säkerhetsobjektet och hämtar sedan anslutningssträng för det angivna namnområdet med ARM. Till slut använder programmet den hämtade anslutningssträng för att ansluta till Azure Service Bus. På så sätt bör det angivna säkerhetsobjektet beviljas rollen Deltagare för att hämta det associerade Azure Service Bus-namnområdet.
För Azure Spring Apps 4.0 tillhandahåller vi två sätt att utnyttja säkerhetsobjekt för autentisering. En använder fortfarande huvudnamnen för att ansluta till ARM och hämta de anslutningssträng där Contributor
rollen krävs för huvudnamnen. Den andra använder säkerhetsobjekt för att autentisera till Microsoft Entra-ID och sedan ansluta till Azure Service Bus direkt. I det här fallet Contributor
är rollen inte längre nödvändig, medan andra Data
relaterade roller krävs för meddelandeåtgärder. Information om hur du kontrollerar att säkerhetsobjektet har beviljats tillräcklig behörighet för att komma åt Azure-resursen finns i Auktorisera åtkomst med Microsoft Entra-ID.
För autentisering baserat på ARM, med tjänstens huvudnamn som exempel, visas konfigurationsmigreringen på följande sätt, där den tilldelade rollen inte bör ändras:
Äldre konfiguration:
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}
Kommentar
De värden som tillåts för tenant-id
är: common
, organizations
, consumers
eller klientorganisations-ID. Mer information om dessa värden finns i avsnittet Använd fel slutpunkt (personliga konton och organisationskonton) i Fel AADSTS50020 – Användarkonto från identitetsprovidern finns inte i klientorganisationen. Information om hur du konverterar din app för en klientorganisation finns i Konvertera en klientorganisationsapp till flera klientorganisationer på Microsoft Entra-ID.
Modern konfiguration, egenskaper för Azure-prenumerations-ID och resursgrupp krävs:
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}
Kommentar
De värden som tillåts för tenant-id
är: common
, organizations
, consumers
eller klientorganisations-ID. Mer information om dessa värden finns i avsnittet Använd fel slutpunkt (personliga konton och organisationskonton) i Fel AADSTS50020 – Användarkonto från identitetsprovidern finns inte i klientorganisationen. Information om hur du konverterar din app för en klientorganisation finns i Konvertera en klientorganisationsapp till flera klientorganisationer på Microsoft Entra-ID.
Du kan också migrera för att autentisera och auktorisera med Microsoft Entra-ID direkt utan att göra en omväg till ARM. Se till att ge säkerhetsobjektet nödvändiga Data
roller för meddelandeåtgärder. Konfigurationsexemplen för tjänstens huvudnamn och den hanterade identiteten visas på följande sätt:
Med tjänstens huvudnamn
spring: cloud: azure: credential: client-id: ${AZURE_CLIENT_ID} client-secret: ${AZURE_CLIENT_SECRET} profile: tenant-id: <tenant> servicebus: namespace: ${SERVICEBUS_NAMESPACE}
Kommentar
De värden som tillåts för tenant-id
är: common
, organizations
, consumers
eller klientorganisations-ID. Mer information om dessa värden finns i avsnittet Använd fel slutpunkt (personliga konton och organisationskonton) i Fel AADSTS50020 – Användarkonto från identitetsprovidern finns inte i klientorganisationen. Information om hur du konverterar din app för en klientorganisation finns i Konvertera en klientorganisationsapp till flera klientorganisationer på Microsoft Entra-ID.
Med en hanterad identitet
spring: cloud: azure: credential: managed-identity-enabled: true client-id: ${AZURE_MANAGED_IDENTITY_CLIENT_ID} # Only needed when using a user-assigned managed identity servicebus: namespace: ${SERVICEBUS_NAMESPACE}
API-ändringar
- Släpp meddelanderubriken
AzureHeaders.RAW_ID
. AnvändServiceBusMessageHeaders.MESSAGE_ID
i stället.
I följande tabell visas klassmappningarna från azure-spring-cloud-stream-binder-eventhubs
till spring-cloud-azure-stream-binder-eventhubs
.
Äldre klass | Modern klass |
---|---|
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
Biblioteket com.azure.spring:azure-spring-cloud-messaging
är inte klart för 4.0. Funktionen för lyssnarkommentarer är under omdesign, så anteckningarna @AzureMessageListener
, @AzureMessageListeners
och @EnableAzureMessaging
stöds inte för närvarande.