Migratiehandleiding voor Spring Cloud Azure 4.0
Deze handleiding helpt bij de migratie naar Spring Cloud Azure 4.0 vanuit verouderde Azure Spring-bibliotheken.
Introductie
We roepen bibliotheken aan waarvan de groeps-id en artefact-id het patroon volgen
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-*
, com.azure.spring:azure-spring-cloud-*
of com.azure.spring:azure-spring-integration-*
pakket wordt verondersteld.
Zie de Ontwikkelaarshandleiding voor Spring Cloud Azure in plaats van deze handleiding als u geen gebruik hebt gemaakt van de Spring Cloud Azure 4.0-bibliotheken.
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 vindt u 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 Azure Spring Boot
genoemd 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 gebruikten twee BOM's voor onze bibliotheken, de azure-spring-boot-bom
en azure-spring-cloud-dependencies
, maar we hebben deze twee BOM's sinds 4.0 gecombineerd tot één BOM, de spring-cloud-azure-dependencies
. Voeg een vermelding toe in de sectie dependencyManagement
van uw project om te profiteren van het afhankelijkheidsbeheer.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-dependencies</artifactId>
<version>5.20.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Notitie
Als u Spring Boot 2.x gebruikt, moet u de spring-cloud-azure-dependencies
versie instellen op 4.19.0
.
Zie Welke versie van Spring Cloud Azure moet ikgebruiken voor meer informatie over de versie die voor deze bom wordt gebruikt.
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 het patroon artefact-id's worden spring-cloud-azure-starter-[service]
, 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 | Wijzig de naam van het artefact om data toe te voegen, wat aangeeft dat u Spring Data Azure Cosmos DB gebruikt. |
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 en spring-cloud-azure-resourcemanager artefacten. |
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 Spring Cloud Azure Redis-ondersteuningvoor meer informatie over het 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 Spring Cloud Azure Kafka-ondersteuningvoor meer informatie over het gebruik. |
azure-spring-cloud-starter-eventhubs | spring-cloud-azure-starter-integration-eventhubs | Wijzig de naam van het artefact om integration toe te voegen, wat aangeeft dat Spring Integration wordt gebruikt met Event Hubs. |
azure-spring-cloud-starter-servicebus | spring-cloud-azure-starter-integration-servicebus | Wijzig de naam van het artefact om integration toe te voegen, 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 gewijzigd om integration toe te voegen, 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 wordt samengevoegd met het spring-cloud-azure-stream-binder-servicebus artefact. |
azure-spring-cloud-stream-binder-servicebus-topic | spring-cloud-azure-stream-binder-servicebus | Dit artefact is verwijderd met alle functionaliteit die wordt samengevoegd met het spring-cloud-azure-stream-binder-servicebus artefact. |
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 de 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 Data
gerelateerde rollen vereist om berichtenbewerkingen uit te voeren. Voor Azure Spring Apps Stream Event Hubs/Service Bus Binder-bibliotheken is Contributor
rol vereist wanneer de functie voor het automatisch maken van resources nodig is. Zie ingebouwde Azure-rollenvoor 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 Azure Identity-clientbibliotheek voor Javavoor meer informatie.
Configuratie-eigenschappen
Eigenschappenmigratie
We hebben een additional-spring-configuration-metadata.json-bestand gemaakt om de migratie van eigenschappen te vlakken 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
te gebruiken, kunt u uw migratie soepel laten verlopen.
Globale configuraties
Met de moderne spring-cloud-azure-starter
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
. 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 Spring Cloud Azure-configuratie-eigenschappenvoor 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 naar spring-cloud-azure-starter-data-cosmos
- Van azure-spring-boot-starter-keyvault-secrets naar 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 naar spring-cloud-azure-starter-integration-eventhubs
- Van azure-spring-cloud-starter-servicebus naar spring-cloud-azure-starter-integration-servicebus
- Van azure-spring-cloud-starter-storage-queue naar 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-* naar 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 naar spring-cloud-azure-starter-integration-eventhubs
- Van azure-spring-integration-eventhubs naar spring-integration-azure-eventhubs
- Van azure-spring-cloud-starter-servicebus naar spring-cloud-azure-starter-integration-servicebus
- Van azure-spring-integration-servicebus naar spring-integration-azure-servicebus
- Van azure-spring-cloud-starter-storage-queue naar spring-cloud-azure-starter-integration-storage-queue
- Van azure-spring-integration-storage-queue naar 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-* naar 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- van 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 van
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 van
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
. - Nieuwe eigenschap
spring.cloud.azure.active-directory.enabled
wordt 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 van
long
inDuration
: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 twee 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. Case 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. Case 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
tot 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 van
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
. - Nieuwe eigenschap
spring.cloud.azure.active-directory.b2c.enabled
wordt toegevoegd om azure AD B2C-gerelateerde functies toe te staan of uit te schakelen. De standaardwaarde is onwaar.
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 | spring.cloud.azure.active-directory.b2c.user-name-attribute-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 van
long
inDuration
:- jwt-connect-timeout
- jwt-read-timeout
API-wijzigingen
In de volgende tabel ziet u de klassetoewijzingen van azure-spring-boot-starter-active-directory-b2c
tot 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 van
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
tot 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 van
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.hoofdlettergevoelige sleutels | 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 voor geheimen (zoalsSecretClient
enSecretAsyncClient
) en het toevoegen vanKeyVaultPropertySource
inConfigurableEnvironment
. -
spring.cloud.azure.keyvault.secret.property-source-enabled
wordt gebruikt om alleKeyVaultPropertySource
in te schakelen. Deze wordt alleen van kracht wanneerspring.cloud.azure.keyvault.secret.enabled=true
. - Voor algemene eigenschappen van Azure (zoals
client
,proxy
,retry
,credential
,profile
) en Key Vault-eigenschappen (zoalsendpoint
,service-version
). Alsspring.cloud.azure.keyvault.secret.property-sources[n].PROPERTY_NAME
niet is geconfigureerd, wordtspring.cloud.azure.keyvault.secret.PROPERTY_NAME
gebruikt. -
spring.cloud.azure.keyvault.secret.property-sources[n].resource
specifiek is 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 vanaf 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 van
spring-boot-properties-migrator
tijdens de migratie. - Zie de sectie Algemene configuraties voor meer informatie over de algemene en algemene configuratiewijzigingen.
SDK-configuratiewijzigingen
Het configuratietype voor spring.jms.servicebus.idle-timeout
gewijzigd 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 van
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
tot 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 vanaf 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 van
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
tot 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 van
spring-boot-properties-migrator
tijdens de migratie. - Zie de sectie Algemene configuraties voor meer informatie over de algemene en algemene configuratiewijzigingen.
SDK-configuratiewijzigingen
Belangrijk
Het 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
tot 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}
Aan:
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 <<migration-azure-spring-cloud-messaging, azure-spring-cloud-messaging, azure-spring-cloud-messaging>>-bibliotheek voor de wijzigingen in de aantekeningen van de listener.
- Drop
EventHubOperation
with the subscribing function moved to classEventHubsMessageListenerContainer
and the sending function moved toEventHubsTemplate
. - Wijzig de naam van
EventHubInboundChannelAdapter
alsEventHubsInboundChannelAdapter
om 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
instantiestijl in de eenvoudige constructor in plaats van de bouwstijl. - Drop API
EventHubOperation#setCheckpointConfig
. Gebruikers kunnen de methodeEventHubsContainerProperties#setCheckpointConfig
aanroepen om de configuratie van het controlepunt voor de binnenkomende kanaaladapter in te stellen. - Drop API
EventHubOperation#setBatchConsumerConfig
. Als u de configuratie voor batchverwerking voor de binnenkomende kanaaladapter wilt instellen, kunnen gebruikers de twee methoden aanroepenEventHubsContainerProperties#getBatch#setMaxSize
en ondertussenEventHubsContainerProperties#getBatch#setMaxWaitTime
. - Voor de batchverwerkingsmodus wijzigt u de namen van de berichtkoppen die zijn geconverteerd van berichten in batches.
- Wijzig de berichtkop van
azure_eventhub_enqueued_time
inazure_eventhubs_batch_converted_enqueued_time
. - Wijzig de berichtkop van
azure_eventhub_offset
inazure_eventhubs_batch_converted_offset
. - Wijzig de berichtkop van
azure_eventhub_sequence_number
inazure_eventhubs_batch_converted_sequence_number
. - Wijzig de berichtkop van
azure_partition_key
inazure_batch_converted_partition_key
.
- Wijzig de berichtkop 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 doorListenerMode.BATCH
door te geven aan eventHubsInboundChannelAdapter-constructor.
In de volgende tabel ziet u de klassetoewijzingen van azure-spring-cloud-starter-eventhubs
tot 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 vanaf 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
- Drop
EventHubOperation
with the subscribing function moved to classEventHubsMessageListenerContainer
and the sending function moved toEventHubsTemplate
. - Wijzig de naam van
EventHubInboundChannelAdapter
alsEventHubsInboundChannelAdapter
om 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
instantiestijl in de eenvoudige constructor in plaats van de bouwstijl. - Drop API
EventHubOperation#setCheckpointConfig
. Gebruikers kunnen de methodeEventHubsContainerProperties#setCheckpointConfig
aanroepen om de configuratie van het controlepunt voor de binnenkomende kanaaladapter in te stellen. - Drop API
EventHubOperation#setBatchConsumerConfig
. Als u de configuratie voor batchverwerking voor de binnenkomende kanaaladapter wilt instellen, kunnen gebruikers de twee methoden aanroepenEventHubsContainerProperties#getBatch#setMaxSize
en ondertussenEventHubsContainerProperties#getBatch#setMaxWaitTime
. - Voor de batchverwerkingsmodus wijzigt u de namen van de berichtkoppen die zijn geconverteerd van berichten in batches.
- Wijzig de berichtkop van
azure_eventhub_enqueued_time
inazure_eventhubs_batch_converted_enqueued_time
. - Wijzig de berichtkop van
azure_eventhub_offset
inazure_eventhubs_batch_converted_offset
. - Wijzig de berichtkop van
azure_eventhub_sequence_number
inazure_eventhubs_batch_converted_sequence_number
. - Wijzig de berichtkop van
azure_partition_key
inazure_batch_converted_partition_key
.
- Wijzig de berichtkop 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 doorListenerMode.BATCH
door te geven aan eventHubsInboundChannelAdapter-constructor.
In de volgende tabel ziet u de klassetoewijzingen van azure-spring-integration-eventhubs
tot 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 van
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 in spring-cloud-azure-starter-integration-servicebus
worden ondersteund, blijft het voorvoegsel ongewijzigd als 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-nieuwe pogingen | 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=vaste of exponentiële |
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=vaste 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
- Verwijder
ServiceBusQueueOperation
enServiceBusTopicOperation
met de subtekenfunctie die is verplaatst naar klasseServiceBusMessageListenerContainer
en de verzendende functie is verplaatst naarServiceBusTemplate
. - Verwijder
ServiceBusQueueInboundChannelAdapter
enServiceBusTopicInboundChannelAdapter
en verplaats de functionaliteit om te luisteren naar een Service Bus-wachtrij/onderwerpentiteit 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, komt overeen metMANUAL
controlepuntmodus en wordt deRECORD
-modus geactiveerd. - DROP API's
ServiceBusQueueOperatio#setClientConfig
enServiceBusTopicOperation#setClientConfig
. Als u de onderliggendeServiceBusProcessorClient
wilt configureren die door de binnenkomende kanaaladapter wordt gebruikt, kunnen gebruikers in plaats daarvanServiceBusContainerProperties
gebruiken. - Gebruik in plaats daarvan
CompletableFuture
ondersteuning inServiceBusTemplate
enDefaultMessageHandler
,Reactor
. - Voeg nieuwe API van
ServiceBusTemplate#setDefaultEntityType
toe om het entiteitstype op te geven. Dit is vereist wanneer er geen bean vanPropertiesSupplier<String, ProducerProperties>
is opgegeven voor deProducerProperties#entityType
. - Berichtkoptekst verwijderen
AzureHeaders.RAW_ID
. Gebruik in plaats daarvanServiceBusMessageHeaders.MESSAGE_ID
.
In de volgende tabel ziet u de klassetoewijzingen van azure-spring-cloud-starter-servicebus
tot 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 van
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
- Verwijder
ServiceBusQueueOperation
enServiceBusTopicOperation
met de subtekenfunctie die is verplaatst naar klasseServiceBusMessageListenerContainer
en de verzendende functie is verplaatst naarServiceBusTemplate
. - Verwijder
ServiceBusQueueInboundChannelAdapter
enServiceBusTopicInboundChannelAdapter
en verplaats de functionaliteit om te luisteren naar een Service Bus-wachtrij/onderwerpentiteit 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, komt overeen metMANUAL
controlepuntmodus en wordt deRECORD
-modus geactiveerd. - DROP API's
ServiceBusQueueOperation#setClientConfig
enServiceBusTopicOperation#setClientConfig
. Als u de onderliggendeServiceBusProcessorClient
wilt configureren die door de binnenkomende kanaaladapter wordt gebruikt, kunnen gebruikers in plaats daarvanServiceBusContainerProperties
gebruiken. - Gebruik in plaats daarvan
CompletableFuture
ondersteuning inServiceBusTemplate
enDefaultMessageHandler
,Reactor
. - Voeg nieuwe API van
ServiceBusTemplate#setDefaultEntityType
toe om het entiteitstype op te geven. Dit is vereist wanneer er geen bean vanPropertiesSupplier<String, ProducerProperties>
is opgegeven voor deProducerProperties#entityType
. - Berichtkoptekst verwijderen
AzureHeaders.RAW_ID
. Gebruik in plaats daarvanServiceBusMessageHeaders.MESSAGE_ID
.
In de volgende tabel ziet u de klassetoewijzingen van azure-spring-integration-servicebus
tot 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 van 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 van
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
- Verwijder
StorageQueueOperation
en geef in plaats daarvanStorageQueueTemplate
op. - Verwijder
checkpoint-mode
configuratie inStorageQueueTemplate
, ondersteunt alleen deMANUAL
-modus.
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
- Verwijder
StorageQueueOperation
en geef in plaats daarvanStorageQueueTemplate
op. - Verwijder
checkpoint-mode
configuratie inStorageQueueTemplate
, ondersteunt alleen deMANUAL
-modus.
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 vanaf 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 van
spring-boot-properties-migrator
tijdens de migratie. - Zie de sectie Algemene configuraties voor meer informatie over de algemene en algemene configuratiewijzigingen.
SDK-configuratiewijzigingen
Belangrijk
Het 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
tot 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.binding-name.consumer.max-batch-size | spring.cloud.stream.eventhubs.bindings.binding-name.consumer.batch.max-size |
spring.cloud.stream.eventhub.bindings.binding-name.consumer.max-wait-time | spring.cloud.stream.eventhubs.bindings.binding-name.consumer.batch.max-wait-time |
spring.cloud.stream.eventhub.bindings.binding-name.consumer.checkpoint-mode | spring.cloud.stream.eventhubs.bindings.binding-name.consumer.checkpoint.mode |
spring.cloud.stream.eventhub.bindings.binding-name.consumer.checkpoint-count | spring.cloud.stream.eventhubs.bindings.binding-name.consumer.checkpoint.count |
spring.cloud.stream.eventhub.bindings.binding-name.consumer.checkpoint-interval | spring.cloud.stream.eventhubs.bindings.binding-name.consumer.checkpoint.interval |
spring.cloud.stream.eventhub.bindings.binding-name.consumer.start-position | spring.cloud.stream.eventhubs.bindings.binding-name.consumer.initial-partition-event-position |
Notitie
Het waardetype van de start-position
-configuratie wordt ook gewijzigd van een opsomming van com.azure.spring.integration.core.api.StartPosition
in een map
van StartPositionProperties
voor elke partitie. De sleutel is dus de partitie-id en de waarde is van com.azure.spring.cloud.service.eventhubs.properties.StartPositionProperties
die eigenschappen van offset, volgnummer, datum/tijd in enqueued en inclusief bevat.
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 verbindingsreeksen, 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 verbindingsreeksen op te halen waarvoor 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 IDom 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 waarden die zijn toegestaan voor tenant-id
zijn: common
, organizations
, consumers
of de tenant-id. Zie voor meer informatie over deze waarden het Het verkeerde eindpunt (persoonlijke en organisatieaccounts) gebruikt sectie van Fout AADSTS50020 - Gebruikersaccount van id-provider bestaat niet in tenant. Zie App met één tenant converteren naar multitenant op Microsoft Entra IDvoor 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 waarden die zijn toegestaan voor tenant-id
zijn: common
, organizations
, consumers
of de tenant-id. Zie voor meer informatie over deze waarden het Het verkeerde eindpunt (persoonlijke en organisatieaccounts) gebruikt sectie van Fout AADSTS50020 - Gebruikersaccount van id-provider bestaat niet in tenant. Zie App met één tenant converteren naar multitenant op Microsoft Entra IDvoor 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 verleent die nodig is Data
rollen 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 waarden die zijn toegestaan voor tenant-id
zijn: common
, organizations
, consumers
of de tenant-id. Zie voor meer informatie over deze waarden het Het verkeerde eindpunt (persoonlijke en organisatieaccounts) gebruikt sectie van Fout AADSTS50020 - Gebruikersaccount van id-provider bestaat niet in tenant. Zie App met één tenant converteren naar multitenant op Microsoft Entra IDvoor 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 van
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-nieuwe pogingen | 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=vaste of exponentiële |
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=vaste 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.binding-name.consumer. gelijktijdigheid | spring.cloud.stream.servicebus.bindings.binding-name.consumer.max-gelijktijdig-sessions/max-concurrent-calls |
spring.cloud.stream.servicebus.queue.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. gelijktijdigheid | spring.cloud.stream.servicebus.bindings.binding-name.consumer.max-gelijktijdig-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
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 verbindingsreeksen, 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 verbindingsreeksen op te halen waarvoor 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 IDom 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 waarden die zijn toegestaan voor tenant-id
zijn: common
, organizations
, consumers
of de tenant-id. Zie voor meer informatie over deze waarden het Het verkeerde eindpunt (persoonlijke en organisatieaccounts) gebruikt sectie van Fout AADSTS50020 - Gebruikersaccount van id-provider bestaat niet in tenant. Zie App met één tenant converteren naar multitenant op Microsoft Entra IDvoor 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 waarden die zijn toegestaan voor tenant-id
zijn: common
, organizations
, consumers
of de tenant-id. Zie voor meer informatie over deze waarden het Het verkeerde eindpunt (persoonlijke en organisatieaccounts) gebruikt sectie van Fout AADSTS50020 - Gebruikersaccount van id-provider bestaat niet in tenant. Zie App met één tenant converteren naar multitenant op Microsoft Entra IDvoor 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 verleent die nodig is Data
rollen 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 waarden die zijn toegestaan voor tenant-id
zijn: common
, organizations
, consumers
of de tenant-id. Zie voor meer informatie over deze waarden het Het verkeerde eindpunt (persoonlijke en organisatieaccounts) gebruikt sectie van Fout AADSTS50020 - Gebruikersaccount van id-provider bestaat niet in tenant. Zie App met één tenant converteren naar multitenant op Microsoft Entra IDvoor 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
- Berichtkoptekst verwijderen
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 listener wordt opnieuw ontworpen, dus de @AzureMessageListener
, @AzureMessageListeners
en @EnableAzureMessaging
aantekeningen worden momenteel niet ondersteund.