Megosztás a következőn keresztül:


Migrálási útmutató a Spring Cloud Azure 4.0-hoz

Ez az útmutató segít a Spring Cloud Azure 4.0-ra való migrálásban régi Azure Spring-kódtárakból.

Introduction

Olyan kódtárakat hívunk meg, amelyek csoportazonosítója és összetevő-azonosítója a com.azure.spring:spring-cloud-azure-* modern kódtárak, valamint a mintával com.azure.spring:azure-spring-boot-*vagy com.azure.spring:azure-spring-integration-*com.azure.spring:azure-spring-cloud-*az örökölt kódtárakkal rendelkező kódtárakat követi.

Ez az útmutató a modern és az örökölt kódtárak közötti hasonló konfigurációk egymás melletti összehasonlítására összpontosít.

A csomag vagy com.azure.spring:azure-spring-integration-* a com.azure.spring:azure-spring-boot-*csomag com.azure.spring:azure-spring-cloud-* ismerete feltételezve van.

Ha még csak most ismerkedik a Spring Cloud Azure 4.0-s kódtárával, az útmutató helyett tekintse meg a Spring Cloud Azure fejlesztői útmutatóját .

A migrálás előnyei

Egy természetes kérdés, amelyet fel kell tenni, amikor mérlegeli, hogy új verziót vagy kódtárat fogad-e el, annak előnyei. Ahogy az Azure kiforrott, és a fejlesztők egy változatosabb csoportja is magáévá tette, arra összpontosítottunk, hogy megismerjük azokat a mintákat és gyakorlatokat, amelyek a legjobban támogatják a fejlesztői hatékonyságot, és hogy megértsük a Spring Cloud Azure-kódtárakban meglévő hiányosságokat.

A Spring Cloud Azure-kódtárakban több területen is egységes visszajelzéseket adtak ki. A legfontosabb, hogy a különböző Azure-szolgáltatások kódtárai nem engedélyezték a konfigurációk teljes készletét. Emellett a projekt elnevezésének, az összetevők azonosítóinak, a verzióknak és a konfigurációknak az inkonzisztencia miatt meredek volt a tanulási görbe.

A Spring Cloud Azure-kódtárak fejlesztési élményének javítása érdekében kialakítási irányelvek vezettek be annak biztosítására, hogy a Spring Cloud Azure-kódtárak természetes és idiomatikus módon érezzék magukat a Spring ökoszisztémával kapcsolatban. További részletek az érdeklődőknek a tervezési dokumentációban találhatók.

A Spring Cloud Azure 4.0 megosztott felületet biztosít a különböző Spring-projektekkel integrálható kódtárakban, például a Spring Boot, a Spring Integration, a Spring Cloud Stream stb. A megosztott felület a következőket tartalmazza:

  • Egységes BOM az összes Spring Cloud Azure 4.0-s kódtár belefoglalásához.
  • Az összetevők egységes elnevezési konvenciója.
  • Egységes módszer a hitelesítő adatok, proxyk, újrapróbálkozások, felhőkörnyezet és átviteli réteg beállításainak konfigurálására.
  • Az Azure Service vagy az Azure Service SDK által támogatott összes hitelesítési módszer támogatása.

Áttekintés

Ez a migrálási útmutató a következő szakaszokból áll:

  • A Spring Cloud Azure 4.0 elnevezési változásai
  • Összetevő módosításai: átnevezve/ hozzáadva/törölve
  • Függőségi változások
  • Hitelesítési változások
  • Konfigurációs tulajdonságok
  • API-kompatibilitástörő változások
  • Kódtár változásai

Elnevezési módosítások

Soha nem volt konzisztens vagy hivatalos név az összes Spring Cloud Azure-kódtár meghívásához. Néhányat hívtak Azure Spring Boot , és néhányat Spring on Azure. A 4.0 óta a projekt nevével Spring Cloud Azure az összes Azure Spring-kódtárat ábrázoltuk.

ANYAGJEGYZÉK

Korábban két BOM-et szállítottunk a kódtárakhoz, az azure-spring-boot-bom és azure-spring-cloud-dependencies, de ezt a két BOM-et egy BOM-ba egyesítettük a 4.0 óta, a spring-cloud-azure-dependencies. Adjon hozzá egy bejegyzést a dependencyManagement projekt szakaszához, hogy kihasználhassa a függőségkezelés előnyeit.

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.azure.spring</groupId>
      <artifactId>spring-cloud-azure-dependencies</artifactId>
      <version>4.14.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

Megjegyzés:

Ha Spring Boot 3.x-et használ, mindenképpen állítsa be a verziót5.8.0.spring-cloud-azure-dependencies A verzióról további információt a spring-cloud-azure-dependencies Spring Cloud Azure melyik verzióját érdemes használni.

Összetevő módosításai: átnevezve/ hozzáadva/törölve

A csoportazonosítók megegyeznek a modern és régi Spring Cloud Azure-kódtárak esetében. Mind.com.azure.spring A modern Spring Cloud Azure-kódtárak összetevő-azonosítói megváltoztak. Annak megfelelően, hogy melyik Spring-projekthez tartozik, a Spring Boothoz, a Spring Integrationhez vagy a Spring Cloud Streamhez, az összetevő azonosítóinak mintája lehet spring-cloud-azure-starter-[service], spring-integration-azure-[service]vagy spring-cloud-azure-stream-binder-[service]. Az örökölt kezdők mindegyikéhez tartozik egy összetevő-azonosító a minta azure-spring-*alapján. Ez gyors és akadálymentes módot biztosít annak megértéséhez, hogy modern vagy régi kezdőket használ-e.

A Spring Cloud Azure 4.0 fejlesztése során átneveztünk néhány összetevőt, hogy követjék az új elnevezési konvenciókat, töröltünk néhány összetevőt, hogy a funkció egy megfelelőbb összetevőbe kerüljön, és hozzáadtunk néhány új összetevőt néhány forgatókönyv jobb kiszolgálása érdekében.

Az alábbi táblázat az örökölt összetevő-azonosító és a modern összetevő-azonosító közötti leképezéseket mutatja be:

Örökölt összetevő azonosítója Modern összetevő azonosítója Leírás
azure-spring-boot-starter spring-cloud-azure-starter Ezt az összetevőt törölték, és az összes funkciót egyesíteni kell az új spring-cloud-azure-starter összetevővel.
azure-spring-boot-starter-active-directory spring-cloud-azure-starter-active-directory Átnevezte az összetevőt.
azure-spring-boot-starter-active-directory-b2c spring-cloud-azure-starter-active-directory-b2c Átnevezte az összetevőt.
azure-spring-boot-starter-cosmos spring-cloud-azure-starter-data-cosmos Átnevezte az összetevőt hozzáadásra data, ami a Spring Data Azure Cosmos DB használatát jelzi.
azure-spring-boot-starter-keyvault-certificates nem alkalmazható Ez a kiadás nem tartalmazza, de a későbbi verzióban is támogatott lesz.
azure-spring-boot-starter-keyvault-secrets spring-cloud-azure-starter-keyvault-secrets Átnevezte az összetevőt.
azure-spring-boot-starter-servicebus-jms spring-cloud-azure-starter-servicebus-jms Átnevezte az összetevőt.
azure-spring-boot-starter-storage spring-cloud-azure-starter-storage-blob
spring-cloud-azure-starter-storage-file-share
Az örökölt összetevő a Storage Blob és a Fájlmegosztás funkcióját is tartalmazza, a 4.0-s, a spring-cloud-azure-starter-storage-blob és a spring-cloud-azure-starter-storage-file-share két különálló összetevőre van osztva.
azure-spring-boot nem alkalmazható Ezt az összetevőt törölték, és az összes funkciót egyesíteni kell az új spring-cloud-azure-autoconfigure összetevővel.
azure-spring-cloud-autoconfigure nem alkalmazható Ezt az összetevőt törölték, és az összes funkciót egyesíteni kell az új spring-cloud-azure-autoconfigure összetevővel.
azure-spring-cloud-context nem alkalmazható Ez az összetevő törölve lett, és az összes funkció egyesítve lesz az új spring-cloud-azure-autoconfigure és spring-cloud-azure-resourcemanager az összetevőkkel.
azure-spring-cloud-messaging spring-messaging-azure Az üzenetfigyelő megjegyzése el lett dobva.
azure-spring-cloud-starter-cache nem alkalmazható Ezt az összetevőt törölték a redis használatához, csak adja hozzá a spring-boot-starter-data-redis, a spring-boot-starter-cache, a spring-cloud-azure-resourcemanager és a spring-cloud-azure-starter elemet. További információ a használatról: Spring Cloud Azure Redis-támogatás.
azure-spring-cloud-starter-eventhubs-kafka nem alkalmazható Ezt az összetevőt törölték a kafka használatához, csak adja hozzá a spring kafkát, a spring-cloud-azure-resourcemanagert és a spring-cloud-azure-startert. További információ a használatról: Spring Cloud Azure Kafka-támogatás.
azure-spring-cloud-starter-eventhubs spring-cloud-azure-starter-integration-eventhubs Átnevezte az összetevőt hozzáadásra integration, ami azt jelzi, hogy a Spring Integration with Event Hubs használatával.
azure-spring-cloud-starter-servicebus spring-cloud-azure-starter-integration-servicebus Átnevezte az összetevőt hozzáadásra integration, ami azt jelzi, hogy a Spring Integration with Service Bus használatával.
azure-spring-cloud-starter-storage-queue spring-cloud-azure-starter-integration-storage-queue Átnevezte az összetevőt hozzáadásra integration, ami azt jelzi, hogy a Spring Integration with Storage Queue használatával történik.
azure-spring-cloud-storage nem alkalmazható Ezt az összetevőt törölték az új spring-cloud-azure-autoconfigure összetevőbe egyesítve lévő összes funkcióval.
azure-spring-cloud-stream-binder-eventhubs spring-cloud-azure-stream-binder-eventhubs Ez az összetevő egy új kialakítással lett újrabontásra, főként spring-cloud-azure-stream-binder-eventhubs és spring-cloud-azure-stream-binder-eventhubs-core.
azure-spring-cloud-stream-binder-service-core spring-cloud-azure-stream-binder-servicebus-core Átnevezte az összetevőt.
azure-spring-cloud-stream-binder-servicebus-queue spring-cloud-azure-stream-binder-servicebus Ezt az összetevőt törölték, és az összes funkciót egyesíteni kell az spring-cloud-azure-stream-binder-servicebus összetevővel.
azure-spring-cloud-stream-binder-servicebus-topic spring-cloud-azure-stream-binder-servicebus Ezt az összetevőt törölték, és az összes funkciót egyesíteni kell az spring-cloud-azure-stream-binder-servicebus összetevővel.
azure-spring-integration-core spring-integration-azure-core Átnevezte az összetevőt.
azure-spring-integration-eventhubs spring-integration-azure-eventhubs Nevezze át az összetevőt.
azure-spring-integration-servicebus spring-integration-azure-servicebus Nevezze át az összetevőt.
azure-spring-integration-storage-queue spring-integration-azure-storage-queue Nevezze át az összetevőt.
nem alkalmazható spring-cloud-azure-actuator Az újonnan hozzáadott Spring Cloud Azure Actuator összetevő.
nem alkalmazható spring-cloud-azure-actuator-autoconfigure Az újonnan hozzáadott Spring Cloud Azure Actuator AutoConfigure összetevő, beleértve az aktuátor automatikus konfigurálását is.
nem alkalmazható spring-cloud-azure-autoconfigure Újonnan hozzáadott Spring Cloud Azure AutoConfigure összetevő, beleértve az SDK-ügyfelek összes automatikus konfigurációját, a Spring Security támogatását, a Spring Data támogatását és a Spring Integration támogatását.
nem alkalmazható spring-cloud-azure-core Újonnan hozzáadott Spring Cloud Azure Core-összetevő, beleértve az összes alapvető funkciót.
nem alkalmazható spring-cloud-azure-resourcemanager Újonnan hozzáadott Resource Manager-összetevő. Ez az Azure Resource Managert használó Core-kódtár metaadatok olvasására és erőforrások létrehozására.
nem alkalmazható spring-cloud-azure-service Újonnan hozzáadott Spring Cloud Azure Service-összetevő, beleértve az Azure-szolgáltatások absztrakcióit is.
nem alkalmazható spring-cloud-azure-starter-appconfiguration Újonnan hozzáadott kezdőprogram a Azure-alkalmazás Configuration SDK-ügyfél használatához.
nem alkalmazható spring-cloud-azure-starter-cosmos Újonnan hozzáadott kezdő az Azure Cosmos DB SDK-ügyfél használatához.
nem alkalmazható spring-cloud-azure-starter-eventhubs Újonnan hozzáadott kezdő az Azure Event Hubs SDK-ügyfél használatához.
nem alkalmazható spring-cloud-azure-starter-servicebus Újonnan hozzáadott kezdő az Azure Service Bus SDK-ügyfél használatához.
nem alkalmazható spring-cloud-azure-starter-storage-blob Újonnan hozzáadott kezdő az Azure Storage Blob SDK-ügyfél használatához.
nem alkalmazható spring-cloud-azure-starter-storage-file-share Újonnan hozzáadott kezdő az Azure Storage-fájlmegosztásI SDK-ügyfél használatához.
nem alkalmazható spring-cloud-azure-starter-storage-queue Újonnan hozzáadott kezdő az Azure Storage Queue SDK-ügyfél használatához.
nem alkalmazható spring-cloud-azure-starter-stream-eventhubs Újonnan hozzáadott kezdő az Azure Event Hubs Spring Cloud Stream Binder használatához.
nem alkalmazható spring-cloud-azure-starter-stream-servicebus Újonnan hozzáadott kezdő az Azure Service Bus Spring Cloud Stream Binder használatához
nem alkalmazható spring-cloud-azure-stream-binder-eventhubs-core Újonnan hozzáadott Spring Cloud Stream-alapösszetevő az Azure Event Hubshoz.

