Migratiehandleiding voor Spring Cloud Azure 4.0
Deze handleiding helpt bij de migratie naar Spring Cloud Azure 4.0 vanuit verouderde Azure Spring-bibliotheken.
Inleiding
We roepen bibliotheken aan waarvan de groeps-id en artefact-id het patroon com.azure.spring:spring-cloud-azure-*
volgen van de moderne bibliotheken, en bibliotheken met patroon com.azure.spring:azure-spring-boot-*
, com.azure.spring:azure-spring-cloud-*
of com.azure.spring:azure-spring-integration-*
de verouderde bibliotheken.
Deze handleiding richt zich op vergelijkingen naast elkaar voor vergelijkbare configuraties tussen de moderne en verouderde bibliotheken.
Bekendheid met com.azure.spring:azure-spring-boot-*
of com.azure.spring:azure-spring-cloud-*
com.azure.spring:azure-spring-integration-*
pakket wordt verondersteld.
Als u geen gebruik hebt gemaakt van de Spring Cloud Azure 4.0-bibliotheken, raadpleegt u de Ontwikkelaarshandleiding voor Spring Cloud Azure in plaats van deze handleiding.
Migratievoordelen
Een natuurlijke vraag die u moet stellen bij het overwegen of u een nieuwe versie of bibliotheek wilt gebruiken, zijn de voordelen. Naarmate Azure is ontwikkeld en door een diversere groep ontwikkelaars is omarmd, hebben we ons gericht op het leren van de patronen en procedures om de productiviteit van ontwikkelaars te ondersteunen en om inzicht te krijgen in de hiaten die de Spring Cloud Azure-bibliotheken hebben.
Er zijn verschillende gebieden van consistente feedback die wordt uitgedrukt in de Spring Cloud Azure-bibliotheken. Het belangrijkste is dat de bibliotheken voor verschillende Azure-services de volledige set configuraties niet hebben ingeschakeld. Bovendien maakte de inconsistentie van projectnaamgeving, artefact-id's, versies en configuraties de leercurve steil.
Om de ontwikkelervaring in Spring Cloud Azure-bibliotheken te verbeteren, is er een set ontwerprichtlijnen geïntroduceerd om ervoor te zorgen dat Spring Cloud Azure-bibliotheken een natuurlijk en idiomatisch gevoel hebben met betrekking tot het Spring-ecosysteem. Meer informatie is beschikbaar in het ontwerpdocument voor degenen die geïnteresseerd zijn.
Spring Cloud Azure 4.0 biedt de gedeelde ervaring voor bibliotheken die zijn geïntegreerd met verschillende Spring-projecten, bijvoorbeeld Spring Boot, Spring Integration, Spring Cloud Stream, enzovoort. De gedeelde ervaring omvat:
- Een geïntegreerde BOM om alle Spring Cloud Azure 4.0-bibliotheken op te nemen.
- Een consistente naamconventie voor artefacten.
- Een uniforme manier om referentie-, proxy-, nieuwe pogingen, cloudomgeving- en transportlaaginstellingen te configureren.
- Ondersteuning voor alle verificatiemethoden die een Azure-service of Azure Service SDK ondersteunt.
Overzicht
Deze migratiehandleiding bestaat uit de volgende secties:
- Naamgevingswijzigingen voor Spring Cloud Azure 4.0
- Wijzigingen in artefacten: hernoemd/toegevoegd/verwijderd
- Afhankelijkheidswijzigingen
- Verificatiewijzigingen
- Configuratie-eigenschappen
- WIJZIGINGEN die fouten veroorzaken in de API
- Bibliotheekwijzigingen
Naamgevingswijzigingen
Er is nooit een consistente of officiële naam geweest om alle Spring Cloud Azure-bibliotheken aan te roepen. Sommige van hen werden gebeld Azure Spring Boot
en sommige van hen Spring on Azure
. Sinds 4.0 zijn we begonnen met het gebruik van de projectnaam Spring Cloud Azure
om alle Azure Spring-bibliotheken weer te geven.
Stuklijst
We hebben vroeger twee BOM's verzonden voor onze bibliotheken, de azure-spring-boot-bom
en azure-spring-cloud-dependencies
, maar we hebben deze twee BOM's gecombineerd tot één BOM sinds 4.0, de spring-cloud-azure-dependencies
. Voeg een vermelding toe in de dependencyManagement
sectie van uw project om te profiteren van het afhankelijkheidsbeheer.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-dependencies</artifactId>
<version>4.14.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Notitie
Als u Spring Boot 3.x gebruikt, moet u de spring-cloud-azure-dependencies
versie instellen op 5.8.0
.
Zie welke versie van Spring Cloud Azure moet ik gebruiken voor meer informatie over de spring-cloud-azure-dependencies
versie.
Wijzigingen in artefacten: hernoemd/toegevoegd/verwijderd
Groeps-id's zijn hetzelfde voor moderne en verouderde Spring Cloud Azure-bibliotheken. Ze zijn allemaal com.azure.spring
. Artefact-id's voor de moderne Spring Cloud Azure-bibliotheken zijn gewijzigd. Volgens welk Spring-project het behoort, Spring Boot, Spring Integration of Spring Cloud Stream, kan spring-cloud-azure-starter-[service]
het patroon artefact-id's zijn, spring-integration-azure-[service]
of spring-cloud-azure-stream-binder-[service]
. De verouderde starters voor elk item hebben een artefact-id volgens het patroon azure-spring-*
. Dit biedt een snelle en toegankelijke manier om in één oogopslag te begrijpen of u moderne of verouderde starters gebruikt.
Tijdens het ontwikkelen van Spring Cloud Azure 4.0 hebben we enkele artefacten hernoemd om ze de nieuwe naamconventies te laten volgen, enkele artefacten verwijderd, zodat de functionaliteit kan worden geplaatst in een geschikter artefact en enkele nieuwe artefacten toegevoegd om bepaalde scenario's beter te kunnen gebruiken.
In de volgende tabel ziet u de toewijzingen tussen de verouderde artefact-id en de id van het moderne artefact:
Verouderde artefact-id | Moderne artefact-id | Beschrijving |
---|---|---|
azure-spring-boot-starter | spring-cloud-azure-starter | Dit artefact is verwijderd met alle functionaliteit die wordt samengevoegd met het nieuwe spring-cloud-azure-starter artefact. |
azure-spring-boot-starter-active-directory | spring-cloud-azure-starter-active-directory | De naam van het artefact is gewijzigd. |
azure-spring-boot-starter-active-directory-b2c | spring-cloud-azure-starter-active-directory-b2c | De naam van het artefact is gewijzigd. |
azure-spring-boot-starter-cosmos | spring-cloud-azure-starter-data-cosmos | De naam van het artefact dat moet worden toegevoegd data , wat aangeeft met Spring Data Azure Cosmos DB. |
azure-spring-boot-starter-keyvault-certificates | niet van toepassing | Niet opgenomen in deze release, maar wordt ondersteund in een latere versie. |
azure-spring-boot-starter-keyvault-secrets | spring-cloud-azure-starter-keyvault-secrets | De naam van het artefact is gewijzigd. |
azure-spring-boot-starter-servicebus-jms | spring-cloud-azure-starter-servicebus-jms | De naam van het artefact is gewijzigd. |
azure-spring-boot-starter-storage | spring-cloud-azure-starter-storage-blob spring-cloud-azure-starter-storage-file-share |
Het verouderde artefact bevat de functionaliteit van zowel storage-blob als bestandsshare. Het is gepliceerd in twee afzonderlijke artefacten in 4.0, spring-cloud-azure-starter-storage-blob en spring-cloud-azure-starter-storage-file-share. |
azure-spring-boot | niet van toepassing | Dit artefact is verwijderd met alle functionaliteit die wordt samengevoegd met het nieuwe spring-cloud-azure-autoconfigure artefact. |
azure-spring-cloud-autoconfigure | niet van toepassing | Dit artefact is verwijderd met alle functionaliteit die wordt samengevoegd met het nieuwe spring-cloud-azure-autoconfigure artefact. |
azure-spring-cloud-context | niet van toepassing | Dit artefact is verwijderd met alle functionaliteit die wordt samengevoegd met de nieuwe spring-cloud-azure-autoconfigure artefacten.spring-cloud-azure-resourcemanager |
azure-spring-cloud-messaging | spring-messaging-azure | De aantekening van de berichtenlistener is verwijderd. |
azure-spring-cloud-starter-cache | niet van toepassing | Dit artefact is verwijderd, voor het gebruik van redis, voegt u spring-boot-starter-data-redis, spring-boot-starter-cache, spring-cloud-azure-resourcemanager en spring-cloud-azure-starter toe. Zie de ondersteuning voor Spring Cloud Azure Redis voor meer informatie over gebruik. |
azure-spring-cloud-starter-eventhubs-kafka | niet van toepassing | Dit artefact is verwijderd, voor het gebruik van kafka, voegt u spring kafka, spring-cloud-azure-resourcemanager en spring-cloud-azure-starter toe. Zie de ondersteuning voor Spring Cloud Azure Kafka voor meer informatie over gebruik. |
azure-spring-cloud-starter-eventhubs | spring-cloud-azure-starter-integration-eventhubs | Wijzig de naam van het artefact dat u wilt toevoegen integration , wat aangeeft dat u Spring Integration gebruikt met Event Hubs. |
azure-spring-cloud-starter-servicebus | spring-cloud-azure-starter-integration-servicebus | Wijzig de naam van het artefact dat u wilt toevoegen integration , wat aangeeft dat u Spring Integration gebruikt met Service Bus. |
azure-spring-cloud-starter-storage-queue | spring-cloud-azure-starter-integration-storage-queue | De naam van het artefact dat moet worden toegevoegd integration , wat aangeeft dat Spring Integration met Storage Queue wordt gebruikt. |
azure-spring-cloud-storage | niet van toepassing | Dit artefact is verwijderd met alle functies die zijn samengevoegd met het nieuwe spring-cloud-azure-autoconfigure artefact. |
azure-spring-cloud-stream-binder-eventhubs | spring-cloud-azure-stream-binder-eventhubs | Dit artefact is geherstructureerd met behulp van een nieuw ontwerp, voornamelijk spring-cloud-azure-stream-binder-eventhubs en spring-cloud-azure-stream-binder-eventhubs-core . |
azure-spring-cloud-stream-binder-service-core | spring-cloud-azure-stream-binder-servicebus-core | De naam van het artefact is gewijzigd. |
azure-spring-cloud-stream-binder-servicebus-queue | spring-cloud-azure-stream-binder-servicebus | Dit artefact is verwijderd met alle functionaliteit die in het spring-cloud-azure-stream-binder-servicebus artefact wordt samengevoegd. |
azure-spring-cloud-stream-binder-servicebus-topic | spring-cloud-azure-stream-binder-servicebus | Dit artefact is verwijderd met alle functionaliteit die in het spring-cloud-azure-stream-binder-servicebus artefact wordt samengevoegd. |
azure-spring-integration-core | spring-integration-azure-core | De naam van het artefact is gewijzigd. |
azure-spring-integration-eventhubs | spring-integration-azure-eventhubs | Wijzig de naam van het artefact. |
azure-spring-integration-servicebus | spring-integration-azure-servicebus | Wijzig de naam van het artefact. |
azure-spring-integration-storage-queue | spring-integration-azure-storage-queue | Wijzig de naam van het artefact. |
niet van toepassing | spring-cloud-azure-actuator | Het zojuist toegevoegde Spring Cloud Azure Actuator-artefact. |
niet van toepassing | spring-cloud-azure-actuator-autoconfigure | Het zojuist toegevoegde Spring Cloud Azure Actuator AutoConfigure-artefact, inclusief automatische configuratie voor actuator. |
niet van toepassing | spring-cloud-azure-autoconfigure | Nieuw toegevoegd Spring Cloud Azure AutoConfigure-artefact, inclusief alle automatische configuratie voor SDK-clients, Spring Security-ondersteuning, Spring Data-ondersteuning en Spring Integration-ondersteuning. |
niet van toepassing | spring-cloud-azure-core | Nieuw toegevoegd Spring Cloud Azure Core-artefact, inclusief alle kernfunctionaliteit. |
niet van toepassing | spring-cloud-azure-resourcemanager | Nieuw toegevoegd Resource Manager-artefact. Het is de Core-bibliotheek met behulp van Azure Resource Manager om metagegevens te lezen en resources te maken. |
niet van toepassing | spring-cloud-azure-service | Nieuw toegevoegd Spring Cloud Azure Service-artefact, inclusief abstracties voor Azure-services. |
niet van toepassing | spring-cloud-azure-starter-appconfiguration | Nieuw toegevoegd starter voor het gebruik van Azure-app Configuration SDK-client. |
niet van toepassing | spring-cloud-azure-starter-cosmos | Nieuw toegevoegd starter voor het gebruik van de Azure Cosmos DB SDK-client. |
niet van toepassing | spring-cloud-azure-starter-eventhubs | Nieuw toegevoegd starter voor het gebruik van de Azure Event Hubs SDK-client. |
niet van toepassing | spring-cloud-azure-starter-servicebus | Nieuw toegevoegd starter voor het gebruik van de Azure Service Bus SDK-client. |
niet van toepassing | spring-cloud-azure-starter-storage-blob | Nieuw toegevoegd starter voor het gebruik van de Azure Storage Blob SDK-client. |
niet van toepassing | spring-cloud-azure-starter-storage-file-share | Nieuw toegevoegd starter voor het gebruik van de Azure Storage File Share SDK-client. |
niet van toepassing | spring-cloud-azure-starter-storage-queue | Nieuw toegevoegd starter voor het gebruik van de Azure Storage Queue SDK-client. |
niet van toepassing | spring-cloud-azure-starter-stream-eventhubs | Nieuw toegevoegd starter voor het gebruik van Azure Event Hubs Spring Cloud Stream Binder. |
niet van toepassing | spring-cloud-azure-starter-stream-servicebus | Nieuw toegevoegd starter voor het gebruik van Azure Service Bus Spring Cloud Stream Binder |
niet van toepassing | spring-cloud-azure-stream-binder-eventhubs-core | Nieuw toegevoegd Spring Cloud Stream-kernartefact voor Azure Event Hubs. |
Afhankelijkheden wijzigen
Sommige onnodige afhankelijkheden zijn opgenomen in de verouderde artefacten, die we hebben verwijderd in de moderne Spring Cloud Azure 4.0-bibliotheken. Zorg ervoor dat u de verwijderde afhankelijkheden handmatig toevoegt aan uw project om crashes te voorkomen.
Bibliotheken met afhankelijkheidswijzigingen zijn onder andere:
- spring-cloud-azure-starter
- spring-cloud-azure-starter-active-directory
- spring-cloud-azure-starter-active-directory-b2c
Verificatiewijzigingen
Spring Cloud Azure 4.0 ondersteunt alle verificatiemethoden die door elke Azure Service SDK worden ondersteund. Hiermee kunt u een globale tokenreferentie configureren en de tokenreferenties opgeven op elk serviceniveau. Maar een referentie is niet vereist om Spring Cloud Azure 4.0 te configureren, omdat deze de referentie kan toepassen die is opgeslagen in een lokale ontwikkelomgeving of beheerde identiteit in Azure Services. Zorg ervoor dat de principal voldoende machtigingen heeft gekregen voor toegang tot de Azure-doelbronnen.
Notitie
Wanneer u rollen toewijst aan de beveiligingsprinciplen om te communiceren met Azure Messaging-services, zijn de gerelateerde rollen vereist voor het Data
uitvoeren van berichtenbewerkingen. Voor Azure Spring Apps Stream Event Hubs/Service Bus Binder-bibliotheken Contributor
is een rol vereist wanneer de functie voor het automatisch maken van resources nodig is. Zie Ingebouwde rollen in Azure voor meer informatie.
Een gekoppelde referentie, de DefaultAzureCredential
bean is standaard automatisch geconfigureerd en wordt gebruikt door alle onderdelen als er geen verificatiegegevens meer zijn opgegeven. Zie de sectie DefaultAzureCredential van de Azure Identity-clientbibliotheek voor Java voor meer informatie.
Configuratie-eigenschappen
Eigenschappenmigratie
We hebben een extra spring-configuration-metadata.json-bestand gemaakt om de migratie van eigenschappen soepeler te laten verlopen bij gebruik met spring-boot-properties-migrator
. Voeg eerst de volgende eigenschapsmigratie toe aan uw toepassing:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-properties-migrator</artifactId>
<scope>runtime</scope>
</dependency>
Of als u Gradle gebruikt:
runtime("org.springframework.boot:spring-boot-properties-migrator")
Als u de app uitvoert, worden de eigenschappen geïdentificeerd die niet meer worden beheerd door Spring Cloud Azure. Als er een vervanging is, wordt de eigenschap tijdelijk opnieuw toewijzen met een waarschuwing. Als er geen vervanging is, krijgt u meer informatie in een foutenrapport. In beide gevallen moet de configuratie worden bijgewerkt en moet de afhankelijkheid worden verwijderd zodra u de configuratie hebt bijgewerkt.
Voordat u verdergaat, is het een goed idee om de zoekfunctie van uw IDE te gebruiken om te controleren of u geen van de eigenschappen gebruikt die u in een integratietest hebt gemigreerd.
Notitie
We hebben veel configuratie-eigenschappen in deze wijziging gewijzigd. Door de spring-boot-properties-migrator
migratie te gebruiken, kunt u uw migratie soepel laten verlopen.
Globale configuraties
Met het moderne spring-cloud-azure-starter
model kunt u eigenschappen definiëren die van toepassing zijn op alle Azure SDK's in de naamruimte spring.cloud.azure
. Deze functie is niet ondersteund in de verouderde azure-spring-boot-starter
versie. De globale configuraties kunnen worden onderverdeeld in vijf categorieën, die worden weergegeven in de volgende tabel:
Voorvoegsel | Beschrijving |
---|---|
spring.cloud.azure.client | Hiermee configureert u de transportclients onder elke Azure SDK. |
spring.cloud.azure.credential | Hiermee configureert u hoe u verifieert met Microsoft Entra-id. |
spring.cloud.azure.profile | Hiermee configureert u de Azure-cloudomgeving. |
spring.cloud.azure.proxy | Hiermee configureert u de proxyopties, die van toepassing zijn op alle Azure SDK-clients. |
spring.cloud.azure.retry | Hiermee configureert u de opties voor opnieuw proberen, die van toepassing zijn op alle Azure SDK-clients. De opties voor opnieuw proberen hebben een ondersteund deel van de SDK's, er is geen spring.cloud.azure.cosmos.retry . |
Zie De configuratie-eigenschappen van Spring Cloud Azure voor een volledige lijst met configuraties.
Elke SDK configureren
Gebruik de volgende koppelingen voor meer informatie over de configuratieopties op SDK-niveau:
- Van azure-spring-boot-starter-active-directory naar spring-cloud-azure-starter-active-directory
- Van azure-spring-boot-starter-active-directory-b2c naar spring-cloud-azure-starter-active-directory-b2c
- Van azure-spring-boot-starter-cosmos tot spring-cloud-azure-starter-data-cosmos
- Van azure-spring-boot-starter-keyvault-secrets tot spring-cloud-azure-starter-keyvault-secrets
- Van azure-spring-boot-starter-servicebus-jms naar spring-cloud-azure-starter-servicebus-jms
- Van azure-spring-boot-starter-storage naar spring-cloud-azure-starter-storage-blob
- Van azure-spring-boot-starter-storage naar spring-cloud-azure-starter-storage-file-share
- Van azure-spring-cloud-starter-eventhubs tot spring-cloud-azure-starter-integration-eventhubs
- Van azure-spring-cloud-starter-servicebus tot spring-cloud-azure-starter-integration-servicebus
- Van azure-spring-cloud-starter-storage-queue tot spring-cloud-azure-starter-integration-storage-queue
- Van azure-spring-cloud-stream-binder-eventhubs naar spring-cloud-azure-stream-binder-eventhubs
- Van azure-spring-cloud-stream-binder-servicebus-* tot spring-cloud-azure-stream-binder-servicebus
WIJZIGINGEN die fouten veroorzaken in de API
Gebruik de volgende koppelingen voor meer informatie over api-belangrijke wijzigingen in elke bibliotheek:
- Van azure-spring-boot-starter-active-directory naar spring-cloud-azure-starter-active-directory
- Van azure-spring-boot-starter-active-directory-b2c naar spring-cloud-azure-starter-active-directory-b2c
- Van azure-spring-boot-starter-storage naar spring-cloud-azure-starter-storage-blob
- Van azure-spring-boot-starter-storage naar spring-cloud-azure-starter-storage-file-share
- Van azure-spring-cloud-starter-eventhubs tot spring-cloud-azure-starter-integration-eventhubs
- Van azure-spring-integration-eventhubs tot spring-integration-azure-eventhubs
- Van azure-spring-cloud-starter-servicebus tot spring-cloud-azure-starter-integration-servicebus
- Van azure-spring-integration-servicebus tot spring-integration-azure-servicebus
- Van azure-spring-cloud-starter-storage-queue tot spring-cloud-azure-starter-integration-storage-queue
- Van azure-spring-integration-storage-queue tot spring-integration-azure-storage-queue
- Van azure-spring-cloud-stream-binder-eventhubs naar spring-cloud-azure-stream-binder-eventhubs
- Van azure-spring-cloud-stream-binder-servicebus-* tot spring-cloud-azure-stream-binder-servicebus
Bibliotheekwijzigingen
Belangrijke wijzigingen in elke bibliotheek worden als volgt geïntroduceerd.
Van azure-spring-boot-starter tot spring-cloud-azure-starter
Deze handleiding is bedoeld om u te helpen bij de migratie naar spring-cloud-azure-starter vanaf versie 3 van azure-spring-boot-starter.
Gebruik de volgende koppelingen voor algemene informatie:
- Zie de secties Inleiding en migratievoordelen voor een overzicht van de wijzigingen in 4.0.
- Zie de sectie Naamgevingswijzigingen voor meer informatie over de strategiewijzigingen in de projectnaamgeving.
- Zie de sectie BOM voor meer informatie over het gebruik van één BOM voor alle Spring Cloud Azure-bibliotheken.
- Zie de sectie Verificatiewijzigingen voor meer informatie over het afhandelen van verificatie in Spring Cloud Azure 4.0.
- Zie de sectie Elke SDK configureren voor meer informatie over het gebruik
spring-boot-properties-migrator
tijdens de migratie. - Zie de sectie Algemene configuraties voor meer informatie over de algemene en algemene configuratiewijzigingen.
Afhankelijkheidswijzigingen
Sommige onnodige afhankelijkheden zijn opgenomen in de verouderde artefacten, die we hebben verwijderd in de moderne Spring Cloud Azure 4.0-bibliotheken. Zorg ervoor dat u de verwijderde afhankelijkheden handmatig aan uw project toevoegt om onbedoelde crash te voorkomen.
In de volgende tabel ziet u de verwijderde afhankelijkheden:
Afhankelijkheden verwijderd | Beschrijving |
---|---|
org.springframework.boot:spring-boot-starter-validation | Neem de validatiestarter op als u Hibernate Validator wilt gebruiken. |
Van azure-spring-boot-starter-active-directory naar spring-cloud-azure-starter-active-directory
Deze handleiding is bedoeld om de migratie naar spring-cloud-azure-starter-active-directory te helpen vanaf versie 3 van azure-spring-boot-starter-active-directory.
Gebruik de volgende koppelingen voor algemene informatie:
- Zie de secties Inleiding en migratievoordelen voor een overzicht van de wijzigingen in 4.0.
- Zie de sectie Naamgevingswijzigingen voor meer informatie over de strategiewijzigingen in de projectnaamgeving.
- Zie de sectie BOM voor meer informatie over het gebruik van één BOM voor alle Spring Cloud Azure-bibliotheken.
- Zie de sectie Verificatiewijzigingen voor meer informatie over het afhandelen van verificatie in Spring Cloud Azure 4.0.
- Zie de sectie Elke SDK configureren voor meer informatie over het gebruik
spring-boot-properties-migrator
tijdens de migratie. - Zie de sectie Algemene configuraties voor meer informatie over de algemene en algemene configuratiewijzigingen.
Afhankelijkheidswijzigingen
Sommige onnodige afhankelijkheden in het verouderde artefact zijn verwijderd sinds de moderne Spring Cloud Azure 4.0-bibliotheek. Voeg deze verwijderde afhankelijkheden toe aan uw project om onbedoelde crash te voorkomen.
In de volgende tabel ziet u de verwijderde afhankelijkheden:
Afhankelijkheden verwijderd | Beschrijving |
---|---|
com.fasterxml.jackson.core:jackson-databind | Voeg deze afhankelijkheid indien nodig toe aan uw project. |
io.project reactor.netty:reactor-netty | Voeg deze afhankelijkheid indien nodig toe aan uw project. |
org.springframework.boot:spring-boot-starter-validation | Voeg deze afhankelijkheid indien nodig toe aan uw project. |
org.springframework.boot:spring-boot-starter-webflux | Voeg deze afhankelijkheid indien nodig toe aan uw project. |
SDK-configuratiewijzigingen
Deze sectie bevat de wijzigingen over de toegevoegde, verwijderde en gewijzigde eigenschappen.
- De volgende twee punten zijn het belangrijkste waar u aandacht aan moet besteden:
- Het voorvoegsel van alle configuratie-eigenschappen is gewijzigd van
azure.activedirectory
inspring.cloud.azure.active-directory
. - Er wordt een nieuwe eigenschap
spring.cloud.azure.active-directory.enabled
toegevoegd om gerelateerde functies van Microsoft Entra in of uit te schakelen. De standaardwaarde isfalse
.
In de volgende tabel ziet u de eigenschapstoewijzingen tussen azure-spring-boot-starter-active-directory
en spring-cloud-azure-starter-active-directory
:
Verouderde eigenschappen | Moderne eigenschappen |
---|---|
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 | Raadpleeg de volgende tabel voor meer informatie. |
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-levensduur | spring.cloud.azure.active-directory.jwk-set-cache-levensduur. |
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 |
Het waardetype van de volgende eigenschappen wordt gewijzigd
long
van:Duration
jwt-connect-timeout
jwt-read-timeout
jwk-set-cache-lifespan
jwk-set-cache-refresh-time
.
De volgende eigenschappen worden verwijderd:
- azure.activedirectory.allow-telemetry
- azure.activedirectory.user-group.enable-full-list
- azure.activedirectory.graph-base-uri
- azure.activedirectory.graph-membership-uri
De volgende eigenschappen worden toegevoegd:
- 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
Notitie
De functie van azure.activedirectory.graph-membership-uri
is vervangen door 2 eigenschappen: spring.cloud.azure.active-directory.profile.environment.microsoft-graph-endpoint
en spring.cloud.azure.active-directory.user-group.use-transitive-members
. De eerste eigenschap wordt gebruikt om de hostnaam op te geven en de tweede een vlag voor het gebruik van het URL-pad: v1.0/me/memberOf
of v1.0/me/transitiveMemberOf
.
Hier volgen enkele voorbeelden van migratie:
Voorbeeld 1. Geval 1
Voor verouderd: azure.activedirectory.graph-membership-uri=https://graph.microsoft.com/v1.0/me/memberOf
Voor 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
Voorbeeld 2. Geval 2
Voor verouderd: azure.activedirectory.graph-membership-uri=https://graph.microsoft.com/v1.0/me/transitiveMemberOf
Voor 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-wijzigingen
In de volgende tabel ziet u de klassetoewijzingen van azure-spring-boot-starter-active-directory
naar spring-cloud-azure-starter-active-directory
:
Verouderde klasse | Moderne klasse |
---|---|
com.azure.spring.aad.webapi.AADJwtBearerTokenAuthentication Converter | 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 |
Deze sectie bevat de verwijderde klassen uit azure-spring-boot-starter-active-directory.
Verouderde klasse verwijderd
- com.azure.spring.aad.webapp.AADHandleConditionalAccessFilter
- com.azure.spring.aad.webapi.validator.AADJwtAudienceValidator
- com.azure.spring.aad.webapi.validator.AADJwtClaimValidator
Van azure-spring-boot-starter-active-directory-b2c naar spring-cloud-azure-starter-active-directory-b2c
Deze handleiding is bedoeld om u te helpen bij de migratie naar spring-cloud-azure-starter-active-directory-b2c van versie 3 van azure-spring-boot-starter-active-directory-b2c.
Gebruik de volgende koppelingen voor algemene informatie:
- Zie de secties Inleiding en migratievoordelen voor een overzicht van de wijzigingen in 4.0.
- Zie de sectie Naamgevingswijzigingen voor meer informatie over de strategiewijzigingen in de projectnaamgeving.
- Zie de sectie BOM voor meer informatie over het gebruik van één BOM voor alle Spring Cloud Azure-bibliotheken.
- Zie de sectie Verificatiewijzigingen voor meer informatie over het afhandelen van verificatie in Spring Cloud Azure 4.0.
- Zie de sectie Elke SDK configureren voor meer informatie over het gebruik
spring-boot-properties-migrator
tijdens de migratie. - Zie de sectie Algemene configuraties voor meer informatie over de algemene en algemene configuratiewijzigingen.
Afhankelijkheidswijzigingen
Sommige onnodige afhankelijkheden zijn opgenomen in de verouderde artefacten, die we hebben verwijderd in de moderne Spring Cloud Azure 4.0-bibliotheken. Zorg ervoor dat u de verwijderde afhankelijkheden handmatig aan uw project toevoegt om onbedoelde crash te voorkomen.
In de volgende tabel ziet u de verwijderde afhankelijkheden:
Afhankelijkheden verwijderd | Beschrijving |
---|---|
org.springframework.boot:spring-boot-starter-validation | Neem de validatiestarter op als u Hibernate Validator wilt gebruiken. |
SDK-configuratiewijzigingen
Deze sectie bevat de wijzigingen over de toegevoegde, verwijderde en gewijzigde eigenschappen.
- De volgende twee punten zijn het belangrijkste waar u aandacht aan moet besteden:
- Alle namen van configuratie-eigenschappen hebben het voorvoegsel gewijzigd van
azure.activedirectory.b2c
inspring.cloud.azure.active-directory.b2c
. - Er wordt een nieuwe eigenschap
spring.cloud.azure.active-directory.b2c.enabled
toegevoegd om azure AD B2C-gerelateerde functies toe te staan of uit te schakelen. De standaardwaarde is false.
In de volgende tabel ziet u de eigenschapstoewijzingen van azure-spring-boot-starter-active-directory-b2c
naar spring-cloud-azure-starter-active-directory-b2c
:
Verouderde eigenschappen | Moderne eigenschappen |
---|---|
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-name | spring.cloud.azure.active-directory.b2c.user-name-attribute-name-name |
Eigenschappen verwijderd uit azure-spring-boot-starter-active-directory-b2c:
- azure.activedirectory.b2c.allow-telemetry
- azure.activedirectory.b2c.tenant
Het waardetype van de volgende eigenschappen wordt gewijzigd
long
van:Duration
- jwt-connect-timeout
- jwt-read-timeout
API-wijzigingen
In de volgende tabel ziet u de klassetoewijzingen van azure-spring-boot-starter-active-directory-b2c
naar spring-cloud-azure-starter-active-directory-b2c
:
Verouderde klasse | Moderne klasse |
---|---|
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 |
Van azure-spring-boot-starter-cosmos tot spring-cloud-azure-starter-data-cosmos
Deze handleiding is bedoeld om u te helpen bij de migratie naar spring-cloud-azure-starter-data-cosmos van versie 3 van azure-spring-boot-starter-cosmos.
Gebruik de volgende koppelingen voor algemene informatie:
- Zie de secties Inleiding en migratievoordelen voor een overzicht van de wijzigingen in 4.0.
- Zie de sectie Naamgevingswijzigingen voor meer informatie over de strategiewijzigingen in de projectnaamgeving.
- Zie de sectie BOM voor meer informatie over het gebruik van één BOM voor alle Spring Cloud Azure-bibliotheken.
- Zie de sectie Verificatiewijzigingen voor meer informatie over het afhandelen van verificatie in Spring Cloud Azure 4.0.
- Zie de sectie Elke SDK configureren voor meer informatie over het gebruik
spring-boot-properties-migrator
tijdens de migratie. - Zie de sectie Algemene configuraties voor meer informatie over de algemene en algemene configuratiewijzigingen.
SDK-configuratiewijzigingen
Alle namen van configuratie-eigenschappen hebben het voorvoegsel gewijzigd van azure.cosmos
in spring.cloud.azure.cosmos
.
In de volgende tabel ziet u de klassetoewijzingen van azure-spring-boot-starter-cosmos
naar spring-cloud-azure-starter-data-cosmos
:
Verouderde eigenschappen | Moderne eigenschappen |
---|---|
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 |
Van azure-spring-boot-starter-keyvault-secrets tot spring-cloud-azure-starter-keyvault-secrets
Deze handleiding is bedoeld om u te helpen bij de migratie naar spring-cloud-azure-starter-keyvault-secrets van versie 3 van azure-spring-boot-starter-keyvault-secrets.
Gebruik de volgende koppelingen voor algemene informatie:
- Zie de secties Inleiding en migratievoordelen voor een overzicht van de wijzigingen in 4.0.
- Zie de sectie Naamgevingswijzigingen voor meer informatie over de strategiewijzigingen in de projectnaamgeving.
- Zie de sectie BOM voor meer informatie over het gebruik van één BOM voor alle Spring Cloud Azure-bibliotheken.
- Zie de sectie Verificatiewijzigingen voor meer informatie over het afhandelen van verificatie in Spring Cloud Azure 4.0.
- Zie de sectie Elke SDK configureren voor meer informatie over het gebruik
spring-boot-properties-migrator
tijdens de migratie. - Zie de sectie Algemene configuraties voor meer informatie over de algemene en algemene configuratiewijzigingen.
SDK-configuratiewijzigingen
Deze sectie bevat de wijzigingen over de toegevoegde, verwijderde en gewijzigde eigenschappen.
In de volgende tabel ziet u de eigenschapstoewijzingen van azure-spring-boot-starter-keyvault-secrets
naar spring-cloud-azure-starter-keyvault-secrets
:
Verouderde eigenschappen | Moderne eigenschappen |
---|---|
azure.keyvault.case-sensitive-keys | spring.cloud.azure.keyvault.secret.property-source[n].hoofdlettergevoelig |
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 en spring.cloud.azure.keyvault.secret.property-source-enabled |
azure.keyvault.order | Niet meer ondersteund. Gebruik in plaats daarvan de volgorde in property-source[n] . |
azure.keyvault.refresh-interval | spring.cloud.azure.keyvault.secret.property-source[n].refresh-interval |
azure.keyvault.secret-keys | spring.cloud.azure.keyvault.secret.property-source[n].secret-keys |
azure.keyvault.tenant-id | spring.cloud.azure.keyvault.secret.property-source[n].profile.tenant-id |
azure.keyvault.uri | spring.cloud.azure.keyvault.secret.property-source[n].endpoint |
- Eigenschappen verwijderd uit spring-cloud-azure-starter-keyvault-secrets
azure.keyvault.allow-telemetry azure.keyvault.order
De volgende punten moet u aandacht besteden aan:
- Alle namen van configuratie-eigenschappen hebben het voorvoegsel gewijzigd van
azure.keyvault
inspring.cloud.azure.keyvault.secret
. spring.cloud.azure.keyvault.secret.enabled
wordt gebruikt om alle Key Vault-geheime functies in te schakelen, waaronder het configureren van Key Vault-clientbonen (zoalsSecretClient
en ) en toevoegenKeyVaultPropertySource
ConfigurableEnvironment
.SecretAsyncClient
spring.cloud.azure.keyvault.secret.property-source-enabled
wordt gebruikt om allesKeyVaultPropertySource
in te schakelen. Het wordt pas van kracht wanneerspring.cloud.azure.keyvault.secret.enabled=true
.- Voor algemene Eigenschappen van Azure(zoals , , , ,
credential
)profile
en Key Vault-eigenschappen (zoals ,service-version
).endpoint
retry
proxy
client
Alsspring.cloud.azure.keyvault.secret.property-sources[n].PROPERTY_NAME
dit niet is geconfigureerd,spring.cloud.azure.keyvault.secret.PROPERTY_NAME
wordt deze gebruikt. spring.cloud.azure.keyvault.secret.property-sources[n].resource
is specifiek voor een unieke Azure-resource, dus als deze niet is geconfigureerd, krijgt deze geen waarde van andere locaties.
Van azure-spring-boot-starter-servicebus-jms naar spring-cloud-azure-starter-servicebus-jms
Deze handleiding is bedoeld om u te helpen bij de migratie naar spring-cloud-azure-starter-servicebus-jms van versie 3 van azure-spring-boot-starter-servicebus-jms.
Gebruik de volgende koppelingen voor algemene informatie:
- Zie de secties Inleiding en migratievoordelen voor een overzicht van de wijzigingen in 4.0.
- Zie de sectie Naamgevingswijzigingen voor meer informatie over de strategiewijzigingen in de projectnaamgeving.
- Zie de sectie BOM voor meer informatie over het gebruik van één BOM voor alle Spring Cloud Azure-bibliotheken.
- Zie de sectie Verificatiewijzigingen voor meer informatie over het afhandelen van verificatie in Spring Cloud Azure 4.0.
- Zie de sectie Elke SDK configureren voor meer informatie over het gebruik
spring-boot-properties-migrator
tijdens de migratie. - Zie de sectie Algemene configuraties voor meer informatie over de algemene en algemene configuratiewijzigingen.
SDK-configuratiewijzigingen
Configuratietype voor spring.jms.servicebus.idle-timeout
wijziging van long
(milliseconden) in Duration
patroon voor leesbaarheid.
Van azure-spring-boot-starter-storage naar spring-cloud-azure-starter-storage-blob
Deze handleiding is bedoeld om u te helpen bij de migratie naar spring-cloud-azure-starter-storage-blob van versie 3 van azure-spring-boot-starter-storage.
Gebruik de volgende koppelingen voor algemene informatie:
- Zie de secties Inleiding en migratievoordelen voor een overzicht van de wijzigingen in 4.0.
- Zie de sectie Naamgevingswijzigingen voor meer informatie over de strategiewijzigingen in de projectnaamgeving.
- Zie de sectie BOM voor meer informatie over het gebruik van één BOM voor alle Spring Cloud Azure-bibliotheken.
- Zie de sectie Verificatiewijzigingen voor meer informatie over het afhandelen van verificatie in Spring Cloud Azure 4.0.
- Zie de sectie Elke SDK configureren voor meer informatie over het gebruik
spring-boot-properties-migrator
tijdens de migratie. - Zie de sectie Algemene configuraties voor meer informatie over de algemene en algemene configuratiewijzigingen.
SDK-configuratiewijzigingen
Alle namen van configuratie-eigenschappen hebben het voorvoegsel gewijzigd van azure.storage
in spring.cloud.azure.storage.blob
.
In de volgende tabel ziet u de eigenschapstoewijzingen van azure-spring-boot-starter-storage
naar spring-cloud-azure-starter-storage-blob
:
Verouderde eigenschappen | Moderne eigenschappen |
---|---|
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-wijzigingen
In de volgende tabel ziet u de klassetoewijzingen van azure-spring-boot-starter-storage
naar spring-cloud-azure-starter-storage-blob
:
Verouderde klasse | Moderne klasse |
---|---|
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 |
Van azure-spring-boot-starter-storage naar spring-cloud-azure-starter-storage-file-share
Deze handleiding is bedoeld om u te helpen bij de migratie naar spring-cloud-azure-starter-storage-file-share van versie 3 van azure-spring-boot-starter-storage.
Gebruik de volgende koppelingen voor algemene informatie:
- Zie de secties Inleiding en migratievoordelen voor een overzicht van de wijzigingen in 4.0.
- Zie de sectie Naamgevingswijzigingen voor meer informatie over de strategiewijzigingen in de projectnaamgeving.
- Zie de sectie BOM voor meer informatie over het gebruik van één BOM voor alle Spring Cloud Azure-bibliotheken.
- Zie de sectie Verificatiewijzigingen voor meer informatie over het afhandelen van verificatie in Spring Cloud Azure 4.0.
- Zie de sectie Elke SDK configureren voor meer informatie over het gebruik
spring-boot-properties-migrator
tijdens de migratie. - Zie de sectie Algemene configuraties voor meer informatie over de algemene en algemene configuratiewijzigingen.
SDK-configuratiewijzigingen
Alle namen van configuratie-eigenschappen hebben het voorvoegsel gewijzigd van azure.storage
in spring.cloud.azure.storage.fileshare
.
In de volgende tabel ziet u de eigenschapstoewijzingen van azure-spring-boot-starter-storage
naar spring-cloud-azure-starter-storage-file-share
:
Verouderde eigenschappen | Moderne eigenschappen |
---|---|
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-wijzigingen
In de volgende tabel ziet u de klassetoewijzingen van azure-spring-boot-starter-storage
naar spring-cloud-azure-starter-storage-file-share
:
Verouderde klasse | Moderne klasse |
---|---|
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 |
Van azure-spring-cloud-starter-eventhubs tot spring-cloud-azure-starter-integration-eventhubs
Deze handleiding is bedoeld om u te helpen bij de migratie naar spring-cloud-azure-starter-integration-eventhubs van versie 2 van azure-spring-cloud-starter-eventhubs.
Gebruik de volgende koppelingen voor algemene informatie:
- Zie de secties Inleiding en migratievoordelen voor een overzicht van de wijzigingen in 4.0.
- Zie de sectie Naamgevingswijzigingen voor meer informatie over de strategiewijzigingen in de projectnaamgeving.
- Zie de sectie BOM voor meer informatie over het gebruik van één BOM voor alle Spring Cloud Azure-bibliotheken.
- Zie de sectie Verificatiewijzigingen voor meer informatie over het afhandelen van verificatie in Spring Cloud Azure 4.0.
- Zie de sectie Elke SDK configureren voor meer informatie over het gebruik
spring-boot-properties-migrator
tijdens de migratie. - Zie de sectie Algemene configuraties voor meer informatie over de algemene en algemene configuratiewijzigingen.
SDK-configuratiewijzigingen
Belangrijk
Configuratievoorvoegsel is gewijzigd van spring.cloud.azure.eventhub
in spring.cloud.azure.eventhubs.
Zie de volgende tabellen voor wijzigingen in de onderliggende vermeldingen voor dit voorvoegsel:
In de volgende tabel ziet u eigenschapstoewijzingen van azure-spring-cloud-starter-eventhubs
naar spring-cloud-azure-starter-integration-eventhubs
:
Verouderde eigenschappen | Moderne eigenschappen |
---|---|
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 |
Wijzig bijvoorbeeld van:
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}
in:
spring:
cloud:
azure:
eventhubs:
connection-string: ${AZURE_EVENTHUBS_CONNECTION_STRING}
processor:
checkpoint-store:
container-name: ${AZURE_STORAGE_CONTAINER_NAME}
account-name: ${AZURE_STORAGE_ACCOUNT_NAME}
account-key: ${AZURE_STORAGE_ACCOUNT_KEY}
API-wijzigingen
- Zie de migratiehandleiding voor de migratiehandleiding van de <<bibliotheek migration-azure-spring-cloud-messaging, azure-spring-cloud-messaging, azure-spring-cloud-messaging>> .
- Neerzetten
EventHubOperation
met de abonnementsfunctie verplaatst naar klasseEventHubsMessageListenerContainer
en de verzendende functie is verplaatst naarEventHubsTemplate
. - Wijzig de naam
EventHubInboundChannelAdapter
omEventHubsInboundChannelAdapter
consistent te blijven met de service van Azure Event Hubs. - Wijzig de constructor van
EventHubInboundChannelAdapter(String, SubscribeByGroupOperation, String)
inEventHubsInboundChannelAdapter(EventHubsMessageListenerContainer)
enEventHubsInboundChannelAdapter(EventHubsMessageListenerContainer, ListenerMode)
. - Wijzig
CheckpointConfig
de instantiëringsstijl in de eenvoudige constructor in plaats van de bouwstijl. - Drop-API
EventHubOperation#setCheckpointConfig
. Gebruikers kunnen de methodeEventHubsContainerProperties#setCheckpointConfig
aanroepen om de controlepuntconfiguratie voor de binnenkomende kanaaladapter in te stellen. - Drop-API
EventHubOperation#setBatchConsumerConfig
. Gebruikers kunnen de twee methodenEventHubsContainerProperties#getBatch#setMaxSize
aanroepen enEventHubsContainerProperties#getBatch#setMaxWaitTime
ondertussen de configuratie voor batchverwerking instellen voor de binnenkomende kanaaladapter. - Voor de batchverwerkingsmodus wijzigt u de namen van de berichtkoppen die zijn geconverteerd van berichten in batches.
- Berichtkop wijzigen van
azure_eventhub_enqueued_time
inazure_eventhubs_batch_converted_enqueued_time
. - Berichtkop wijzigen van
azure_eventhub_offset
inazure_eventhubs_batch_converted_offset
. - Berichtkop wijzigen van
azure_eventhub_sequence_number
inazure_eventhubs_batch_converted_sequence_number
. - Berichtkop wijzigen van
azure_partition_key
inazure_batch_converted_partition_key
.
- Berichtkop wijzigen van
- Wanneer u berichten publiceert naar Event Hubs, negeert u alle berichtkoppen die zijn geconverteerd van berichten in batches. Kopteksten zijn onder andere:
- 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
- De
BATCH
controlepuntmodus werkt nu alleen in de batchverwerkingsmodus, die kan worden ingeschakeld door door te gevenListenerMode.BATCH
aan EventHubsInboundChannelAdapter-constructor.
In de volgende tabel ziet u de klassetoewijzingen van azure-spring-cloud-starter-eventhubs
naar spring-cloud-azure-starter-integration-eventhubs
:
Verouderde klasse | Moderne klasse |
---|---|
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 |
Voorbeeldcodefragment
EventHubsInboundChannelAdapter
Voorbeeldcode:Verouderde code:
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; } }
Moderne code:
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
Voorbeeldcode:Verouderde code:
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; } }
Moderne code:
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; } }
Van azure-spring-integration-eventhubs tot spring-integration-azure-eventhubs
Deze handleiding is bedoeld om u te helpen bij de migratie naar spring-integration-azure-eventhubs van versie 2 van azure-spring-integration-eventhubs.
- Zie de secties Inleiding en migratievoordelen voor een overzicht van de wijzigingen in 4.0.
- Zie de sectie Naamgevingswijzigingen voor meer informatie over de strategiewijzigingen in de projectnaamgeving.
- Zie de sectie BOM voor meer informatie over het gebruik van één BOM voor alle Spring Cloud Azure-bibliotheken.
API-wijzigingen
- Neerzetten
EventHubOperation
met de abonnementsfunctie verplaatst naar klasseEventHubsMessageListenerContainer
en de verzendende functie is verplaatst naarEventHubsTemplate
. - Wijzig de naam
EventHubInboundChannelAdapter
omEventHubsInboundChannelAdapter
consistent te blijven met de service van Azure Event Hubs. - Wijzig de constructor van
EventHubInboundChannelAdapter(String, SubscribeByGroupOperation, String)
inEventHubsInboundChannelAdapter(EventHubsMessageListenerContainer)
enEventHubsInboundChannelAdapter(EventHubsMessageListenerContainer, ListenerMode)
. - Wijzig
CheckpointConfig
de instantiëringsstijl in de eenvoudige constructor in plaats van de bouwstijl. - Drop-API
EventHubOperation#setCheckpointConfig
. Gebruikers kunnen de methodeEventHubsContainerProperties#setCheckpointConfig
aanroepen om de controlepuntconfiguratie voor de binnenkomende kanaaladapter in te stellen. - Drop-API
EventHubOperation#setBatchConsumerConfig
. Gebruikers kunnen de twee methodenEventHubsContainerProperties#getBatch#setMaxSize
aanroepen enEventHubsContainerProperties#getBatch#setMaxWaitTime
ondertussen de configuratie voor batchverwerking instellen voor de binnenkomende kanaaladapter. - Voor de batchverwerkingsmodus wijzigt u de namen van de berichtkoppen die zijn geconverteerd van berichten in batches.
- Berichtkop wijzigen van
azure_eventhub_enqueued_time
inazure_eventhubs_batch_converted_enqueued_time
. - Berichtkop wijzigen van
azure_eventhub_offset
inazure_eventhubs_batch_converted_offset
. - Berichtkop wijzigen van
azure_eventhub_sequence_number
inazure_eventhubs_batch_converted_sequence_number
. - Berichtkop wijzigen van
azure_partition_key
inazure_batch_converted_partition_key
.
- Berichtkop wijzigen van
- Wanneer u berichten publiceert naar Event Hubs, negeert u alle berichtkoppen die zijn geconverteerd van berichten in batches. Kopteksten zijn onder andere:
- 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
- De
BATCH
controlepuntmodus werkt nu alleen in de batchverwerkingsmodus, die kan worden ingeschakeld door door te gevenListenerMode.BATCH
aan EventHubsInboundChannelAdapter-constructor.
In de volgende tabel ziet u de klassetoewijzingen van azure-spring-integration-eventhubs
naar spring-integration-azure-eventhubs
:
Verouderde klasse | Moderne klasse |
---|---|
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 |
Van azure-spring-cloud-starter-servicebus tot spring-cloud-azure-starter-integration-servicebus
Deze handleiding is bedoeld om u te helpen bij de migratie naar spring-cloud-azure-starter-integration-servicebus van versie 2 van azure-spring-cloud-starter-servicebus.
Gebruik de volgende koppelingen voor algemene informatie:
- Zie de secties Inleiding en migratievoordelen voor een overzicht van de wijzigingen in 4.0.
- Zie de sectie Naamgevingswijzigingen voor meer informatie over de strategiewijzigingen in de projectnaamgeving.
- Zie de sectie BOM voor meer informatie over het gebruik van één BOM voor alle Spring Cloud Azure-bibliotheken.
- Zie de sectie Verificatiewijzigingen voor meer informatie over het afhandelen van verificatie in Spring Cloud Azure 4.0.
- Zie de sectie Elke SDK configureren voor meer informatie over het gebruik
spring-boot-properties-migrator
tijdens de migratie. - Zie de sectie Algemene configuraties voor meer informatie over de algemene en algemene configuratiewijzigingen.
SDK-configuratiewijzigingen
Voor alle configuratieopties die worden ondersteund spring-cloud-azure-starter-integration-servicebus
, blijft het voorvoegsel ongewijzigd spring.cloud.azure.servicebus
.
In de volgende tabel ziet u de eigenschapstoewijzingen van azure-spring-cloud-starter-servicebus
naar spring-cloud-azure-starter-integration-servicebus
:
Verouderde eigenschappen | Moderne eigenschappen |
---|---|
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 of spring.cloud.azure.servicebus.retry.fixed.max-retries moeten worden geconfigureerd, afhankelijk van spring.cloud.azure.servicebus.retry.mode=fixed of exponential |
spring.cloud.azure.servicebus.retry-options.delay | spring.cloud.azure.servicebus.retry.exponential.base-delay of spring.cloud.azure.servicebus.retry.fixed.delay, moet worden geconfigureerd, afhankelijk van spring.cloud.azure.servicebus.retry.mode=vast of exponentieel |
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-wijzigingen
- Neerzetten
ServiceBusQueueOperation
enServiceBusTopicOperation
met de abonnerende functie verplaatst naar klasseServiceBusMessageListenerContainer
en de verzendende functie is verplaatst naarServiceBusTemplate
. - Verwijder
ServiceBusQueueInboundChannelAdapter
enServiceBusTopicInboundChannelAdapter
verplaats de functionaliteit om naar een Service Bus-wachtrij/onderwerpentiteit te luisteren naar ServiceBusInboundChannelAdapter. - Wijzig de constructor van
ServiceBusQueueInboundChannelAdapter(String, SubscribeByGroupOperation, String)
inServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer)
enServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode)
. - Wijzig de constructor van
ServiceBusTopicInboundChannelAdapter(String, SubscribeByGroupOperation, String)
inServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer)
enServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode)
. - Drop-API's
ServiceBusQueueOperation#setCheckpointConfig
enServiceBusTopicOperation#setCheckpointConfig
. Als u de configuratie van het controlepunt voor de binnenkomende kanaaladapter wilt instellen, kunnen gebruikers in plaats daarvan de methodeServiceBusContainerProperties#setAutoComplete
aanroepen. Als u de modus voor automatisch aanvullen wilt uitschakelen, is deze gelijk aan deMANUAL
controlepuntmodus en wordt de modus geactiveerd om dezeRECORD
in te schakelen. - Drop-API's
ServiceBusQueueOperatio#setClientConfig
enServiceBusTopicOperation#setClientConfig
. Gebruikers kunnen in plaats daarvan de onderliggende gegevensServiceBusProcessorClient
configureren die door de binnenkomende kanaaladapter wordenServiceBusContainerProperties
gebruikt. - Plaats
CompletableFuture
in plaats daarvan ondersteuning inServiceBusTemplate
enDefaultMessageHandler
, ondersteuningReactor
. - Voeg een nieuwe API toe om
ServiceBusTemplate#setDefaultEntityType
het entiteitstype op te geven. Dit is vereist wanneer er geen beanPropertiesSupplier<String, ProducerProperties>
van is opgegeven voor deProducerProperties#entityType
. - Berichtkop wegzetten
AzureHeaders.RAW_ID
. Gebruik in plaats daarvanServiceBusMessageHeaders.MESSAGE_ID
.
In de volgende tabel ziet u de klassetoewijzingen van azure-spring-cloud-starter-servicebus
naar spring-cloud-azure-starter-integration-servicebus
:
Verouderde klasse | Moderne klasse |
---|---|
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 |
Voorbeeldcodefragment
ServiceBusInboundChannelAdapter
Voorbeeldcode:Verouderde code voor het gebruik
ServiceBusQueueInboundChannelAdapter
ofServiceBusTopicInboundChannelAdapter
: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; } }
Moderne code:
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
Voorbeeldcode:Verouderde code, waarbij de wachtrij als voorbeeld wordt gebruikt:
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; } }
Moderne code:
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; } }
Van azure-spring-integration-servicebus tot spring-integration-azure-servicebus
Deze handleiding is bedoeld om u te helpen bij de migratie naar spring-integration-azure-servicebus vanaf versie 2 van azure-spring-integration-servicebus.
- Zie de secties Inleiding en migratievoordelen voor een overzicht van de wijzigingen in 4.0.
- Zie de sectie Naamgevingswijzigingen voor meer informatie over de strategiewijzigingen in de projectnaamgeving.
- Zie de sectie BOM voor meer informatie over het gebruik van één BOM voor alle Spring Cloud Azure-bibliotheken.
API-wijzigingen
- Neerzetten
ServiceBusQueueOperation
enServiceBusTopicOperation
met de abonnerende functie verplaatst naar klasseServiceBusMessageListenerContainer
en de verzendende functie is verplaatst naarServiceBusTemplate
. - Verwijder
ServiceBusQueueInboundChannelAdapter
enServiceBusTopicInboundChannelAdapter
verplaats de functionaliteit om naar een Service Bus-wachtrij/onderwerpentiteit te luisteren naar ServiceBusInboundChannelAdapter. - Wijzig de constructor van
ServiceBusQueueInboundChannelAdapter(String, SubscribeByGroupOperation, String)
inServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer)
enServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode)
. - Wijzig de constructor van
ServiceBusTopicInboundChannelAdapter(String, SubscribeByGroupOperation, String)
inServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer)
enServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode)
. - Drop-API's
ServiceBusQueueOperation#setCheckpointConfig
enServiceBusTopicOperation#setCheckpointConfig
. Als u de configuratie van het controlepunt voor de binnenkomende kanaaladapter wilt instellen, kunnen gebruikers in plaats daarvan de methodeServiceBusContainerProperties#setAutoComplete
aanroepen. Als u de modus voor automatisch aanvullen wilt uitschakelen, is deze gelijk aan deMANUAL
controlepuntmodus en wordt de modus geactiveerd om dezeRECORD
in te schakelen. - Drop-API's
ServiceBusQueueOperation#setClientConfig
enServiceBusTopicOperation#setClientConfig
. Gebruikers kunnen in plaats daarvan de onderliggende gegevensServiceBusProcessorClient
configureren die door de binnenkomende kanaaladapter wordenServiceBusContainerProperties
gebruikt. - Plaats
CompletableFuture
in plaats daarvan ondersteuning inServiceBusTemplate
enDefaultMessageHandler
, ondersteuningReactor
. - Voeg een nieuwe API toe om
ServiceBusTemplate#setDefaultEntityType
het entiteitstype op te geven. Dit is vereist wanneer er geen beanPropertiesSupplier<String, ProducerProperties>
van is opgegeven voor deProducerProperties#entityType
. - Berichtkop wegzetten
AzureHeaders.RAW_ID
. Gebruik in plaats daarvanServiceBusMessageHeaders.MESSAGE_ID
.
In de volgende tabel ziet u de klassetoewijzingen van azure-spring-integration-servicebus
naar spring-integration-azure-servicebus
:
Verouderde klasse | Moderne klasse |
---|---|
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 |
Van azure-spring-cloud-starter-storage-queue tot spring-cloud-azure-starter-integration-storage-queue
Deze handleiding is bedoeld om u te helpen bij de migratie naar spring-cloud-azure-starter-integration-storage-queue vanaf versie 2 van azure-spring-cloud-starter-storage-queue.
Gebruik de volgende koppelingen voor algemene informatie:
- Zie de secties Inleiding en migratievoordelen voor een overzicht van de wijzigingen in 4.0.
- Zie de sectie Naamgevingswijzigingen voor meer informatie over de strategiewijzigingen in de projectnaamgeving.
- Zie de sectie BOM voor meer informatie over het gebruik van één BOM voor alle Spring Cloud Azure-bibliotheken.
- Zie de sectie Verificatiewijzigingen voor meer informatie over het afhandelen van verificatie in Spring Cloud Azure 4.0.
- Zie de sectie Elke SDK configureren voor meer informatie over het gebruik
spring-boot-properties-migrator
tijdens de migratie. - Zie de sectie Algemene configuraties voor meer informatie over de algemene en algemene configuratiewijzigingen.
SDK-configuratiewijzigingen
Alle namen van configuratie-eigenschappen hebben het voorvoegsel gewijzigd van spring.cloud.azure.storage
in spring.cloud.azure.storage.queue
.
In de volgende tabel ziet u de eigenschapstoewijzingen van azure-spring-cloud-starter-storage-queue
naar spring-cloud-azure-starter-integration-storage-queue
:
Verouderde eigenschappen | Moderne eigenschappen |
---|---|
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-wijzigingen
- Zet
StorageQueueOperation
en geefStorageQueueTemplate
in plaats daarvan op. - Drop
checkpoint-mode
configuration inStorageQueueTemplate
, only support theMANUAL
mode.
In de volgende tabel ziet u de klassetoewijzingen van azure-spring-cloud-starter-storage-queue
naar spring-cloud-azure-starter-integration-storage-queue
.
Verouderde klasse | Moderne klasse |
---|---|
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 |
Van azure-spring-integration-storage-queue tot spring-integration-azure-storage-queue
Deze handleiding is bedoeld om u te helpen bij de migratie naar spring-integration-azure-storage-queue vanaf versie 2 van azure-spring-integration-storage-queue.
- Zie de secties Inleiding en migratievoordelen voor een overzicht van de wijzigingen in 4.0.
- Zie de sectie Naamgevingswijzigingen voor meer informatie over de strategiewijzigingen in de projectnaamgeving.
- Zie de sectie BOM voor meer informatie over het gebruik van één BOM voor alle Spring Cloud Azure-bibliotheken.
API-wijzigingen
- Zet
StorageQueueOperation
en geefStorageQueueTemplate
in plaats daarvan op. - Drop
checkpoint-mode
configuration inStorageQueueTemplate
, only support theMANUAL
mode.
In de volgende tabel ziet u de klassetoewijzingen van azure-spring-integration-storage-queue
naar spring-integration-azure-storage-queue
.
Verouderde klasse | Moderne klasse |
---|---|
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 |
Van azure-spring-cloud-stream-binder-eventhubs naar spring-cloud-azure-stream-binder-eventhubs
Deze handleiding is bedoeld om u te helpen bij de migratie naar spring-cloud-azure-stream-binder-eventhubs van versie 2 van azure-spring-cloud-stream-binder-eventhubs.
Gebruik de volgende koppelingen voor algemene informatie:
- Zie de secties Inleiding en migratievoordelen voor een overzicht van de wijzigingen in 4.0.
- Zie de sectie Naamgevingswijzigingen voor meer informatie over de strategiewijzigingen in de projectnaamgeving.
- Zie de sectie BOM voor meer informatie over het gebruik van één BOM voor alle Spring Cloud Azure-bibliotheken.
- Zie de sectie Verificatiewijzigingen voor meer informatie over het afhandelen van verificatie in Spring Cloud Azure 4.0.
- Zie de sectie Elke SDK configureren voor meer informatie over het gebruik
spring-boot-properties-migrator
tijdens de migratie. - Zie de sectie Algemene configuraties voor meer informatie over de algemene en algemene configuratiewijzigingen.
SDK-configuratiewijzigingen
Belangrijk
Configuratievoorvoegsel is gewijzigd van spring.cloud.azure.eventhub
in spring.cloud.azure.eventhubs.
Belangrijk
De naam van het bindertype wordt gewijzigd van: eventhub
in eventhubs
.
Zie de volgende tabel voor wijzigingen in de onderliggende vermeldingen voor het volgende voorvoegsel.
In de volgende tabel ziet u eigenschapstoewijzingen van azure-spring-cloud-stream-binder-eventhubs
naar spring-cloud-azure-stream-binder-eventhubs
:
Verouderde eigenschappen | Moderne eigenschappen |
---|---|
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.bindings.binding-name.consumer.max-batch-size | spring.cloud.stream.eventhubs.bindings.binding-name.consumer.batch.max-size |
spring.cloud.stream.eventhub.bindings.bindings.binding-name.consumer.max-wait-time | spring.cloud.stream.eventhubs.bindings.binding-name.consumer.batch.max-wait-time |
spring.cloud.stream.eventhub.bindings.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.bindings.binding-name.consumer.checkpoint-interval | spring.cloud.stream.eventhubs.bindings.bindings.binding-name.consumer.checkpoint.interval |
spring.cloud.stream.eventhub.bindings.bindings.binding-name.consumer.start-position | spring.cloud.stream.eventhubs.bindings.binding-name.consumer.initial-partition-event-position |
Notitie
Het waardetype van de start-position
configuratie wordt ook gewijzigd van een opsomming in com.azure.spring.integration.core.api.StartPosition
een map
van StartPositionProperties
voor elke partitie. De sleutel is dus de partitie-id en de waarde bevat com.azure.spring.cloud.service.eventhubs.properties.StartPositionProperties
eigenschappen van offset, volgnummer, datum en inclusief.
Voorbeelden van configuratiemigratie
Als u de verbindingsreeks voor verificatie wilt gebruiken en de bovenstaande eigenschappen wilt migreren, worden de configuratiewijzigingen als volgt weergegeven:
Verouderde configuratie:
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
Moderne configuratie:
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
Als u beveiligingsprinciplen gebruikt in plaats van verbindingsreeks s, maakt de toepassing in versies vóór 4.0 eerst verbinding met Azure Resource Manager (ARM) met de opgegeven beveiligingsprincipaal en haalt u vervolgens de verbindingsreeks van de opgegeven naamruimte op met ARM. Uiteindelijk gebruikt de toepassing de opgehaalde verbindingsreeks om verbinding te maken met Azure Event Hubs. Op deze manier moet de opgegeven beveiligingsprincipaal worden verleend met de rol Inzender om de bijbehorende Azure Event Hubs-naamruimte op te halen.
Voor Azure Spring Apps 4.0 bieden we twee manieren om beveiligingsprinciplen voor verificatie te gebruiken. Er wordt nog steeds gebruikgemaakt van de principals om verbinding te maken met ARM en de verbindingsreeks s op te halen waar de Contributor
rol is vereist voor de principals. De andere maakt gebruik van beveiligingsprinciplen om te verifiëren bij Microsoft Entra ID en vervolgens rechtstreeks verbinding te maken met Azure Event Hubs. In dit geval is de Contributor
rol niet meer nodig, terwijl andere Data
gerelateerde rollen vereist zijn voor berichtenbewerkingen. Zie Toegang autoriseren met Microsoft Entra-id om ervoor te zorgen dat aan de beveiligingsprincipaal voldoende machtigingen zijn verleend voor toegang tot de Azure-resource.
Voor verificatie op basis van ARM wordt de volgende configuratiemigratie weergegeven, waarbij de toegewezen rol niet mag worden gewijzigd:
Verouderde configuratie:
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}
Notitie
De toegestane tenant-id
waarden zijn: common
, organizations
, consumers
of de tenant-id. Zie voor meer informatie over deze waarden het verkeerde eindpunt (persoonlijke en organisatieaccounts) van Fout AADSTS50020 - Gebruikersaccount van id-provider bestaat niet in de tenant. Zie De app met één tenant converteren naar meerdere tenants in Microsoft Entra ID voor meer informatie over het converteren van uw app met één tenant.
Moderne configuratie, eigenschappen voor azure-abonnements-id en resourcegroep zijn vereist:
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}
Notitie
De toegestane tenant-id
waarden zijn: common
, organizations
, consumers
of de tenant-id. Zie voor meer informatie over deze waarden het verkeerde eindpunt (persoonlijke en organisatieaccounts) van Fout AADSTS50020 - Gebruikersaccount van id-provider bestaat niet in de tenant. Zie De app met één tenant converteren naar meerdere tenants in Microsoft Entra ID voor meer informatie over het converteren van uw app met één tenant.
U kunt ook rechtstreeks migreren om te verifiëren en autoriseren met Microsoft Entra-id zonder een omleiding naar ARM te maken. Zorg ervoor dat u de beveiligingsprincipaal de benodigde Data
rollen verleent voor berichtenbewerkingen. De configuratievoorbeelden van de service-principal en de beheerde identiteit worden als volgt weergegeven:
Met een service-principal
spring: cloud: azure: credential: client-id: ${AZURE_CLIENT_ID} client-secret: ${AZURE_CLIENT_SECRET} profile: tenant-id: <tenant> eventhubs: namespace: ${EVENTHUB_NAMESPACE}
Notitie
De toegestane tenant-id
waarden zijn: common
, organizations
, consumers
of de tenant-id. Zie voor meer informatie over deze waarden het verkeerde eindpunt (persoonlijke en organisatieaccounts) van Fout AADSTS50020 - Gebruikersaccount van id-provider bestaat niet in de tenant. Zie De app met één tenant converteren naar meerdere tenants in Microsoft Entra ID voor meer informatie over het converteren van uw app met één tenant.
Met een beheerde identiteit
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-wijzigingen
In de volgende tabel ziet u de klassetoewijzingen van azure-spring-cloud-stream-binder-eventhubs
naar spring-cloud-azure-stream-binder-eventhubs
.
Verouderde klasse | Moderne klasse |
---|---|
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 |
Van azure-spring-cloud-stream-binder-servicebus-* tot spring-cloud-azure-stream-binder-servicebus
Deze handleiding is bedoeld om u te helpen bij de migratie naar spring-cloud-azure-stream-binder-servicebus van versie 2 van azure-spring-cloud-stream-binder-servicebus-queue of azure-spring-cloud-stream-binder-servicebus-topic.
Gebruik de volgende koppelingen voor algemene informatie:
- Zie de secties Inleiding en migratievoordelen voor een overzicht van de wijzigingen in 4.0.
- Zie de sectie Naamgevingswijzigingen voor meer informatie over de strategiewijzigingen in de projectnaamgeving.
- Zie de sectie BOM voor meer informatie over het gebruik van één BOM voor alle Spring Cloud Azure-bibliotheken.
- Zie de sectie Verificatiewijzigingen voor meer informatie over het afhandelen van verificatie in Spring Cloud Azure 4.0.
- Zie de sectie Elke SDK configureren voor meer informatie over het gebruik
spring-boot-properties-migrator
tijdens de migratie. - Zie de sectie Algemene configuraties voor meer informatie over de algemene en algemene configuratiewijzigingen.
SDK-configuratiewijzigingen
Belangrijk
Verouderde binder libaries zijn azure-spring-cloud-stream-binder-servicebus-queue
en azure-spring-cloud-stream-binder-servicebus-topic
, en nu worden ze samengevoegd in één spring-cloud-azure-stream-binder-servicebus
.
Belangrijk
Het bindertype wordt gecombineerd van servicebus-queue
en servicebus-topic
als servicebus
.
De volgende tabel bevat de nieuwe configuratie-eigenschappen van spring-cloud-azure-stream-binder-servicebus
:
Moderne eigenschappen | Beschrijving |
---|---|
spring.cloud.stream.servicebus.bindings.binding-name.producer.entity-type | Als u de verzendende functie gebruikt, moet u het entiteitstype instellen, dat u kunt instellen op onderwerp of wachtrij. |
In de volgende tabel ziet u de eigenschapstoewijzingen van azure-spring-cloud-stream-binder-servicebus-*
naar spring-cloud-azure-stream-binder-servicebus
:
Verouderde eigenschappen | Moderne eigenschappen |
---|---|
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 of spring.cloud.azure.servicebus.retry.fixed.max-retries moeten worden geconfigureerd, afhankelijk van spring.cloud.azure.servicebus.retry.mode=fixed of exponential |
spring.cloud.azure.servicebus.retry-options.delay | spring.cloud.azure.servicebus.retry.exponential.base-delay of spring.cloud.azure.servicebus.retry.fixed.delay, moet worden geconfigureerd, afhankelijk van spring.cloud.azure.servicebus.retry.mode=vast of exponentieel |
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.bindings.binding-name.consumer.Concurrency | spring.cloud.stream.servicebus.bindings.binding-name.consumer.max-concurrent-sessions/max-concurrent-calls |
spring.cloud.stream.servicebus.queue.bindings.bindings.binding-name.consumer.controlepuntmodus | spring.cloud.stream.servicebus.bindings.binding-name.consumer.automatisch aanvullen |
spring.cloud.stream.servicebus.topic.bindings.* | spring.cloud.stream.servicebus.bindings.* |
spring.cloud.stream.servicebus.topic.bindings.binding-name.consumer.Concurrency | spring.cloud.stream.servicebus.bindings.binding-name.consumer.max-concurrent-sessions/max-concurrent-calls |
spring.cloud.stream.servicebus.topic.bindings.binding-name.consumer.controlepuntmodus | spring.cloud.stream.servicebus.bindings.binding-name.consumer.automatisch aanvullen |
Notitie
De eigenschap gelijktijdigheid wordt vervangen door de maxConcurrentSessions wanneer sessionsEnabled is true
en de maxConcurrentCalls wanneer sessionsEnabled is false
.
Notitie
Het inschakelen van automatisch aanvullen is gelijk aan RECORD
de controlepuntmodus en omgekeerd de MANUAL
modus.
Voorbeelden van configuratiemigratie
Verouderde configuratie, waarbij de wachtrij als voorbeeld wordt gebruikt:
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
Moderne configuratie:
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
Als u beveiligingsprinciplen gebruikt in plaats van verbindingsreeks s, maakt de toepassing in versies vóór 4.0 eerst verbinding met Azure Resource Manager (ARM) met de opgegeven beveiligingsprincipaal en haalt u vervolgens de verbindingsreeks van de opgegeven naamruimte op met ARM. Uiteindelijk gebruikt de toepassing de opgehaalde verbindingsreeks om verbinding te maken met Azure Service Bus. Op deze manier moet de opgegeven beveiligingsprincipaal worden verleend met de rol Inzender om de bijbehorende Azure Service Bus-naamruimte op te halen.
Voor Azure Spring Apps 4.0 bieden we twee manieren om beveiligingsprinciplen voor verificatie te gebruiken. Er wordt nog steeds gebruikgemaakt van de principals om verbinding te maken met ARM en de verbindingsreeks s op te halen waar de Contributor
rol is vereist voor de principals. De andere maakt gebruik van beveiligingsprinciplen om te verifiëren bij Microsoft Entra ID en vervolgens rechtstreeks verbinding te maken met Azure Service Bus. In dit geval is de Contributor
rol niet meer nodig, terwijl andere Data
gerelateerde rollen vereist zijn voor berichtenbewerkingen. Zie Toegang autoriseren met Microsoft Entra-id om ervoor te zorgen dat aan de beveiligingsprincipaal voldoende machtigingen zijn verleend voor toegang tot de Azure-resource.
Voor verificatie op basis van ARM wordt de volgende configuratiemigratie weergegeven, waarbij de toegewezen rol niet mag worden gewijzigd:
Verouderde configuratie:
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}
Notitie
De toegestane tenant-id
waarden zijn: common
, organizations
, consumers
of de tenant-id. Zie voor meer informatie over deze waarden het verkeerde eindpunt (persoonlijke en organisatieaccounts) van Fout AADSTS50020 - Gebruikersaccount van id-provider bestaat niet in de tenant. Zie De app met één tenant converteren naar meerdere tenants in Microsoft Entra ID voor meer informatie over het converteren van uw app met één tenant.
Moderne configuratie, eigenschappen voor azure-abonnements-id en resourcegroep zijn vereist:
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}
Notitie
De toegestane tenant-id
waarden zijn: common
, organizations
, consumers
of de tenant-id. Zie voor meer informatie over deze waarden het verkeerde eindpunt (persoonlijke en organisatieaccounts) van Fout AADSTS50020 - Gebruikersaccount van id-provider bestaat niet in de tenant. Zie De app met één tenant converteren naar meerdere tenants in Microsoft Entra ID voor meer informatie over het converteren van uw app met één tenant.
U kunt ook rechtstreeks migreren om te verifiëren en autoriseren met Microsoft Entra-id zonder een omleiding naar ARM te maken. Zorg ervoor dat u de beveiligingsprincipaal de benodigde Data
rollen verleent voor berichtenbewerkingen. De configuratievoorbeelden van de service-principal en de beheerde identiteit worden als volgt weergegeven:
Met een service-principal
spring: cloud: azure: credential: client-id: ${AZURE_CLIENT_ID} client-secret: ${AZURE_CLIENT_SECRET} profile: tenant-id: <tenant> servicebus: namespace: ${SERVICEBUS_NAMESPACE}
Notitie
De toegestane tenant-id
waarden zijn: common
, organizations
, consumers
of de tenant-id. Zie voor meer informatie over deze waarden het verkeerde eindpunt (persoonlijke en organisatieaccounts) van Fout AADSTS50020 - Gebruikersaccount van id-provider bestaat niet in de tenant. Zie De app met één tenant converteren naar meerdere tenants in Microsoft Entra ID voor meer informatie over het converteren van uw app met één tenant.
Met een beheerde identiteit
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-wijzigingen
- Berichtkop wegzetten
AzureHeaders.RAW_ID
. Gebruik in plaats daarvanServiceBusMessageHeaders.MESSAGE_ID
.
In de volgende tabel ziet u de klassetoewijzingen van azure-spring-cloud-stream-binder-eventhubs
naar spring-cloud-azure-stream-binder-eventhubs
.
Verouderde klasse | Moderne klasse |
---|---|
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
De com.azure.spring:azure-spring-cloud-messaging
bibliotheek is niet gereed voor 4.0. De functie van aantekeningen van de listener wordt opnieuw ontworpen, dus de @AzureMessageListener
, @AzureMessageListeners
en @EnableAzureMessaging
aantekeningen worden momenteel niet ondersteund.