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.
Införandet
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önster com.azure.spring:azure-spring-boot-*
, com.azure.spring:azure-spring-cloud-*
eller com.azure.spring:azure-spring-integration-*
äldre bibliotek.
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 förutsätts.
Om du är nybörjare på Spring Cloud Azure 4.0-biblioteken kan du läsa utvecklarguiden 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 fö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.
Överblick
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å BOM: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 dependencyManagement
i projektet för att dra nytta av beroendehanteringen.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-dependencies</artifactId>
<version>5.21.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Not
Om du använder Spring Boot 2.x måste du ange spring-cloud-azure-dependencies
version till 4.19.0
.
Mer information om vilken version som används för den här strukturlistan finns i 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 startarna 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 i 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 anger 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 i 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 i 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 i de nya spring-cloud-azure-autoconfigure och spring-cloud-azure-resourcemanager artefakter. |
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 anger användning av Spring Integration med Event Hubs. |
azure-spring-cloud-starter-servicebus | spring-cloud-azure-starter-integration-servicebus | Ändrade namn på artefakten för att lägga till integration , vilket indikerar användning av Spring Integration med Service Bus. |
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 i spring-cloud-azure-stream-binder-servicebus artefakt. |
azure-spring-cloud-stream-binder-servicebus-topic | spring-cloud-azure-stream-binder-servicebus | Den här artefakten har tagits bort med alla funktioner sammanfogade i spring-cloud-azure-stream-binder-servicebus artefakt. |
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.
Not
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 krävs Contributor
roll när funktionen för att skapa resurser automatiskt behövs. Mer information finns i inbyggda Azure-roller.
En länkad autentiseringsuppgift, den DefaultAzureCredential
bönan konfigureras automatiskt som standard och används av alla komponenter om ingen mer autentiseringsinformation har angetts. Mer information finns i avsnittet DefaultAzureCredential i Azure Identity-klientbiblioteket för Java.
Konfigurationsegenskaper
Migrering av egenskaper
Vi har skapat en additional-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.
Not
Vi har ändrat många konfigurationsegenskaper i den här ändringen. Med hjälp av spring-boot-properties-migrator
kan du underlätta migreringen.
Globala konfigurationer
Med den 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 den ä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 Azure-konfigurationsegenskaper för Spring Cloud.
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 hjälpa 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ördelar.
- 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 använder
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 att 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ördelar.
- 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 använder
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
Not
Funktionen för azure.activedirectory.graph-membership-uri
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. Fall 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 klassmappningar 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 hjälpa till vid 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ördelar.
- 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 använder
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 aktivera/inaktivera Azure AD B2C-relaterade funktioner. Standardvärdet är falskt.
I följande tabell visas egenskapsmappningar 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 klassmappningar 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ördelar.
- 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 använder
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 klassmappningar 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 hjälpa migreringen till att 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ördelar.
- 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 använder
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 egenskapsmappningar 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 nyckelvalvshemliga 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 (till exempel egenskaper för
client
,proxy
,retry
,credential
,profile
) och Key Vault (till exempelendpoint
,service-version
). Omspring.cloud.azure.keyvault.secret.property-sources[n].PROPERTY_NAME
inte har konfigurerats användsspring.cloud.azure.keyvault.secret.PROPERTY_NAME
. -
spring.cloud.azure.keyvault.secret.property-sources[n].resource
är specifik för en unik Azure-resurs, så om den inte är konfigurerad får den inget 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 hjälpa till vid 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ördelar.
- 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 använder
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
Konfigurationstypen för spring.jms.servicebus.idle-timeout
ändrats 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 hjälpa 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ördelar.
- 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 använder
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 egenskapsmappningar 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 klassmappningar 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 hjälpa migreringen till att 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ördelar.
- 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 använder
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 egenskapsmappningar 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 klassmappningar 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 hjälpa till vid 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ördelar.
- 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 använder
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
Viktig
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}
Not
Microsoft rekommenderar att du använder det säkraste tillgängliga autentiseringsflödet. Det autentiseringsflöde som beskrivs i den här proceduren, till exempel för databaser, cacheminnen, meddelanden eller AI-tjänster, kräver en mycket hög grad av förtroende för programmet och medför risker som inte finns i andra flöden. Använd endast det här flödet när säkrare alternativ, till exempel hanterade identiteter för lösenordslösa eller nyckellösa anslutningar, inte är genomförbara. För lokala datoråtgärder föredrar du användaridentiteter för lösenordslösa eller nyckellösa anslutningar.
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 klassEventHubsMessageListenerContainer
och den sändande funktionen flyttades tillEventHubsTemplate
. - Byt namn på
EventHubInboundChannelAdapter
somEventHubsInboundChannelAdapter
för att hålla dig konsekvent med tjänsten för Azure Event Hubs. - Ändra konstruktorn från
EventHubInboundChannelAdapter(String, SubscribeByGroupOperation, String)
tillEventHubsInboundChannelAdapter(EventHubsMessageListenerContainer)
ochEventHubsInboundChannelAdapter(EventHubsMessageListenerContainer, ListenerMode)
. - Ändra
CheckpointConfig
instansieringsformat 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 meddelanderubriken från
azure_eventhub_enqueued_time
tillazure_eventhubs_batch_converted_enqueued_time
. - Ändra meddelanderubriken från
azure_eventhub_offset
tillazure_eventhubs_batch_converted_offset
. - Ändra meddelanderubriken från
azure_eventhub_sequence_number
tillazure_eventhubs_batch_converted_sequence_number
. - Ändra meddelanderubriken från
azure_partition_key
tillazure_batch_converted_partition_key
.
- Ändra meddelanderubriken 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
- Det
BATCH
kontrollpunktsläget fungerar bara i batchanvändarläge nu, vilket kan aktiveras genom att skickaListenerMode.BATCH
till EventHubsInboundChannelAdapter-konstruktorn.
I följande tabell visas klassmappningar 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 hjälpa 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ördelar.
- 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 klassEventHubsMessageListenerContainer
och den sändande funktionen flyttades tillEventHubsTemplate
. - Byt namn på
EventHubInboundChannelAdapter
somEventHubsInboundChannelAdapter
för att hålla dig konsekvent med tjänsten för Azure Event Hubs. - Ändra konstruktorn från
EventHubInboundChannelAdapter(String, SubscribeByGroupOperation, String)
tillEventHubsInboundChannelAdapter(EventHubsMessageListenerContainer)
ochEventHubsInboundChannelAdapter(EventHubsMessageListenerContainer, ListenerMode)
. - Ändra
CheckpointConfig
instansieringsformat 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 meddelanderubriken från
azure_eventhub_enqueued_time
tillazure_eventhubs_batch_converted_enqueued_time
. - Ändra meddelanderubriken från
azure_eventhub_offset
tillazure_eventhubs_batch_converted_offset
. - Ändra meddelanderubriken från
azure_eventhub_sequence_number
tillazure_eventhubs_batch_converted_sequence_number
. - Ändra meddelanderubriken från
azure_partition_key
tillazure_batch_converted_partition_key
.
- Ändra meddelanderubriken 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
- Det
BATCH
kontrollpunktsläget fungerar bara i batchanvändarläge nu, vilket kan aktiveras genom att skickaListenerMode.BATCH
till EventHubsInboundChannelAdapter-konstruktorn.
I följande tabell visas klassmappningar 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 hjälpa till vid 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ördelar.
- 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 använder
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 egenskapsmappningar 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=fast eller exponentiell |
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=fast eller exponentiell |
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 klassServiceBusMessageListenerContainer
och den sändande funktionen flyttas 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)
. - Ta bort 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 motsvarar detMANUAL
kontrollpunktsläget och om du aktiverar det utlösesRECORD
läge. - Ta bort API:er
ServiceBusQueueOperatio#setClientConfig
ochServiceBusTopicOperation#setClientConfig
. Om du vill konfigurera den underliggandeServiceBusProcessorClient
som används av det inkommande kanalkortet kan användarna användaServiceBusContainerProperties
i stället. - Släpp
CompletableFuture
stöd iServiceBusTemplate
ochDefaultMessageHandler
, stöd förReactor
i stället. - Lägg till nytt API för
ServiceBusTemplate#setDefaultEntityType
för att ange entitetstypen, vilket krävs när ingen böna förPropertiesSupplier<String, ProducerProperties>
anges förProducerProperties#entityType
. - Ta bort meddelanderubriken
AzureHeaders.RAW_ID
. AnvändServiceBusMessageHeaders.MESSAGE_ID
i stället.
I följande tabell visas klassmappningar 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 att använda
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 hjälpa till vid 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ördelar.
- 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 klassServiceBusMessageListenerContainer
och den sändande funktionen flyttas 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)
. - Ta bort 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 motsvarar detMANUAL
kontrollpunktsläget och om du aktiverar det utlösesRECORD
läge. - Ta bort API:er
ServiceBusQueueOperation#setClientConfig
ochServiceBusTopicOperation#setClientConfig
. Om du vill konfigurera den underliggandeServiceBusProcessorClient
som används av det inkommande kanalkortet kan användarna användaServiceBusContainerProperties
i stället. - Släpp
CompletableFuture
stöd iServiceBusTemplate
ochDefaultMessageHandler
, stöd förReactor
i stället. - Lägg till nytt API för
ServiceBusTemplate#setDefaultEntityType
för att ange entitetstypen, vilket krävs när ingen böna förPropertiesSupplier<String, ProducerProperties>
anges förProducerProperties#entityType
. - Ta bort meddelanderubriken
AzureHeaders.RAW_ID
. AnvändServiceBusMessageHeaders.MESSAGE_ID
i stället.
I följande tabell visas klassmappningar 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 hjälpa till vid 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ördelar.
- 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 använder
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 egenskapsmappningar 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
konfiguration iStorageQueueTemplate
, endast stöd förMANUAL
läge.
I följande tabell visas klassmappningar 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 hjälpa till vid 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ördelar.
- 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
konfiguration iStorageQueueTemplate
, endast stöd förMANUAL
läge.
I följande tabell visas klassmappningar 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 hjälpa till vid 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ördelar.
- 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 använder
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
Viktig
Konfigurationsprefixet har ändrats från spring.cloud.azure.eventhub
till spring.cloud.azure.eventhubs.
Viktig
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 |
Not
Värdetypen för start-position
-konfigurationen ändras också från en uppräkning av com.azure.spring.integration.core.api.StartPosition
till en map
av StartPositionProperties
för varje partition. Nyckeln är alltså partitions-ID:t och värdet är av com.azure.spring.cloud.service.eventhubs.properties.StartPositionProperties
som innehåller egenskaper för offset, sekvensnummer, köad datumtid och huruvida inkluderande.
Exempel på konfigurationsmigrering
Om du vill använda anslutningssträngen 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
Not
Microsoft rekommenderar att du använder det säkraste tillgängliga autentiseringsflödet. Det autentiseringsflöde som beskrivs i den här proceduren, till exempel för databaser, cacheminnen, meddelanden eller AI-tjänster, kräver en mycket hög grad av förtroende för programmet och medför risker som inte finns i andra flöden. Använd endast det här flödet när säkrare alternativ, till exempel hanterade identiteter för lösenordslösa eller nyckellösa anslutningar, inte är genomförbara. För lokala datoråtgärder föredrar du användaridentiteter för lösenordslösa eller nyckellösa anslutningar.
Om du använder säkerhetsobjekt i stället för anslutningssträngar 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ängen för det angivna namnområdet med ARM. Till slut använder programmet den hämtade anslutningssträngen för att ansluta till Azure Event Hubs. På så sätt bör det angivna säkerhetsobjektet beviljas med deltagare roll 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 anslutningssträngarna där den 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 är den Contributor
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}
Not
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 Used the wrong endpoint (personal and organization accounts) i Error AADSTS50020 – Användarkonto från identitetsprovidern finns inte i klientorganisationen. Information om hur du konverterar din app för en klientorganisation finns i Konvertera enklientapp 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}
Not
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 Used the wrong endpoint (personal and organization accounts) i Error AADSTS50020 – Användarkonto från identitetsprovidern finns inte i klientorganisationen. Information om hur du konverterar din app för en klientorganisation finns i Konvertera enklientapp 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 bevilja 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}
Not
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 Used the wrong endpoint (personal and organization accounts) i Error AADSTS50020 – Användarkonto från identitetsprovidern finns inte i klientorganisationen. Information om hur du konverterar din app för en klientorganisation finns i Konvertera enklientapp 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 klassmappningar 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ördelar.
- 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 använder
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
Viktig
Äldre binder-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
.
Viktig
Bindemedelstypen kombineras från servicebus-queue
och servicebus-topic
som servicebus
.
I följande tabell visas de nya konfigurationsegenskaperna för spring-cloud-azure-stream-binder-servicebus
:
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 egenskapsmappningar 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=fast eller exponentiell |
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=fast eller exponentiell |
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.kontrollpunktsläge | spring.cloud.stream.servicebus.bindings.binding-name.consumer.slutför automatiskt |
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.kontrollpunktsläge | spring.cloud.stream.servicebus.bindings.binding-name.consumer.slutför automatiskt |
Not
Samtidighetsegenskapen ersätts av maxConcurrentSessions när sessionsEnabled är true
och maxConcurrentCalls när sessionsEnabled är false
.
Not
Aktivering av automatisk komplettering är lika med RECORD
kontrollpunktsläge och tvärtom 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
Not
Microsoft rekommenderar att du använder det säkraste tillgängliga autentiseringsflödet. Det autentiseringsflöde som beskrivs i den här proceduren, till exempel för databaser, cacheminnen, meddelanden eller AI-tjänster, kräver en mycket hög grad av förtroende för programmet och medför risker som inte finns i andra flöden. Använd endast det här flödet när säkrare alternativ, till exempel hanterade identiteter för lösenordslösa eller nyckellösa anslutningar, inte är genomförbara. För lokala datoråtgärder föredrar du användaridentiteter för lösenordslösa eller nyckellösa anslutningar.
Om du använder säkerhetsobjekt i stället för anslutningssträngar 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ängen för det angivna namnområdet med ARM. Till slut använder programmet den hämtade anslutningssträngen för att ansluta till Azure Service Bus. På så sätt bör det angivna säkerhetsobjektet beviljas med 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 anslutningssträngarna där den 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 är den Contributor
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}
Not
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 Used the wrong endpoint (personal and organization accounts) i Error AADSTS50020 – Användarkonto från identitetsprovidern finns inte i klientorganisationen. Information om hur du konverterar din app för en klientorganisation finns i Konvertera enklientapp 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}
Not
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 Used the wrong endpoint (personal and organization accounts) i Error AADSTS50020 – Användarkonto från identitetsprovidern finns inte i klientorganisationen. Information om hur du konverterar din app för en klientorganisation finns i Konvertera enklientapp 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 bevilja 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}
Not
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 Used the wrong endpoint (personal and organization accounts) i Error AADSTS50020 – Användarkonto från identitetsprovidern finns inte i klientorganisationen. Information om hur du konverterar din app för en klientorganisation finns i Konvertera enklientapp 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
- Ta bort meddelanderubriken
AzureHeaders.RAW_ID
. AnvändServiceBusMessageHeaders.MESSAGE_ID
i stället.
I följande tabell visas klassmappningar 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
Det com.azure.spring:azure-spring-cloud-messaging
biblioteket är inte redo för 4.0. Funktionen för lyssnarkommentarer är under omdesign, så @AzureMessageListener
, @AzureMessageListeners
och @EnableAzureMessaging
anteckningar stöds inte för närvarande.