Függőségek változásai

Néhány szükségtelen függőséget tartalmaztak az örökölt összetevők, amelyeket eltávolítottunk a modern Spring Cloud Azure 4.0-kódtárakból. Az összeomlások elkerülése érdekében mindenképpen adja hozzá manuálisan az eltávolított függőségeket a projekthez.

A függőségi módosításokkal rendelkező kódtárak a következők:

Hitelesítési változások

A Spring Cloud Azure 4.0 minden olyan hitelesítési módszert támogat, amelyet az egyes Azure Service SDK-k támogatnak. Lehetővé teszi egy globális jogkivonat hitelesítő adatainak konfigurálását, valamint a jogkivonat hitelesítő adatait az egyes szolgáltatási szinteken. A Spring Cloud Azure 4.0 konfigurálásához azonban nincs szükség hitelesítő adatokra, mert az alkalmazhatja a helyi fejlesztőkörnyezetben vagy felügyelt identitásban tárolt hitelesítő adatokat az Azure Servicesben. Csak győződjön meg arról, hogy a rendszerbiztonsági tag megfelelő engedélyt kapott a cél Azure-erőforrások eléréséhez.

Megjegyzés:

Amikor szerepköröket rendel a biztonsági tagokhoz az Azure üzenetkezelési szolgáltatásokkal való interakcióhoz, a kapcsolódó szerepkörök szükségesek az Data üzenetkezelési műveletek végrehajtásához. Az Azure Spring Apps Stream Event Hubs/Service Bus Binder-kódtárakhoz akkor van szükség szerepkörre, Contributor ha az erőforrások automatikus létrehozására van szükség. For more information, see Azure built-in roles.

A láncolt hitelesítő adatok alapértelmezés szerint automatikusan konfigurálják a DefaultAzureCredential babot, és minden összetevő használja, ha nincs megadva további hitelesítési információ. További információ: A Java-hoz készült Azure Identity ügyfélkódtár DefaultAzureCredential szakasza.

Konfigurációs tulajdonságok

Tulajdonságok migrálása

Létrehoztunk egy további spring-configuration-metadata.json fájlt a tulajdonság migrálásának simításához a következővel való spring-boot-properties-migratorhasználat során: . Először adja hozzá a következő tulajdonságot az alkalmazáshoz:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-properties-migrator</artifactId>
    <scope>runtime</scope>
</dependency>

Vagy ha a Gradle-t használja:

runtime("org.springframework.boot:spring-boot-properties-migrator")

Ha futtatja az alkalmazást, az azonosítja azokat a tulajdonságokat, amelyeket már nem kezel a Spring Cloud Azure. Ha csere történik, az ideiglenesen újraképezi a tulajdonságot egy figyelmeztetéssel. Ha nincs csere, a hibajelentés további információkat ad. Akárhogy is, a konfigurációt frissíteni kell, és a függőséget el kell távolítani a konfiguráció frissítése után.

Mielőtt továbblép, érdemes az IDE keresési funkciójával ellenőrizni, hogy nem használja-e az integrációs tesztben migrált tulajdonságok egyikét.

Megjegyzés:

Ebben a változásban számos konfigurációs tulajdonságot módosítottunk. spring-boot-properties-migrator A segítségével zökkenőmentessé válik a migrálás.

Globális konfigurációk

A modern spring-cloud-azure-starter lehetővé teszi a névtérben spring.cloud.azurelévő összes Azure SDK-ra vonatkozó tulajdonságok meghatározását. Ez a funkció nem támogatott az örökölt azure-spring-boot-starterverzióban. A globális konfigurációk öt kategóriára oszthatók, az alábbi táblázatban látható módon:

Előtag Leírás
spring.cloud.azure.client Konfigurálja az egyes Azure SDK-k alatti átviteli ügyfeleket.
spring.cloud.azure.credential A Microsoft Entra-azonosítóval történő hitelesítést konfigurálja.
spring.cloud.azure.profile Konfigurálja az Azure-felhőkörnyezetet.
spring.cloud.azure.proxy Konfigurálja a proxybeállításokat, és az összes Azure SDK-ügyfélre érvényes.
spring.cloud.azure.retry Konfigurálja az újrapróbálkozási beállításokat, és az összes Azure SDK-ügyfélre érvényes. Az újrapróbálkozások az SDK-k egy részét támogatták, nem spring.cloud.azure.cosmos.retry.

A konfigurációk teljes listáját a Spring Cloud Azure konfigurációs tulajdonságai között találja.

Az egyes SDK-k konfigurálása

Az SDK-szinten elérhető konfigurációs beállításokról az alábbi hivatkozásokon tájékozódhat:

API-kompatibilitástörő változások

Az EGYES kódtárak API-kompatibilitástörő változásaival kapcsolatos részletekért használja az alábbi hivatkozásokat:

Kódtár változásai

Az egyes kódtárakban az alábbiak szerint vezetjük be a kompatibilitástörő változásokat.

Az azure-spring-boot-startertől a spring-cloud-azure-starterig

Ez az útmutató az azure-spring-boot-starter 3-as verziójáról a spring-cloud-azure-starterre való migrálást segíti.

Általános információkért használja az alábbi hivatkozásokat:

  • A 4.0-s változások áttekintéséhez tekintse meg a Bevezetés és a Migrálás előnyeit ismertető szakaszt.
  • Ha többet szeretne megtudni a projekt elnevezésének stratégiai változásairól, tekintse meg az Elnevezési módosítások szakaszt.
  • Ha tudni szeretné, hogyan használhat egy BOM-t az összes Spring Cloud Azure-kódtárhoz, tekintse meg a BOM szakaszt .
  • A Spring Cloud Azure 4.0-s hitelesítésének kezeléséről a Hitelesítés módosítása című szakaszban olvashat.
  • A migrálás során használható lehetőségekről spring-boot-properties-migrator az egyes SDK-k konfigurálása című szakaszban olvashat.
  • A globális és gyakori konfigurációs változásokról a Globális konfigurációk című szakaszban olvashat bővebben.

Függőségi változások

Néhány szükségtelen függőséget tartalmaztak az örökölt összetevők, amelyeket eltávolítottunk a modern Spring Cloud Azure 4.0-kódtárakból. Ügyeljen arra, hogy manuálisan adja hozzá az eltávolított függőségeket a projekthez, hogy megelőzze a véletlen összeomlást.

Az alábbi táblázat az Eltávolított függőségeket mutatja be:

Eltávolított függőségek Leírás
org.springframework.boot:spring-boot-starter-validation Adja meg az érvényesítési kezdőt, ha a Hibernate Validatort szeretné használni.

Az azure-spring-boot-starter-active-directorytól a spring-cloud-azure-starter-active-directoryig

Ez az útmutató az azure-spring-boot-starter-active-directory 3-as verziójáról a spring-cloud-azure-starter-active-directoryra való migrálást segíti.

Általános információkért használja az alábbi hivatkozásokat:

  • A 4.0-s változások áttekintéséhez tekintse meg a Bevezetés és a Migrálás előnyeit ismertető szakaszt.
  • Ha többet szeretne megtudni a projekt elnevezésének stratégiai változásairól, tekintse meg az Elnevezési módosítások szakaszt.
  • Ha tudni szeretné, hogyan használhat egy BOM-t az összes Spring Cloud Azure-kódtárhoz, tekintse meg a BOM szakaszt .
  • A Spring Cloud Azure 4.0-s hitelesítésének kezeléséről a Hitelesítés módosítása című szakaszban olvashat.
  • A migrálás során használható lehetőségekről spring-boot-properties-migrator az egyes SDK-k konfigurálása című szakaszban olvashat.
  • A globális és gyakori konfigurációs változásokról a Globális konfigurációk című szakaszban olvashat bővebben.

Függőségi változások

Az örökölt összetevő néhány szükségtelen függősége el lett távolítva a modern Spring Cloud Azure 4.0-s kódtár óta. Vegye fel ezeket az eltávolított függőségeket a projektbe, hogy megakadályozza a véletlen összeomlást.

Az alábbi táblázat az Eltávolított függőségeket mutatja be:

Eltávolított függőségek Leírás
com.fasterxml.jackson.core:jackson-databind Szükség esetén vegye fel ezt a függőséget a projektbe.
io.projectreactor.netty:reactor-netty Szükség esetén vegye fel ezt a függőséget a projektbe.
org.springframework.boot:spring-boot-starter-validation Szükség esetén vegye fel ezt a függőséget a projektbe.
org.springframework.boot:spring-boot-starter-webflux Szükség esetén vegye fel ezt a függőséget a projektbe.

SDK-konfiguráció változásai

Ez a szakasz a hozzáadott, eltávolított és módosított tulajdonságok módosításait tartalmazza.

  • A következő két pont a legfontosabb, hogy figyelmet fordítsunk:
  1. A konfigurációtulajdonságok neveinek előtagja a helyről azure.activedirectory a másikra spring.cloud.azure.active-directorymódosult.
  2. Új tulajdonságot spring.cloud.azure.active-directory.enabled ad hozzá a Microsoft Entra-hoz kapcsolódó funkciók engedélyezéséhez/letiltásához. Az alapértelmezett érték false.

Az alábbi táblázat a tulajdonságleképezéseket mutatja be a következők között azure-spring-boot-starter-active-directoryspring-cloud-azure-starter-active-directory:

Örökölt tulajdonságok Modern tulajdonságok
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 További információért tekintse meg az alábbi táblázatot.
azure.activedirectory.jwt-connect-timeout spring.cloud.azure.active-directory.jwt-connect-timeout.
azure.activedirectory.jwt-read-timeout spring.cloud.azure.active-directory.jwt-read-timeout.
azure.activedirectory.jwt-size-limit spring.cloud.azure.active-directory.jwt-size-limit.
azure.activedirectory.jwk-set-cache-lifespan spring.cloud.azure.active-directory.jwk-set-cache-lifespan.
azure.activedirectory.jwk-set-cache-refresh-time spring.cloud.azure.active-directory.jwk-set-cache-refresh-time
azure.activedirectory.post-logout-redirect-uri spring.cloud.azure.active-directory.post-logout-redirect-uri
azure.activedirectory.session-stateless spring.cloud.azure.active-directory.session-stateless
azure.activedirectory.redirect-uri-template spring.cloud.azure.active-directory.redirect-uri-template
azure.activedirectory.resource-server.claim-to-authority-prefix-map spring.cloud.azure.active-directory.resource-server.claim-to-authority-prefix-map
azure.activedirectory.resource-server.principal-claim-name spring.cloud.azure.active-directory.resource-server.principal-claim-name
azure.activedirectory.tenant-id spring.cloud.azure.active-directory.profile.tenant-id
azure.activedirectory.user-group.allowed-group-ids spring.cloud.azure.active-directory.user-group.allowed-group-ids
azure.activedirectory.user-group.allowed-group-names spring.cloud.azure.active-directory.user-group.allowed-group-names
azure.activedirectory.user-name-attribútum spring.cloud.azure.active-directory.user-name-attribútum
  • A következő tulajdonságok értéktípusa a következőre longDurationmódosul:

    • jwt-connect-timeout
    • jwt-read-timeout
    • jwk-set-cache-lifespan
    • jwk-set-cache-refresh-time.
  • A rendszer a következő tulajdonságokat távolítja el:

    • azure.activedirectory.allow-telemetria
    • azure.activedirectory.user-group.enable-full-list
    • azure.activedirectory.graph-base-uri
    • azure.activedirectory.graph-membership-uri
  • A rendszer a következő tulajdonságokat adja hozzá:

    • 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

Megjegyzés:

A függvény azure.activedirectory.graph-membership-uri helyébe 2 tulajdonság lépett: spring.cloud.azure.active-directory.profile.environment.microsoft-graph-endpoint és spring.cloud.azure.active-directory.user-group.use-transitive-members. Az első tulajdonság a gazdagép nevének megadására szolgál, a második pedig az URL-elérési út használatára szolgáló jelölő: v1.0/me/memberOf vagy v1.0/me/transitiveMemberOf.

Íme néhány példa a migrálásra:

  • 1. példa. Case 1

    • Örökölt: azure.activedirectory.graph-membership-uri=https://graph.microsoft.com/v1.0/me/memberOf

    • Modern: spring.cloud.azure.active-directory.profile.environment.microsoft-graph-endpoint=https://graph.microsoft.com/ + spring.cloud.azure.active-directory.user-group.use-transitive-members=false

  • 2. példa. Case 2

    • Örökölt: azure.activedirectory.graph-membership-uri=https://graph.microsoft.com/v1.0/me/transitiveMemberOf

    • Modern: spring.cloud.azure.active-directory.profile.environment.microsoft-graph-endpoint=https://graph.microsoft.com/ + spring.cloud.azure.active-directory.user-group.use-transitive-members=true

API-változások

Az alábbi táblázat a következő osztályleképezéseket azure-spring-boot-starter-active-directoryspring-cloud-azure-starter-active-directorymutatja:

Örökölt osztály Modern osztály
com.azure.spring.aad.webapi.AADJwtBearerTokenAuthenticationConverter com.azure.spring.cloud.autoconfigure.aad.AadJwtBearerTokenAuthenticationConverter
com.azure.spring.aad.webapi.AADResourceServerProperties com.azure.spring.cloud.autoconfigure.aad.properties.AadResourceServerProperties
com.azure.spring.aad.webapi.AADResourceServerWebSecurityConfigurerAdapter com.azure.spring.cloud.autoconfigure.aad.AadResourceServerWebSecurityConfigurerAdapter
com.azure.spring.aad.webapp.AADWebSecurityConfigurerAdapter com.azure.spring.cloud.autoconfigure.aad.AadWebSecurityConfigurerAdapter
com.azure.spring.aad.webapp.AuthorizationClientProperties com.azure.spring.cloud.autoconfigure.aad.properties.AuthorizationClientProperties
com.azure.spring.aad.AADApplicationType com.azure.spring.cloud.autoconfigure.aad.properties.AadApplicationType
com.azure.spring.aad.AADAuthorizationGrantType com.azure.spring.cloud.autoconfigure.aad.properties.AadAuthorizationGrantType
com.azure.spring.aad.AADAuthorizationServerEndpoints com.azure.spring.cloud.autoconfigure.aad.properties.AadAuthorizationServerEndpoints
com.azure.spring.aad.AADClientRegistrationRepository com.azure.spring.cloud.autoconfigure.aad.AadClientRegistrationRepository
com.azure.spring.aad.AADTrustedIssuerRepository com.azure.spring.cloud.autoconfigure.aad.AadTrustedIssuerRepository
com.azure.spring.autoconfigure.aad.AADAppRoleStatelessAuthenticationFilter com.azure.spring.cloud.autoconfigure.aad.filter.AadAppRoleStatelessAuthenticationFilter
com.azure.spring.autoconfigure.aad.AADAuthenticationFilter com.azure.spring.cloud.autoconfigure.aad.filter.AadAuthenticationFilter
com.azure.spring.autoconfigure.aad.AADAuthenticationProperties com.azure.spring.cloud.autoconfigure.aad.properties.AadAuthenticationProperties
com.azure.spring.autoconfigure.aad.UserPrincipal com.azure.spring.cloud.autoconfigure.aad.filter.UserPrincipal
com.azure.spring.autoconfigure.aad.UserPrincipalManager com.azure.spring.cloud.autoconfigure.aad.filter.UserPrincipalManager

Ez a szakasz az azure-spring-boot-starter-active-directoryból eltávolított osztályokat sorolja fel.

  • Régi osztály eltávolítása

    • com.azure.spring.aad.webapp.AADHandleConditionalAccessFilter
    • com.azure.spring.aad.webapi.validator.AADJwtAudienceValidator
    • com.azure.spring.aad.webapi.validator.AADJwtClaimValidator

Az azure-spring-boot-starter-active-directory-b2c-től a spring-cloud-azure-starter-active-directory-b2c-hez

Ez az útmutató az azure-spring-boot-starter-active-directory-b2c spring-cloud-azure-starter-active-directory-b2c fájlba való migrálást segíti az azure-spring-boot-starter-active-directory-b2c 3-as verziójából.

Általános információkért használja az alábbi hivatkozásokat:

  • A 4.0-s változások áttekintéséhez tekintse meg a Bevezetés és a Migrálás előnyeit ismertető szakaszt.
  • Ha többet szeretne megtudni a projekt elnevezésének stratégiai változásairól, tekintse meg az Elnevezési módosítások szakaszt.
  • Ha tudni szeretné, hogyan használhat egy BOM-t az összes Spring Cloud Azure-kódtárhoz, tekintse meg a BOM szakaszt .
  • A Spring Cloud Azure 4.0-s hitelesítésének kezeléséről a Hitelesítés módosítása című szakaszban olvashat.
  • A migrálás során használható lehetőségekről spring-boot-properties-migrator az egyes SDK-k konfigurálása című szakaszban olvashat.
  • A globális és gyakori konfigurációs változásokról a Globális konfigurációk című szakaszban olvashat bővebben.

Függőségi változások

Néhány szükségtelen függőséget tartalmaztak az örökölt összetevők, amelyeket eltávolítottunk a modern Spring Cloud Azure 4.0-kódtárakból. Ügyeljen arra, hogy manuálisan adja hozzá az eltávolított függőségeket a projekthez, hogy megelőzze a véletlen összeomlást.

Az alábbi táblázat az Eltávolított függőségeket mutatja be:

Eltávolított függőségek Leírás
org.springframework.boot:spring-boot-starter-validation Adja meg az érvényesítési kezdőt, ha a Hibernate Validatort szeretné használni.

SDK-konfiguráció változásai

Ez a szakasz a hozzáadott, eltávolított és módosított tulajdonságok módosításait tartalmazza.

  • A következő két pont a legfontosabb, hogy figyelmet fordítsunk:
  1. Minden konfigurációs tulajdonságnév az előtagot azure.activedirectory.b2c a következőre spring.cloud.azure.active-directory.b2cmódosította: .
  2. A rendszer új tulajdonsággal spring.cloud.azure.active-directory.b2c.enabled bővíti az Azure AD B2C-vel kapcsolatos funkciók engedélyezését és letiltását. Az alapértelmezett érték: hamis.

Az alábbi táblázat a következő tulajdonságleképezéseket azure-spring-boot-starter-active-directory-b2cspring-cloud-azure-starter-active-directory-b2cmutatja:

Örökölt tulajdonságok Modern tulajdonságok
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-flow 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
  • Eltávolított tulajdonságok az azure-spring-boot-starter-active-directory-b2c fájlból:

    • azure.activedirectory.b2c.allow-telemetria
    • azure.activedirectory.b2c.tenant
  • A következő tulajdonságok értéktípusa a következőre longDurationmódosul:

    • jwt-connect-timeout
    • jwt-read-timeout

API-változások

Az alábbi táblázat a következő osztályleképezéseket azure-spring-boot-starter-active-directory-b2cspring-cloud-azure-starter-active-directory-b2cmutatja:

Örökölt osztály Modern osztály
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

Az azure-spring-boot-starter-cosmostól a spring-cloud-azure-starter-data-cosmosig

Ez az útmutató az azure-spring-boot-starter-cosmos 3-as verziójából származó spring-cloud-azure-starter-data-cosmosra való migrálást segíti.

Általános információkért használja az alábbi hivatkozásokat:

  • A 4.0-s változások áttekintéséhez tekintse meg a Bevezetés és a Migrálás előnyeit ismertető szakaszt.
  • Ha többet szeretne megtudni a projekt elnevezésének stratégiai változásairól, tekintse meg az Elnevezési módosítások szakaszt.
  • Ha tudni szeretné, hogyan használhat egy BOM-t az összes Spring Cloud Azure-kódtárhoz, tekintse meg a BOM szakaszt .
  • A Spring Cloud Azure 4.0-s hitelesítésének kezeléséről a Hitelesítés módosítása című szakaszban olvashat.
  • A migrálás során használható lehetőségekről spring-boot-properties-migrator az egyes SDK-k konfigurálása című szakaszban olvashat.
  • A globális és gyakori konfigurációs változásokról a Globális konfigurációk című szakaszban olvashat bővebben.

SDK-konfiguráció változásai

Minden konfigurációs tulajdonságnév az előtagot azure.cosmos a következőre spring.cloud.azure.cosmosmódosította: .

Az alábbi táblázat a következő osztályleképezéseket azure-spring-boot-starter-cosmosspring-cloud-azure-starter-data-cosmosmutatja:

Örökölt tulajdonságok Modern tulajdonságok
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

Az azure-spring-boot-starter-keyvault-secrets-tól a spring-cloud-azure-starter-keyvault-secretsig

Ez az útmutató az azure-spring-boot-starter-keyvault-secrets 3-as verziójából származó spring-cloud-azure-starter-keyvault-secrets kódra való migrálásban nyújt segítséget.

Általános információkért használja az alábbi hivatkozásokat:

  • A 4.0-s változások áttekintéséhez tekintse meg a Bevezetés és a Migrálás előnyeit ismertető szakaszt.
  • Ha többet szeretne megtudni a projekt elnevezésének stratégiai változásairól, tekintse meg az Elnevezési módosítások szakaszt.
  • Ha tudni szeretné, hogyan használhat egy BOM-t az összes Spring Cloud Azure-kódtárhoz, tekintse meg a BOM szakaszt .
  • A Spring Cloud Azure 4.0-s hitelesítésének kezeléséről a Hitelesítés módosítása című szakaszban olvashat.
  • A migrálás során használható lehetőségekről spring-boot-properties-migrator az egyes SDK-k konfigurálása című szakaszban olvashat.
  • A globális és gyakori konfigurációs változásokról a Globális konfigurációk című szakaszban olvashat bővebben.

SDK-konfiguráció változásai

Ez a szakasz a hozzáadott, eltávolított és módosított tulajdonságok módosításait tartalmazza.

Az alábbi táblázat a következő tulajdonságleképezéseket azure-spring-boot-starter-keyvault-secretsspring-cloud-azure-starter-keyvault-secretsmutatja:

Örökölt tulajdonságok Modern tulajdonságok
azure.keyvault.case-sensitive-keys spring.cloud.azure.keyvault.secret.property-source[n].case-sensitive
azure.keyvault.certificate-password spring.cloud.azure.keyvault.secret.property-source[n].credential.client-certificate-password
azure.keyvault.certificate-path spring.cloud.azure.keyvault.secret.property-source[n].credential.client-certificate-path
azure.keyvault.client-id spring.cloud.azure.keyvault.secret.property-source[n].credential.client-id
azure.keyvault.client-key spring.cloud.azure.keyvault.secret.property-source[n].credential.client-secret
azure.keyvault.enabled spring.cloud.azure.keyvault.secret.property-source-enabled és spring.cloud.azure.keyvault.secret.property-source-enabled
azure.keyvault.order A továbbiakban nem támogatott. Használja inkább a tulajdonság-forrás[n] sorrendjét.
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
  • Eltávolított tulajdonságok a spring-cloud-azure-starter-keyvault-secrets szolgáltatásból

azure.keyvault.allow-telemetry azure.keyvault.order

A következő pontokra kell figyelnie:

  1. Minden konfigurációs tulajdonságnév az előtagot azure.keyvault a következőre spring.cloud.azure.keyvault.secretmódosította: .
  2. spring.cloud.azure.keyvault.secret.enabled a Key Vault titkos kulcsfunkcióinak engedélyezésére szolgál, tartalmazza a Key Vault titkos ügyfél bab(like SecretClient és ) konfigurálását és SecretAsyncClienta hozzáadást KeyVaultPropertySourceConfigurableEnvironment.
  3. spring.cloud.azure.keyvault.secret.property-source-enabled az összes KeyVaultPropertySourceengedélyezésére szolgál. Csak akkor lép érvénybe, ha spring.cloud.azure.keyvault.secret.enabled=true.
  4. Az Azure gyakori tulajdonságai (például client, proxy, retry, credential), profile) és Key Vault-tulajdonságok (például endpoint, service-version). Ha spring.cloud.azure.keyvault.secret.property-sources[n].PROPERTY_NAME nincs konfigurálva, spring.cloud.azure.keyvault.secret.PROPERTY_NAME akkor a rendszer használja.
  5. spring.cloud.azure.keyvault.secret.property-sources[n].resource egy egyedi Azure-erőforrásra vonatkozik, ezért ha nincs konfigurálva, akkor nem kap értéket más helyekről.

Az azure-spring-boot-starter-servicebus-jms-től a spring-cloud-azure-starter-servicebus-jmsig

Ez az útmutató az azure-spring-boot-starter-servicebus-jms 3-as verziójából származó spring-cloud-azure-starter-servicebus-jms-ekre való migrálást segíti.

Általános információkért használja az alábbi hivatkozásokat:

  • A 4.0-s változások áttekintéséhez tekintse meg a Bevezetés és a Migrálás előnyeit ismertető szakaszt.
  • Ha többet szeretne megtudni a projekt elnevezésének stratégiai változásairól, tekintse meg az Elnevezési módosítások szakaszt.
  • Ha tudni szeretné, hogyan használhat egy BOM-t az összes Spring Cloud Azure-kódtárhoz, tekintse meg a BOM szakaszt .
  • A Spring Cloud Azure 4.0-s hitelesítésének kezeléséről a Hitelesítés módosítása című szakaszban olvashat.
  • A migrálás során használható lehetőségekről spring-boot-properties-migrator az egyes SDK-k konfigurálása című szakaszban olvashat.
  • A globális és gyakori konfigurációs változásokról a Globális konfigurációk című szakaszban olvashat bővebben.

SDK-konfiguráció változásai

Az olvashatóság érdekében spring.jms.servicebus.idle-timeout a konfiguráció típusa (ezredmásodpercről longmintára) Duration változik.

Az azure-spring-boot-starter-storage-tól a spring-cloud-azure-starter-storage-blobig

Ez az útmutató segítséget nyújt a spring-cloud-azure-starter-storage-blobra való migrálásban az Azure-Spring-Boot-Starter-Storage 3-as verziójából.

Általános információkért használja az alábbi hivatkozásokat:

  • A 4.0-s változások áttekintéséhez tekintse meg a Bevezetés és a Migrálás előnyeit ismertető szakaszt.
  • Ha többet szeretne megtudni a projekt elnevezésének stratégiai változásairól, tekintse meg az Elnevezési módosítások szakaszt.
  • Ha tudni szeretné, hogyan használhat egy BOM-t az összes Spring Cloud Azure-kódtárhoz, tekintse meg a BOM szakaszt .
  • A Spring Cloud Azure 4.0-s hitelesítésének kezeléséről a Hitelesítés módosítása című szakaszban olvashat.
  • A migrálás során használható lehetőségekről spring-boot-properties-migrator az egyes SDK-k konfigurálása című szakaszban olvashat.
  • A globális és gyakori konfigurációs változásokról a Globális konfigurációk című szakaszban olvashat bővebben.

SDK-konfiguráció változásai

Minden konfigurációs tulajdonságnév az előtagot azure.storage a következőre spring.cloud.azure.storage.blobmódosította: .

Az alábbi táblázat a következő tulajdonságleképezéseket azure-spring-boot-starter-storagespring-cloud-azure-starter-storage-blobmutatja:

Örökölt tulajdonságok Modern tulajdonságok
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-változások

Az alábbi táblázat a következő osztályleképezéseket azure-spring-boot-starter-storagespring-cloud-azure-starter-storage-blobmutatja:

Örökölt osztály Modern osztály
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

Az azure-spring-boot-starter-storage-tól a spring-cloud-azure-starter-storage-file-shareig

Ez az útmutató az azure-spring-boot-starter-storage 3-as verziójából származó spring-cloud-azure-starter-storage-file-share fájlmegosztásra való migrálást segíti.

Általános információkért használja az alábbi hivatkozásokat:

  • A 4.0-s változások áttekintéséhez tekintse meg a Bevezetés és a Migrálás előnyeit ismertető szakaszt.
  • Ha többet szeretne megtudni a projekt elnevezésének stratégiai változásairól, tekintse meg az Elnevezési módosítások szakaszt.
  • Ha tudni szeretné, hogyan használhat egy BOM-t az összes Spring Cloud Azure-kódtárhoz, tekintse meg a BOM szakaszt .
  • A Spring Cloud Azure 4.0-s hitelesítésének kezeléséről a Hitelesítés módosítása című szakaszban olvashat.
  • A migrálás során használható lehetőségekről spring-boot-properties-migrator az egyes SDK-k konfigurálása című szakaszban olvashat.
  • A globális és gyakori konfigurációs változásokról a Globális konfigurációk című szakaszban olvashat bővebben.

SDK-konfiguráció változásai

Minden konfigurációs tulajdonságnév az előtagot azure.storage a következőre spring.cloud.azure.storage.filesharemódosította: .

Az alábbi táblázat a következő tulajdonságleképezéseket azure-spring-boot-starter-storagespring-cloud-azure-starter-storage-file-sharemutatja:

Örökölt tulajdonságok Modern tulajdonságok
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-változások

Az alábbi táblázat a következő osztályleképezéseket azure-spring-boot-starter-storagespring-cloud-azure-starter-storage-file-sharemutatja:

Örökölt osztály Modern osztály
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

Az azure-spring-cloud-starter-eventhubstól a spring-cloud-azure-starter-integration-eventhubsig

Ez az útmutató az Azure-spring-cloud-starter-eventhubs 2-es verziójából származó spring-cloud-azure-starter-integration-eventhubs-ra való migrálást segíti.

Általános információkért használja az alábbi hivatkozásokat:

  • A 4.0-s változások áttekintéséhez tekintse meg a Bevezetés és a Migrálás előnyeit ismertető szakaszt.
  • Ha többet szeretne megtudni a projekt elnevezésének stratégiai változásairól, tekintse meg az Elnevezési módosítások szakaszt.
  • Ha tudni szeretné, hogyan használhat egy BOM-t az összes Spring Cloud Azure-kódtárhoz, tekintse meg a BOM szakaszt .
  • A Spring Cloud Azure 4.0-s hitelesítésének kezeléséről a Hitelesítés módosítása című szakaszban olvashat.
  • A migrálás során használható lehetőségekről spring-boot-properties-migrator az egyes SDK-k konfigurálása című szakaszban olvashat.
  • A globális és gyakori konfigurációs változásokról a Globális konfigurációk című szakaszban olvashat bővebben.

SDK-konfiguráció változásai

Fontos

A konfigurációs előtag át lett állítva a spring.cloud.azure.eventhubspring.cloud.azure.eventhubs.

Az előtag gyermek bejegyzéseinek módosításait az alábbi táblázatokban találhatja meg:

Az alábbi táblázat a következőhöz való tulajdonságleképezéseket azure-spring-cloud-starter-eventhubsspring-cloud-azure-starter-integration-eventhubsmutatja be:

Örökölt tulajdonságok Modern tulajdonságok
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

Például módosítsa a következőt:

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}

erre:

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-változások

  • A figyelőjegyzetek módosításait a migration-azure-spring-cloud-messaging, azure-spring-cloud-messaging library migrálási <<>> útmutatójában találja.
  • A EventHubOperation feliratkozási függvényt áthelyezték az osztályba EventHubsMessageListenerContainer , és a küldő függvényt áthelyezték ide EventHubsTemplate.
  • Nevezze át EventHubInboundChannelAdapter , hogy EventHubsInboundChannelAdapter összhangban legyen az Azure Event Hubs szolgáltatásával.
  • Módosítsa a konstruktort a következőre EventHubInboundChannelAdapter(String, SubscribeByGroupOperation, String)EventHubsInboundChannelAdapter(EventHubsMessageListenerContainer) : és EventHubsInboundChannelAdapter(EventHubsMessageListenerContainer, ListenerMode).
  • A példánystílust a buildstílus helyett az egyszerű konstruktorra módosíthatja CheckpointConfig .
  • Drop API EventHubOperation#setCheckpointConfig. A bejövő csatornaadapter ellenőrzőpont-konfigurációjának beállításához a felhasználók meghívhatják a metódust EventHubsContainerProperties#setCheckpointConfig.
  • Drop API EventHubOperation#setBatchConsumerConfig. A bejövő csatornaadapter kötegfogyasztó konfigurációjának beállításához a felhasználók meghívhatják a két metódust EventHubsContainerProperties#getBatch#setMaxSize , és EventHubsContainerProperties#getBatch#setMaxWaitTime közben.
  • A kötegfogyasztó mód esetében módosítsa a kötegelt üzenetekből konvertált üzenetfejlécek nevét.
    • Üzenetfejléc módosítása a másikra azure_eventhub_enqueued_timeazure_eventhubs_batch_converted_enqueued_time
    • Üzenetfejléc módosítása a másikra azure_eventhub_offsetazure_eventhubs_batch_converted_offset
    • Üzenetfejléc módosítása a másikra azure_eventhub_sequence_numberazure_eventhubs_batch_converted_sequence_number
    • Üzenetfejléc módosítása a másikra azure_partition_keyazure_batch_converted_partition_key
  • Amikor üzeneteket tesz közzé az Event Hubsban, hagyja figyelmen kívül a kötegelt üzenetekből konvertált összes üzenetfejlécet. A fejlécek a következők:
    • 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
  • Az BATCH ellenőrzőpont mód jelenleg csak kötegfogyasztó módban működik, amely az EventHubsInboundChannelAdapter konstruktornak való átadással ListenerMode.BATCH engedélyezhető.

Az alábbi táblázat a következő osztályleképezéseket azure-spring-cloud-starter-eventhubsspring-cloud-azure-starter-integration-eventhubsmutatja:

Örökölt osztály Modern osztály
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

Mintakódrészlet

  • EventHubsInboundChannelAdapter mintakód:

    Régi kód:

    public class Demo {
        @Bean
        public EventHubInboundChannelAdapter messageChannelAdapter(
            @Qualifier("INPUT_CHANNEL") MessageChannel inputChannel, EventHubOperation   eventhubOperation) {
            eventhubOperation.setCheckpointConfig(CheckpointConfig.builder().checkpointMode  (CheckpointMode.MANUAL).build());
            EventHubInboundChannelAdapter adapter = new EventHubInboundChannelAdapter("EVENTHUB_NAME",
                eventhubOperation, "CONSUMER_GROUP");
            adapter.setOutputChannel(inputChannel);
            return adapter;
        }
    }
    

    Modern kód:

    public class Demo {
        @Bean
        public EventHubsMessageListenerContainer messageListenerContainer(EventHubsProcessorFactory processorFactory) {
            EventHubsContainerProperties containerProperties = new EventHubsContainerProperties();
            containerProperties.setEventHubName("EVENTHUB_NAME");
            containerProperties.setConsumerGroup("CONSUMER_GROUP");
            CheckpointConfig config = new CheckpointConfig(CheckpointMode.MANUAL);
            containerProperties.setCheckpointConfig(config);
            return new EventHubsMessageListenerContainer(processorFactory, containerProperties);
        }
    
        @Bean
        public EventHubsInboundChannelAdapter messageChannelAdapter(@Qualifier("INPUT_CHANNEL") MessageChannel inputChannel,
                                                                    EventHubsMessageListenerContainer listenerContainer) {
            EventHubsInboundChannelAdapter adapter = new EventHubsInboundChannelAdapter(listenerContainer);
            adapter.setOutputChannel(inputChannel);
            return adapter;
        }
    }
    
  • DefaultMessageHandler mintakód:

    Régi kód:

    public class Demo {
        @Bean
        @ServiceActivator(inputChannel = "OUTPUT_CHANNEL")
        public MessageHandler messageSender(EventHubOperation eventhubOperation) {
            DefaultMessageHandler handler = new DefaultMessageHandler("EVENTHUB_NAME", eventhubOperation);
            handler.setSendCallback(new ListenableFutureCallback<Void>() {
                @Override
                public void onSuccess(Void result) {
                    LOGGER.info("Message was sent successfully.");
                }
    
                @Override
                public void onFailure(Throwable ex) {
                    LOGGER.error("There was an error sending the message.", ex);
                }
            });
            return handler;
        }
    }
    

    Modern kód:

    public class Demo {
        @Bean
        @ServiceActivator(inputChannel = "OUTPUT_CHANNEL")
        public MessageHandler messageSender(EventHubsTemplate eventhubOperation) {
            DefaultMessageHandler handler = new DefaultMessageHandler("EVENTHUB_NAME", eventhubOperation);
            handler.setSendCallback(new ListenableFutureCallback<Void>() {
                @Override
                public void onSuccess(Void result) {
                    LOGGER.info("Message was sent successfully.");
                }
    
                @Override
                public void onFailure(Throwable ex) {
                    LOGGER.error("There was an error sending the message.", ex);
                }
            });
    
            return handler;
        }
    }
    

Az azure-spring-integration-eventhubstól a spring-integration-azure-eventhubsig

Ez az útmutató az azure-spring-integration-eventhubs 2-es verziójából származó spring-integration-azure-eventhubsra való migrálást segíti.

  • A 4.0-s változások áttekintéséhez tekintse meg a Bevezetés és a Migrálás előnyeit ismertető szakaszt.
  • Ha többet szeretne megtudni a projekt elnevezésének stratégiai változásairól, tekintse meg az Elnevezési módosítások szakaszt.
  • Ha tudni szeretné, hogyan használhat egy BOM-t az összes Spring Cloud Azure-kódtárhoz, tekintse meg a BOM szakaszt .

API-változások

  • A EventHubOperation feliratkozási függvényt áthelyezték az osztályba EventHubsMessageListenerContainer , és a küldő függvényt áthelyezték ide EventHubsTemplate.
  • Nevezze át EventHubInboundChannelAdapter , hogy EventHubsInboundChannelAdapter összhangban legyen az Azure Event Hubs szolgáltatásával.
  • Módosítsa a konstruktort a következőre EventHubInboundChannelAdapter(String, SubscribeByGroupOperation, String)EventHubsInboundChannelAdapter(EventHubsMessageListenerContainer) : és EventHubsInboundChannelAdapter(EventHubsMessageListenerContainer, ListenerMode).
  • A példánystílust a buildstílus helyett az egyszerű konstruktorra módosíthatja CheckpointConfig .
  • Drop API EventHubOperation#setCheckpointConfig. A bejövő csatornaadapter ellenőrzőpont-konfigurációjának beállításához a felhasználók meghívhatják a metódust EventHubsContainerProperties#setCheckpointConfig.
  • Drop API EventHubOperation#setBatchConsumerConfig. A bejövő csatornaadapter kötegfogyasztó konfigurációjának beállításához a felhasználók meghívhatják a két metódust EventHubsContainerProperties#getBatch#setMaxSize , és EventHubsContainerProperties#getBatch#setMaxWaitTime közben.
  • A kötegfogyasztó mód esetében módosítsa a kötegelt üzenetekből konvertált üzenetfejlécek nevét.
    • Üzenetfejléc módosítása a másikra azure_eventhub_enqueued_timeazure_eventhubs_batch_converted_enqueued_time
    • Üzenetfejléc módosítása a másikra azure_eventhub_offsetazure_eventhubs_batch_converted_offset
    • Üzenetfejléc módosítása a másikra azure_eventhub_sequence_numberazure_eventhubs_batch_converted_sequence_number
    • Üzenetfejléc módosítása a másikra azure_partition_keyazure_batch_converted_partition_key
  • Amikor üzeneteket tesz közzé az Event Hubsban, hagyja figyelmen kívül a kötegelt üzenetekből konvertált összes üzenetfejlécet. A fejlécek a következők:
    • 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
  • Az BATCH ellenőrzőpont mód jelenleg csak kötegfogyasztó módban működik, amely az EventHubsInboundChannelAdapter konstruktornak való átadással ListenerMode.BATCH engedélyezhető.

Az alábbi táblázat a következő osztályleképezéseket azure-spring-integration-eventhubs spring-integration-azure-eventhubsmutatja:

Örökölt osztály Modern osztály
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

Az azure-spring-cloud-starter-servicebustól a spring-cloud-azure-starter-integration-servicebusig

Ez az útmutató az Azure-spring-cloud-starter-servicebus 2-es verziójáról a spring-cloud-azure-starter-integration-servicebusra való migrálást segíti.

Általános információkért használja az alábbi hivatkozásokat:

  • A 4.0-s változások áttekintéséhez tekintse meg a Bevezetés és a Migrálás előnyeit ismertető szakaszt.
  • Ha többet szeretne megtudni a projekt elnevezésének stratégiai változásairól, tekintse meg az Elnevezési módosítások szakaszt.
  • Ha tudni szeretné, hogyan használhat egy BOM-t az összes Spring Cloud Azure-kódtárhoz, tekintse meg a BOM szakaszt .
  • A Spring Cloud Azure 4.0-s hitelesítésének kezeléséről a Hitelesítés módosítása című szakaszban olvashat.
  • A migrálás során használható lehetőségekről spring-boot-properties-migrator az egyes SDK-k konfigurálása című szakaszban olvashat.
  • A globális és gyakori konfigurációs változásokról a Globális konfigurációk című szakaszban olvashat bővebben.

SDK-konfiguráció változásai

Az összes támogatott spring-cloud-azure-starter-integration-servicebuskonfigurációs beállítás esetében az előtag a következő marad spring.cloud.azure.servicebus: .

Az alábbi táblázat a következő tulajdonságleképezéseket azure-spring-cloud-starter-servicebusspring-cloud-azure-starter-integration-servicebusmutatja:

Örökölt tulajdonságok Modern tulajdonságok
spring.cloud.azure.resource-group spring.cloud.azure.servicebus.resource.resource-group
spring.cloud.azure.servicebus.transport-type spring.cloud.azure.servicebus.client.transport-type
spring.cloud.azure.servicebus.retry-options.retry-mode spring.cloud.azure.servicebus.retry.mode
spring.cloud.azure.servicebus.retry-options.max-retries a spring.cloud.azure.servicebus.retry.exponential.max-retries vagy a spring.cloud.azure.servicebus.retry.fixed.max-retries függvényt a spring.cloud.azure.servicebus.retry.mode=fix vagy exponenciális függvénytől függően kell konfigurálni.
spring.cloud.azure.servicebus.retry-options.delay A spring.cloud.azure.servicebus.retry.exponenciális.base-delay vagy spring.cloud.azure.servicebus.retry.fixed.delay függvényt a spring.cloud.azure.servicebus.retry.mode=fix vagy exponenciális értéktől függően kell konfigurálni.
spring.cloud.azure.servicebus.retry-options.max-delay spring.cloud.azure.servicebus.retry.exponenciális.max-delay
spring.cloud.azure.servicebus.retry-options.try-timeout spring.cloud.azure.servicebus.retry.try-timeout

API-változások

  • ServiceBusTopicOperation A ServiceBusQueueOperation feliratkozási függvényt áthelyezte az osztálybaServiceBusMessageListenerContainer, a küldő függvény pedig a következőreServiceBusTemplate: .
  • A szolgáltatás elvetése ServiceBusQueueInboundChannelAdapter és ServiceBusTopicInboundChannelAdapteráthelyezése Service Bus-üzenetsor/témakör entitás figyeléséhez a ServiceBusInboundChannelAdapterbe.
  • Módosítsa a konstruktort a következőre ServiceBusQueueInboundChannelAdapter(String, SubscribeByGroupOperation, String)ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer) : és ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode).
  • Módosítsa a konstruktort a következőre ServiceBusTopicInboundChannelAdapter(String, SubscribeByGroupOperation, String)ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer) : és ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode).
  • API-k ServiceBusQueueOperation#setCheckpointConfig és ServiceBusTopicOperation#setCheckpointConfig. A bejövő csatornaadapter ellenőrzőpont-konfigurációjának beállításához a felhasználók meghívhatják a metódust ServiceBusContainerProperties#setAutoComplete . Az automatikus kiegészítési mód letiltása egyenértékű MANUAL az ellenőrzőpont móddal, és az engedélyezéséhez aktiválni fogja a RECORD módot.
  • API-k ServiceBusQueueOperatio#setClientConfig és ServiceBusTopicOperation#setClientConfig. A bejövő csatornaadapter által használt mögöttes ServiceBusProcessorClient adapter konfigurálásához a felhasználók használhatják ServiceBusContainerProperties helyette.
  • A támogatás és a DefaultMessageHandlerServiceBusTemplate támogatás Reactor elvetéseCompletableFuture.
  • Adjon hozzá új API-t az entitás típusának ServiceBusTemplate#setDefaultEntityType megadásához, amely akkor szükséges, ha nincs megadva bab PropertiesSupplier&lt;String, ProducerProperties&gt; a ProducerProperties#entityType.
  • Üzenetfejléc elvetése AzureHeaders.RAW_ID. Use ServiceBusMessageHeaders.MESSAGE_ID instead.

Az alábbi táblázat a következő osztályleképezéseket azure-spring-cloud-starter-servicebusspring-cloud-azure-starter-integration-servicebusmutatja:

Örökölt osztály Modern osztály
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

Mintakódrészlet

  • ServiceBusInboundChannelAdapter mintakód:

    Régi kód, amely a következőt használja ServiceBusQueueInboundChannelAdapterServiceBusTopicInboundChannelAdapter:

    public class Demo {
        @Bean
        public ServiceBusQueueInboundChannelAdapter queueMessageChannelAdapter(
            @Qualifier("INPUT_CHANNEL_NAME") MessageChannel inputChannel, ServiceBusQueueOperation queueOperation) {
            queueOperation.setCheckpointConfig(CheckpointConfig.builder().checkpointMode(CheckpointMode.MANUAL).build());
            ServiceBusQueueInboundChannelAdapter adapter = new ServiceBusQueueInboundChannelAdapter("QUEUE_NAME",
                queueOperation);
            adapter.setOutputChannel(inputChannel);
            return adapter;
        }
    
        @Bean
        public ServiceBusTopicInboundChannelAdapter topicMessageChannelAdapter(
            @Qualifier("INPUT_CHANNEL_NAME") MessageChannel inputChannel, ServiceBusTopicOperation topicOperation) {
            topicOperation.setCheckpointConfig(CheckpointConfig.builder().checkpointMode(CheckpointMode.MANUAL).build());
            ServiceBusTopicInboundChannelAdapter adapter = new ServiceBusTopicInboundChannelAdapter("TOPIC_NAME",
                topicOperation, "SUBSCRIPTION_NAME");
            adapter.setOutputChannel(inputChannel);
            return adapter;
        }
    
    }
    

    Modern kód:

    public class Demo {
        @Bean("queue-listener-container")
        public ServiceBusMessageListenerContainer messageListenerContainer(ServiceBusProcessorFactory processorFactory) {
            ServiceBusContainerProperties containerProperties = new ServiceBusContainerProperties();
            containerProperties.setEntityName("QUEUE_NAME");
            containerProperties.setAutoComplete(false);
            return new ServiceBusMessageListenerContainer(processorFactory, containerProperties);
        }
    
        @Bean
        public ServiceBusInboundChannelAdapter queueMessageChannelAdapter(
            @Qualifier("INPUT_CHANNEL") MessageChannel inputChannel,
            @Qualifier("queue-listener-container") ServiceBusMessageListenerContainer listenerContainer) {
            ServiceBusInboundChannelAdapter adapter = new ServiceBusInboundChannelAdapter(listenerContainer);
            adapter.setOutputChannel(inputChannel);
            return adapter;
        }
    
        @Bean("topic-listener-container")
        public ServiceBusMessageListenerContainer messageListenerContainer(ServiceBusProcessorFactory processorFactory) {
            ServiceBusContainerProperties containerProperties = new ServiceBusContainerProperties();
            containerProperties.setEntityName("TOPIC_NAME");
            containerProperties.setSubscriptionName("SUBSCRIPTION_NAME");
            containerProperties.setAutoComplete(false);
            return new ServiceBusMessageListenerContainer(processorFactory, containerProperties);
        }
    
        @Bean
        public ServiceBusInboundChannelAdapter topicMessageChannelAdapter(
            @Qualifier("INPUT_CHANNEL") MessageChannel inputChannel,
            @Qualifier("topic-listener-container") ServiceBusMessageListenerContainer listenerContainer) {
            ServiceBusInboundChannelAdapter adapter = new ServiceBusInboundChannelAdapter(listenerContainer);
            adapter.setOutputChannel(inputChannel);
            return adapter;
        }
    }
    
  • DefaultMessageHandler mintakód:

    Örökölt kód, példaként az üzenetsorra:

    public class Demo {
        @Bean
        @ServiceActivator(inputChannel = "OUTPUT_CHANNEL_NAME")
        public MessageHandler queueMessageSender(ServiceBusQueueOperation queueOperation) {
            DefaultMessageHandler handler = new DefaultMessageHandler("QUEUE_NAME", queueOperation);
            handler.setSendCallback(new ListenableFutureCallback<Void>() {
                @Override
                public void onSuccess(Void result) {
                    LOGGER.info("Message was sent successfully.");
                }
                @Override
                public void onFailure(Throwable ex) {
                    LOGGER.info("There was an error sending the message.");
                }
            });
            return handler;
        }
    }
    

    Modern kód:

    public class Demo {
    
        @Bean
        @ServiceActivator(inputChannel = "OUTPUT_CHANNEL_NAME")
        public MessageHandler queueMessageSender(ServiceBusTemplate serviceBusTemplate) {
            serviceBusTemplate.setDefaultEntityType(ServiceBusEntityType.QUEUE);
            DefaultMessageHandler handler = new DefaultMessageHandler("QUEUE_NAME", serviceBusTemplate);
            handler.setSendCallback(new ListenableFutureCallback<Void>() {
                @Override
                public void onSuccess(Void result) {
                    LOGGER.info("Message was sent successfully for {}.", "QUEUE_NAME");
                }
    
                @Override
                public void onFailure(Throwable ex) {
                    LOGGER.info("There was an error sending the message.");
                }
            });
    
            return handler;
        }
    }
    

Az azure-spring-integration-servicebustól a spring-integration-azure-servicebusig

Ez az útmutató az azure-spring-integration-servicebus 2-es verziójáról a spring-integration-azure-servicebusra való migrálást segíti.

  • A 4.0-s változások áttekintéséhez tekintse meg a Bevezetés és a Migrálás előnyeit ismertető szakaszt.
  • Ha többet szeretne megtudni a projekt elnevezésének stratégiai változásairól, tekintse meg az Elnevezési módosítások szakaszt.
  • Ha tudni szeretné, hogyan használhat egy BOM-t az összes Spring Cloud Azure-kódtárhoz, tekintse meg a BOM szakaszt .

API-változások

  • ServiceBusTopicOperation A ServiceBusQueueOperation feliratkozási függvényt áthelyezte az osztálybaServiceBusMessageListenerContainer, a küldő függvény pedig a következőreServiceBusTemplate: .
  • A szolgáltatás elvetése ServiceBusQueueInboundChannelAdapter és ServiceBusTopicInboundChannelAdapteráthelyezése Service Bus-üzenetsor/témakör entitás figyeléséhez a ServiceBusInboundChannelAdapterbe.
  • Módosítsa a konstruktort a következőre ServiceBusQueueInboundChannelAdapter(String, SubscribeByGroupOperation, String)ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer) : és ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode).
  • Módosítsa a konstruktort a következőre ServiceBusTopicInboundChannelAdapter(String, SubscribeByGroupOperation, String)ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer) : és ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode).
  • API-k ServiceBusQueueOperation#setCheckpointConfig és ServiceBusTopicOperation#setCheckpointConfig. A bejövő csatornaadapter ellenőrzőpont-konfigurációjának beállításához a felhasználók meghívhatják a metódust ServiceBusContainerProperties#setAutoComplete . Az automatikus kiegészítési mód letiltása egyenértékű MANUAL az ellenőrzőpont móddal, és az engedélyezéséhez aktiválni fogja a RECORD módot.
  • API-k ServiceBusQueueOperation#setClientConfig és ServiceBusTopicOperation#setClientConfig. A bejövő csatornaadapter által használt mögöttes ServiceBusProcessorClient adapter konfigurálásához a felhasználók használhatják ServiceBusContainerProperties helyette.
  • A támogatás és a DefaultMessageHandlerServiceBusTemplate támogatás Reactor elvetéseCompletableFuture.
  • Adjon hozzá új API-t az entitás típusának ServiceBusTemplate#setDefaultEntityType megadásához, amely akkor szükséges, ha nincs megadva bab PropertiesSupplier&lt;String, ProducerProperties&gt; a ProducerProperties#entityType.
  • Üzenetfejléc elvetése AzureHeaders.RAW_ID. Use ServiceBusMessageHeaders.MESSAGE_ID instead.

Az alábbi táblázat a következő osztályleképezéseket azure-spring-integration-servicebusspring-integration-azure-servicebusmutatja:

Örökölt osztály Modern osztály
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

Az azure-spring-cloud-starter-storage-queue-tól a spring-cloud-azure-starter-integration-storage-queueig

Ez az útmutató segítséget nyújt a spring-cloud-azure-starter-integration-storage-queue 2. verziójából a spring-cloud-starter-storage-queuera való migrálásban.

Általános információkért használja az alábbi hivatkozásokat:

  • A 4.0-s változások áttekintéséhez tekintse meg a Bevezetés és a Migrálás előnyeit ismertető szakaszt.
  • Ha többet szeretne megtudni a projekt elnevezésének stratégiai változásairól, tekintse meg az Elnevezési módosítások szakaszt.
  • Ha tudni szeretné, hogyan használhat egy BOM-t az összes Spring Cloud Azure-kódtárhoz, tekintse meg a BOM szakaszt .
  • A Spring Cloud Azure 4.0-s hitelesítésének kezeléséről a Hitelesítés módosítása című szakaszban olvashat.
  • A migrálás során használható lehetőségekről spring-boot-properties-migrator az egyes SDK-k konfigurálása című szakaszban olvashat.
  • A globális és gyakori konfigurációs változásokról a Globális konfigurációk című szakaszban olvashat bővebben.

SDK-konfiguráció változásai

Minden konfigurációs tulajdonságnév az előtagot spring.cloud.azure.storage a következőre spring.cloud.azure.storage.queuemódosította: .

Az alábbi táblázat a következő tulajdonságleképezéseket azure-spring-cloud-starter-storage-queuespring-cloud-azure-starter-integration-storage-queuemutatja:

Örökölt tulajdonságok Modern tulajdonságok
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-változások

  • Adja meg helyette a StorageQueueTemplate műveletetStorageQueueOperation.
  • A konfiguráció StorageQueueTemplateelvetése checkpoint-mode csak a MANUAL módot támogatja.

Az alábbi táblázat az osztályleképezéseket mutatja be.azure-spring-cloud-starter-storage-queuespring-cloud-azure-starter-integration-storage-queue

Örökölt osztály Modern osztály
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

Az azure-spring-integration-storage-queue-tól a spring-integration-azure-storage-queueig

Ez az útmutató az azure-spring-integration-storage-queue 2-es verziójáról a spring-integration-azure-storage-queuera való migrálást segíti.

  • A 4.0-s változások áttekintéséhez tekintse meg a Bevezetés és a Migrálás előnyeit ismertető szakaszt.
  • Ha többet szeretne megtudni a projekt elnevezésének stratégiai változásairól, tekintse meg az Elnevezési módosítások szakaszt.
  • Ha tudni szeretné, hogyan használhat egy BOM-t az összes Spring Cloud Azure-kódtárhoz, tekintse meg a BOM szakaszt .

API-változások

  • Adja meg helyette a StorageQueueTemplate műveletetStorageQueueOperation.
  • A konfiguráció StorageQueueTemplateelvetése checkpoint-mode csak a MANUAL módot támogatja.

Az alábbi táblázat az osztályleképezéseket mutatja be.azure-spring-integration-storage-queuespring-integration-azure-storage-queue

Örökölt osztály Modern osztály
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

Az azure-spring-cloud-stream-binder-eventhubstól a spring-cloud-azure-stream-binder-eventhubsig

Ez az útmutató segítséget nyújt a spring-cloud-azure-stream-binder-eventhubsra való migrálásban az azure-spring-cloud-stream-binder-eventhubs 2. verziójából.

Általános információkért használja az alábbi hivatkozásokat:

  • A 4.0-s változások áttekintéséhez tekintse meg a Bevezetés és a Migrálás előnyeit ismertető szakaszt.
  • Ha többet szeretne megtudni a projekt elnevezésének stratégiai változásairól, tekintse meg az Elnevezési módosítások szakaszt.
  • Ha tudni szeretné, hogyan használhat egy BOM-t az összes Spring Cloud Azure-kódtárhoz, tekintse meg a BOM szakaszt .
  • A Spring Cloud Azure 4.0-s hitelesítésének kezeléséről a Hitelesítés módosítása című szakaszban olvashat.
  • A migrálás során használható lehetőségekről spring-boot-properties-migrator az egyes SDK-k konfigurálása című szakaszban olvashat.
  • A globális és gyakori konfigurációs változásokról a Globális konfigurációk című szakaszban olvashat bővebben.

SDK-konfiguráció változásai

Fontos

A konfigurációs előtag át lett állítva a spring.cloud.azure.eventhubspring.cloud.azure.eventhubs.

Fontos

A kötés típusa a következőről lesz átnevezve: eventhub .eventhubs

Az alábbi előtag gyermek bejegyzéseinek módosításait az alábbi táblázatban találhatja meg.

Az alábbi táblázat a következőhöz való tulajdonságleképezéseket azure-spring-cloud-stream-binder-eventhubsspring-cloud-azure-stream-binder-eventhubsmutatja be:

Örökölt tulajdonságok Modern tulajdonságok
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

Megjegyzés:

A konfiguráció értéktípusa start-position az egyes partíciók számáról com.azure.spring.integration.core.api.StartPosition egy-egyre mapStartPositionProperties módosul. A kulcs tehát a partícióazonosító, amelynek értéke com.azure.spring.cloud.service.eventhubs.properties.StartPositionProperties magában foglalja az eltolás tulajdonságait, a sorszámot, a lekérdezett dátumidőt és a befogadót.

Konfigurációs migrálási példák

A kapcsolati sztring hitelesítéshez és a fent említett tulajdonságok migrálásához a konfigurációs módosítások a következők:

Örökölt konfiguráció:

spring:
  cloud:
    azure:
      eventhub:
        connection-string: ${AZURE_EVENTHUBS_CONNECTION_STRING}
        checkpoint-storage-account: ${AZURE_CHECKPOINT_STORAGE_ACCOUNT_NAME}
        checkpoint-access-key: ${AZURE_CHECKPOINT_ACCOUNT_KEY}
        checkpoint-container: ${AZURE_CHECKPOINT_CONTAINER_NAME}
    stream:
      eventhub:
        bindings:
          <binding-name>:
            consumer:
              max-batch-size: ${AZURE_MAX_BATCH_SIZE}
              max-wait-time: ${AZURE_MAX_WAIT_TIME}
              checkpoint-mode: ${AZURE_CHECKPOINT_MODE}
              checkpoint-count: ${AZURE_CHECKPOINT_COUNT}
              checkpoint-interval: ${AZURE_CHECKPOINT_INTERVAL}
              start-position: EARLIEST

Modern konfiguráció:

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

Ha a kapcsolati sztring helyett biztonsági tagokat használ, a 4.0-s verzió előtti verziókban az alkalmazás először az Azure Resource Managerhez (ARM) csatlakozik a megadott biztonsági taggal, majd lekéri a megadott névtér kapcsolati sztring ARM-lel. Végül az alkalmazás a lekért kapcsolati sztring használatával csatlakozik az Azure Event Hubshoz. Ily módon a megadott biztonsági tagot a közreműködői szerepkörrel kell megadni a társított Azure Event Hubs-névtér lekéréséhez.

Az Azure Spring Apps 4.0-hoz kétféleképpen használhatja ki a biztonsági tagokat a hitelesítéshez. Az egyik továbbra is a tagok használatával csatlakozik az ARM-hez, és lekéri azokat a kapcsolati sztring, ahol a Contributor szerepkör szükséges a tagok számára. A másik a biztonsági tagok segítségével hitelesíti a Microsoft Entra-azonosítót, majd közvetlenül csatlakozik az Azure Event Hubshoz. Ebben az esetben a Contributor szerepkörre már nincs szükség, míg az üzenetkezelési műveletekhez más Data kapcsolódó szerepkörökre van szükség. Ha meg szeretné győződni arról, hogy a biztonsági tag megkapta a megfelelő engedélyt az Azure-erőforrás eléréséhez, olvassa el a Hozzáférés engedélyezése a Microsoft Entra-azonosítóval című témakört.

Az ARM-alapú hitelesítés esetében, ha például a szolgáltatásnevet veszi figyelembe, a konfigurációs migrálás az alábbiakat tartalmazza, ahol a hozzárendelt szerepkör nem változik:

Örökölt konfiguráció:

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}

Megjegyzés:

Az engedélyezett tenant-id értékek a következők: common, organizations, consumersvagy a bérlőazonosító. Ezekről az értékekről további információt a AADSTS50020 – Az identitásszolgáltatótól származó felhasználói fiók nem létezik a bérlőben című hiba helytelen végpontja (személyes és szervezeti fiókok) című szakaszában talál. Az egybérlős alkalmazás konvertálásával kapcsolatos információkért lásd : Egybérlős alkalmazás átalakítása több-bérlőssé a Microsoft Entra-azonosítón.

Modern konfigurációra, az Azure-előfizetés azonosítójának és erőforráscsoportjának tulajdonságaira van szükség:

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}

Megjegyzés:

Az engedélyezett tenant-id értékek a következők: common, organizations, consumersvagy a bérlőazonosító. Ezekről az értékekről további információt a AADSTS50020 – Az identitásszolgáltatótól származó felhasználói fiók nem létezik a bérlőben című hiba helytelen végpontja (személyes és szervezeti fiókok) című szakaszában talál. Az egybérlős alkalmazás konvertálásával kapcsolatos információkért lásd : Egybérlős alkalmazás átalakítása több-bérlőssé a Microsoft Entra-azonosítón.

A Microsoft Entra ID-val történő hitelesítéshez és engedélyezéshez közvetlenül is migrálhat anélkül, hogy az ARM-be való kitérőt tenné. Győződjön meg arról, hogy a rendszerbiztonsági tagnak meg kell adnia a szükséges Data szerepköröket az üzenetkezelési műveletekhez. A szolgáltatásnév és a felügyelt identitás konfigurációs példái a következők:

  • Szolgáltatásnévvel

    spring:
      cloud:
        azure:
          credential:
            client-id: ${AZURE_CLIENT_ID}
            client-secret: ${AZURE_CLIENT_SECRET}
          profile:
            tenant-id: <tenant>
          eventhubs:
            namespace: ${EVENTHUB_NAMESPACE}
    

Megjegyzés:

Az engedélyezett tenant-id értékek a következők: common, organizations, consumersvagy a bérlőazonosító. Ezekről az értékekről további információt a AADSTS50020 – Az identitásszolgáltatótól származó felhasználói fiók nem létezik a bérlőben című hiba helytelen végpontja (személyes és szervezeti fiókok) című szakaszában talál. Az egybérlős alkalmazás konvertálásával kapcsolatos információkért lásd : Egybérlős alkalmazás átalakítása több-bérlőssé a Microsoft Entra-azonosítón.

  • Felügyelt identitással

    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-változások

Az alábbi táblázat az osztályleképezéseket mutatja be.azure-spring-cloud-stream-binder-eventhubsspring-cloud-azure-stream-binder-eventhubs

Örökölt osztály Modern osztály
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

Az azure-spring-cloud-stream-binder-servicebus-*-tól a spring-cloud-azure-stream-binder-servicebusig

Ez az útmutató segítséget nyújt a spring-cloud-azure-stream-binder-servicebusra való migráláshoz az azure-spring-cloud-stream-binder-servicebus-queue vagy az azure-spring-cloud-stream-binder-servicebus-topic 2-es verziójából.

Általános információkért használja az alábbi hivatkozásokat:

  • A 4.0-s változások áttekintéséhez tekintse meg a Bevezetés és a Migrálás előnyeit ismertető szakaszt.
  • Ha többet szeretne megtudni a projekt elnevezésének stratégiai változásairól, tekintse meg az Elnevezési módosítások szakaszt.
  • Ha tudni szeretné, hogyan használhat egy BOM-t az összes Spring Cloud Azure-kódtárhoz, tekintse meg a BOM szakaszt .
  • A Spring Cloud Azure 4.0-s hitelesítésének kezeléséről a Hitelesítés módosítása című szakaszban olvashat.
  • A migrálás során használható lehetőségekről spring-boot-properties-migrator az egyes SDK-k konfigurálása című szakaszban olvashat.
  • A globális és gyakori konfigurációs változásokról a Globális konfigurációk című szakaszban olvashat bővebben.

SDK-konfiguráció változásai

Fontos

A régi iratgyűjtők könyvtárai és azure-spring-cloud-stream-binder-servicebus-queueazure-spring-cloud-stream-binder-servicebus-topicmost egyesítve vannak egybe spring-cloud-azure-stream-binder-servicebus.

Fontos

A kötőanyag típusa a következőből és servicebus-topic mintából servicebus-queueservicebusvan kombinálva.

Az alábbi táblázat a következő új konfigurációs tulajdonságokat sorolja fel spring-cloud-azure-stream-binder-servicebus:

Modern tulajdonságok Leírás
spring.cloud.stream.servicebus.bindings.binding-name.producer.entity-type Ha a küldési függvényt használja, be kell állítania az entitástípust, amelyet beállíthat témakörre vagy üzenetsorra.

Az alábbi táblázat a következő tulajdonságleképezéseket azure-spring-cloud-stream-binder-servicebus-*spring-cloud-azure-stream-binder-servicebusmutatja:

Örökölt tulajdonságok Modern tulajdonságok
spring.cloud.azure.resource-group spring.cloud.azure.servicebus.resource.resource-group
spring.cloud.azure.servicebus.transport-type spring.cloud.azure.servicebus.client.transport-type
spring.cloud.azure.servicebus.retry-options.retry-mode spring.cloud.azure.servicebus.retry.mode
spring.cloud.azure.servicebus.retry-options.max-retries a spring.cloud.azure.servicebus.retry.exponential.max-retries vagy a spring.cloud.azure.servicebus.retry.fixed.max-retries függvényt a spring.cloud.azure.servicebus.retry.mode=fix vagy exponenciális függvénytől függően kell konfigurálni.
spring.cloud.azure.servicebus.retry-options.delay A spring.cloud.azure.servicebus.retry.exponenciális.base-delay vagy spring.cloud.azure.servicebus.retry.fixed.delay függvényt a spring.cloud.azure.servicebus.retry.mode=fix vagy exponenciális értéktől függően kell konfigurálni.
spring.cloud.azure.servicebus.retry-options.max-delay spring.cloud.azure.servicebus.retry.exponenciális.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.Konkurencia spring.cloud.stream.servicebus.bindings.binding-name.consumer.max-concurrent-sessions/max-concurrent-calls
spring.cloud.stream.servicebus.queue.bindings.binding-name.consumer.ellenőrzőpont mód spring.cloud.stream.servicebus.bindings.binding-name.consumer.automatikus kiegészítés
spring.cloud.stream.servicebus.topic.bindings.* spring.cloud.stream.servicebus.bindings.*
spring.cloud.stream.servicebus.topic.bindings.binding-name.consumer.Konkurencia spring.cloud.stream.servicebus.bindings.binding-name.consumer.max-concurrent-sessions/max-concurrent-calls
spring.cloud.stream.servicebus.topic.bindings.binding-name.consumer.ellenőrzőpont mód spring.cloud.stream.servicebus.bindings.binding-name.consumer.automatikus kiegészítés

Megjegyzés:

Az egyidejűség tulajdonság helyébe a sessionEnabled esetén a maxConcurrentSessions, a sessionsEnabled truefalseesetén pedig a maxConcurrentCalls lép.

Megjegyzés:

Az automatikus kiegészítés engedélyezése egyenlő az RECORD ellenőrzőpont móddal, és ellenkezőleg a MANUAL móddal.

Konfigurációs migrálási példák

Örökölt konfiguráció, példaként az üzenetsorra:

spring:
  cloud:
    azure:
      servicebus:
        connection-string: ${AZURE_SERVICEBUS_BINDER_CONNECTION_STRING}
    stream:
      function:
        definition: consume;supply
      bindings:
        consume-in-0:
          destination: ${AZURE_SERVICEBUS_QUEUE_NAME}
        supply-out-0:
          destination: ${AZURE_SERVICEBUS_QUEUE_NAME}
      servicebus:
        queue:
          bindings:
            consume-in-0:
              consumer:
                checkpoint-mode: MANUAL

Modern konfiguráció:

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

Ha a kapcsolati sztring helyett biztonsági tagokat használ, a 4.0-s verzió előtti verziókban az alkalmazás először az Azure Resource Managerhez (ARM) csatlakozik a megadott biztonsági taggal, majd lekéri a megadott névtér kapcsolati sztring ARM-lel. Végül az alkalmazás a lekért kapcsolati sztring használatával csatlakozik az Azure Service Bushoz. Ily módon a megadott biztonsági tagot közreműködői szerepkörrel kell megadni a társított Azure Service Bus-névtér lekéréséhez.

Az Azure Spring Apps 4.0-hoz kétféleképpen használhatja ki a biztonsági tagokat a hitelesítéshez. Az egyik továbbra is a tagok használatával csatlakozik az ARM-hez, és lekéri azokat a kapcsolati sztring, ahol a Contributor szerepkör szükséges a tagok számára. A másik a biztonsági tagok segítségével hitelesíti a Microsoft Entra-azonosítót, majd közvetlenül csatlakozik az Azure Service Bushoz. Ebben az esetben a Contributor szerepkörre már nincs szükség, míg az üzenetkezelési műveletekhez más Data kapcsolódó szerepkörökre van szükség. Ha meg szeretné győződni arról, hogy a biztonsági tag megkapta a megfelelő engedélyt az Azure-erőforrás eléréséhez, olvassa el a Hozzáférés engedélyezése a Microsoft Entra-azonosítóval című témakört.

Az ARM-alapú hitelesítés esetében, ha például a szolgáltatásnevet veszi figyelembe, a konfigurációs migrálás az alábbiakat tartalmazza, ahol a hozzárendelt szerepkör nem változik:

Örökölt konfiguráció:

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}

Megjegyzés:

Az engedélyezett tenant-id értékek a következők: common, organizations, consumersvagy a bérlőazonosító. Ezekről az értékekről további információt a AADSTS50020 – Az identitásszolgáltatótól származó felhasználói fiók nem létezik a bérlőben című hiba helytelen végpontja (személyes és szervezeti fiókok) című szakaszában talál. Az egybérlős alkalmazás konvertálásával kapcsolatos információkért lásd : Egybérlős alkalmazás átalakítása több-bérlőssé a Microsoft Entra-azonosítón.

Modern konfigurációra, az Azure-előfizetés azonosítójának és erőforráscsoportjának tulajdonságaira van szükség:

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}

Megjegyzés:

Az engedélyezett tenant-id értékek a következők: common, organizations, consumersvagy a bérlőazonosító. Ezekről az értékekről további információt a AADSTS50020 – Az identitásszolgáltatótól származó felhasználói fiók nem létezik a bérlőben című hiba helytelen végpontja (személyes és szervezeti fiókok) című szakaszában talál. Az egybérlős alkalmazás konvertálásával kapcsolatos információkért lásd : Egybérlős alkalmazás átalakítása több-bérlőssé a Microsoft Entra-azonosítón.

A Microsoft Entra ID-val történő hitelesítéshez és engedélyezéshez közvetlenül is migrálhat anélkül, hogy az ARM-be való kitérőt tenné. Győződjön meg arról, hogy a rendszerbiztonsági tagnak meg kell adnia a szükséges Data szerepköröket az üzenetkezelési műveletekhez. A szolgáltatásnév és a felügyelt identitás konfigurációs példái a következők:

  • Szolgáltatásnévvel

    spring:
      cloud:
        azure:
          credential:
            client-id: ${AZURE_CLIENT_ID}
            client-secret: ${AZURE_CLIENT_SECRET}
          profile:
            tenant-id: <tenant>
          servicebus:
            namespace: ${SERVICEBUS_NAMESPACE}
    

Megjegyzés:

Az engedélyezett tenant-id értékek a következők: common, organizations, consumersvagy a bérlőazonosító. Ezekről az értékekről további információt a AADSTS50020 – Az identitásszolgáltatótól származó felhasználói fiók nem létezik a bérlőben című hiba helytelen végpontja (személyes és szervezeti fiókok) című szakaszában talál. Az egybérlős alkalmazás konvertálásával kapcsolatos információkért lásd : Egybérlős alkalmazás átalakítása több-bérlőssé a Microsoft Entra-azonosítón.

  • Felügyelt identitással

    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-változások

  • Üzenetfejléc elvetése AzureHeaders.RAW_ID. Use ServiceBusMessageHeaders.MESSAGE_ID instead.

Az alábbi táblázat az osztályleképezéseket mutatja be.azure-spring-cloud-stream-binder-eventhubsspring-cloud-azure-stream-binder-eventhubs

Örökölt osztály Modern osztály
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

A com.azure.spring:azure-spring-cloud-messaging kódtár nem áll készen a 4.0-ra. A figyelőjegyzetek funkciója újratervezés alatt áll, ezért a @AzureMessageListener, @AzureMessageListenersés @EnableAzureMessaging a széljegyzetek jelenleg nem támogatottak.