次の方法で共有


Spring Cloud Azure 4.0 の移行ガイド

このガイドは、従来の Azure Spring ライブラリから Spring Cloud Azure 4.0 への移行に役立ちます。

紹介

グループ ID と成果物 ID が モダン ライブラリ com.azure.spring:spring-cloud-azure-* パターンに従うライブラリと、パターン com.azure.spring:azure-spring-boot-*com.azure.spring:azure-spring-cloud-*、または レガシ ライブラリを com.azure.spring:azure-spring-integration-* するライブラリを呼び出します。

このガイドでは、最新のライブラリとレガシ ライブラリの間で類似した構成を並べて比較することに重点を置きます。

com.azure.spring:azure-spring-boot-*com.azure.spring:azure-spring-cloud-*、または com.azure.spring:azure-spring-integration-* パッケージに関する知識が前提です。

Spring Cloud Azure 4.0 ライブラリを初めて使用する場合は、このガイドではなく、Spring Cloud Azure 開発者ガイド を参照してください。

移行の利点

新しいバージョンまたはライブラリを採用するかどうかを検討する際に尋ねる自然な質問は、その利点です。 Azure は成熟し、より多様な開発者グループに受け入れられてきたので、開発者の生産性を最適にサポートし、Spring Cloud Azure ライブラリのギャップを理解するためのパターンとプラクティスを学習することに重点を置いています。

Spring Cloud Azure ライブラリ全体で、一貫したフィードバックが複数の領域で表現されていました。 最も重要なのは、さまざまな Azure サービスのライブラリで、構成の完全なセットが有効になっていないということです。 さらに、プロジェクトの名前付け、成果物 ID、バージョン、構成の不整合により、学習曲線が急激になりました。

Spring Cloud Azure ライブラリ全体の開発エクスペリエンスを向上させるために、Spring Cloud Azure ライブラリが Spring エコシステムに関して自然で慣用的な感覚を持っていることを確認するための一連の設計ガイドラインが導入されました。 詳細については、のデザイン ドキュメント を参照してください。

Spring Cloud Azure 4.0 は、Spring Boot、Spring Integration、Spring Cloud Stream など、さまざまな Spring プロジェクトと統合されたライブラリ間で共有エクスペリエンスを提供します。 共有エクスペリエンスには次のものが含まれます。

  • すべての Spring Cloud Azure 4.0 ライブラリを含む統合 BOM。
  • 成果物の一貫した名前付け規則。
  • 資格情報、プロキシ、再試行、クラウド環境、トランスポート層の設定を構成するための統合された方法。
  • Azure サービスまたは Azure Service SDK がサポートするすべての認証方法をサポートします。

概要

この移行ガイドは、次のセクションで構成されています。

  • Spring Cloud Azure 4.0 の名前付けの変更
  • アーティファクトの変更: 名前の変更/追加/削除
  • 依存関係の変更
  • 認証の変更
  • 構成プロパティ
  • API の破壊的変更
  • ライブラリの変更

名前付けの変更

すべての Spring Cloud Azure ライブラリを呼び出す一貫性のある正式な名前は一度もありませんでした。 そのうちのいくつかは Azure Spring Boot と呼ばれ、そのうちのいくつかは Spring on Azure. 4.0 以降、プロジェクト名 Spring Cloud Azure を使用して、すべての Azure Spring ライブラリを表すようになりました。

BOM

以前はライブラリ用の 2 つの BOM (azure-spring-boot-bomazure-spring-cloud-dependencies) を出荷してきましたが、4.0 以降、この 2 つの BOM を 1 つの BOM に組み合わせ、spring-cloud-azure-dependencies。 依存関係管理のメリットを得るために、プロジェクトの dependencyManagement セクションにエントリを追加します。

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

手記

Spring Boot 2.x を使用している場合は、必ず spring-cloud-azure-dependencies バージョンを 4.19.0に設定してください。 この BOM に使用されるバージョンの詳細については、「どのバージョンの Spring Cloud Azure を使用する必要」を参照してください。

アーティファクトの変更: 名前の変更/追加/削除

グループ ID は、最新の Spring Cloud Azure ライブラリと従来の Spring Cloud Azure ライブラリで同じです。 これらはすべて com.azure.springです。 最新の Spring Cloud Azure ライブラリの成果物 ID が変更されました。 所属する Spring プロジェクト、Spring Boot、Spring Integration、または Spring Cloud Stream に応じて、アーティファクト ID パターンは、spring-cloud-azure-starter-[service]spring-integration-azure-[service]、または spring-cloud-azure-stream-binder-[service]できます。 各レガシ スターターには、パターン azure-spring-*に続く成果物 ID があります。 これにより、最新のスターターとレガシ スターターのどちらを使用しているかを一目で理解するのに役立つ、すばやくアクセス可能な手段が提供されます。

Spring Cloud Azure 4.0 の開発プロセスでは、新しい名前付け規則に従うように一部の成果物の名前を変更し、機能をより適切な成果物に配置できるようにいくつかの成果物を削除し、いくつかのシナリオに対応するために新しい成果物をいくつか追加しました。

次の表は、レガシ成果物 ID と最新の成果物 ID の間のマッピングを示しています。

レガシ 成果物 ID モダン アーティファクト ID 形容
azure-spring-boot-starter spring-cloud-azure-starter この成果物は削除され、すべての機能が新しい spring-cloud-azure-starter 成果物にマージされます。
azure-spring-boot-starter-active-directory spring-cloud-azure-starter-active-directory アーティファクトの名前を変更しました。
azure-spring-boot-starter-active-directory-b2c spring-cloud-azure-starter-active-directory-b2c アーティファクトの名前を変更しました。
azure-spring-boot-starter-cosmos spring-cloud-azure-starter-data-cosmos Spring Data Azure Cosmos DB の使用を示す、dataを追加するようにアーティファクトの名前を変更しました。
azure-spring-boot-starter-keyvault-certificates 適用されません このリリースには含まれていませんが、以降のバージョンでサポートされる予定です。
azure-spring-boot-starter-keyvault-secrets spring-cloud-azure-starter-keyvault-secrets アーティファクトの名前を変更しました。
azure-spring-boot-starter-servicebus-jms spring-cloud-azure-starter-servicebus-jms アーティファクトの名前を変更しました。
azure-spring-boot-starter-storage spring-cloud-azure-starter-storage-blob
spring-cloud-azure-starter-storage-file-share
レガシ 成果物には、ストレージ BLOB とファイル共有の両方の機能が含まれています。4.0 では、spring-cloud-azure-starter-storage-blob と spring-cloud-azure-starter-storage-file-share という 2 つの異なる成果物にスプライシングされています。
azure-spring-boot 適用されません この成果物は削除され、すべての機能が新しい spring-cloud-azure-autoconfigure 成果物にマージされます。
azure-spring-cloud-autoconfigure 適用されません この成果物は削除され、すべての機能が新しい spring-cloud-azure-autoconfigure 成果物にマージされます。
azure-spring-cloud-context 適用されません この成果物は削除され、すべての機能が新しい spring-cloud-azure-autoconfigurespring-cloud-azure-resourcemanager 成果物にマージされます。
azure-spring-cloud-messaging spring-messaging-azure メッセージング リスナーの注釈が削除されました。
azure-spring-cloud-starter-cache 適用されません redis を使用するために、この成果物は削除されました。spring-boot-starter-data-redis、spring-boot-starter-cache、spring-cloud-azure-resourcemanager、spring-cloud-azure-starter を追加するだけです。 使用状況の詳細については、Spring Cloud Azure Redis のサポートに関するページを参照してください。
azure-spring-cloud-starter-eventhubs-kafka 適用されません このアーティファクトは削除されました。kafka を使用するために、spring kafka、spring-cloud-azure-resourcemanager、spring-cloud-azure-starter を追加するだけです。 使用方法の詳細については、Spring Cloud Azure Kafka サポート参照してください。
azure-spring-cloud-starter-eventhubs spring-cloud-azure-starter-integration-eventhubs Spring Integration と Event Hubs の使用を示すアーティファクトの名前を変更して、integrationを追加しました。
azure-spring-cloud-starter-servicebus spring-cloud-azure-starter-integration-servicebus Service Bus との Spring Integration の使用を示す成果物の名前を変更して、integrationを追加しました。
azure-spring-cloud-starter-storage-queue spring-cloud-azure-starter-integration-storage-queue Spring Integration と Storage Queue の使用を示す、integrationを追加するようにアーティファクトの名前を変更しました。
azure-spring-cloud-storage 適用されません この成果物は、すべての機能が新しい spring-cloud-azure-autoconfigure 成果物にマージされて削除されました。
azure-spring-cloud-stream-binder-eventhubs spring-cloud-azure-stream-binder-eventhubs この成果物は、主に spring-cloud-azure-stream-binder-eventhubsspring-cloud-azure-stream-binder-eventhubs-coreの新しいデザインを使用してリファクタリングされています。
azure-spring-cloud-stream-binder-service-core spring-cloud-azure-stream-binder-servicebus-core アーティファクトの名前を変更しました。
azure-spring-cloud-stream-binder-servicebus-queue spring-cloud-azure-stream-binder-servicebus この成果物は削除され、すべての機能が spring-cloud-azure-stream-binder-servicebus 成果物にマージされます。
azure-spring-cloud-stream-binder-servicebus-topic spring-cloud-azure-stream-binder-servicebus この成果物は削除され、すべての機能が spring-cloud-azure-stream-binder-servicebus 成果物にマージされます。
azure-spring-integration-core spring-integration-azure-core アーティファクトの名前を変更しました。
azure-spring-integration-eventhubs spring-integration-azure-eventhubs 成果物の名前を変更します。
azure-spring-integration-servicebus spring-integration-azure-servicebus 成果物の名前を変更します。
azure-spring-integration-storage-queue spring-integration-azure-storage-queue 成果物の名前を変更します。
適用されません spring-cloud-azure-actuator 新しく追加された Spring Cloud Azure Actuator 成果物。
適用されません spring-cloud-azure-actuator-autoconfigure 新しく追加された Spring Cloud Azure Actuator AutoConfigure アーティファクト (アクチュエータの自動構成を含む)。
適用されません spring-cloud-azure-autoconfigure 新しく追加された Spring Cloud Azure AutoConfigure アーティファクト。SDK クライアントのすべての自動構成、Spring Security のサポート、Spring Data のサポート、Spring Integration のサポートが含まれます。
適用されません spring-cloud-azure-core すべてのコア機能を含む、新しく追加された Spring Cloud Azure Core アーティファクト。
適用されません spring-cloud-azure-resourcemanager 新しく追加された Resource Manager 成果物。 Azure Resource Manager を使用してメタデータを読み取り、リソースを作成するコア ライブラリです。
適用されません spring-cloud-azure-service 新しく追加された Spring Cloud Azure Service 成果物 (Azure サービスの抽象化を含む)。
適用されません spring-cloud-azure-starter-appconfiguration Azure App Configuration SDK クライアントを使用するためのスターターを新しく追加しました。
適用されません spring-cloud-azure-starter-cosmos Azure Cosmos DB SDK クライアントを使用するためのスターターを新しく追加しました。
適用されません spring-cloud-azure-starter-eventhubs Azure Event Hubs SDK クライアントを使用するためのスターターを新しく追加しました。
適用されません spring-cloud-azure-starter-servicebus Azure Service Bus SDK クライアントを使用するためのスターターを新しく追加しました。
適用されません spring-cloud-azure-starter-storage-blob Azure Storage Blob SDK クライアントを使用するためのスターターを新しく追加しました。
適用されません spring-cloud-azure-starter-storage-file-share Azure Storage File Share SDK クライアントを使用するためのスターターを新しく追加しました。
適用されません spring-cloud-azure-starter-storage-queue Azure Storage Queue SDK クライアントを使用するためのスターターを新しく追加しました。
適用されません spring-cloud-azure-starter-stream-eventhubs Azure Event Hubs Spring Cloud Stream Binder を使用するためのスターターを新しく追加しました。
適用されません spring-cloud-azure-starter-stream-servicebus Azure Service Bus Spring Cloud Stream Binder を使用するための新しく追加されたスターター
適用されません spring-cloud-azure-stream-binder-eventhubs-core Azure Event Hubs 用に新しく追加された Spring Cloud Stream コア 成果物。

依存関係の変更

一部の不要な依存関係は、従来の成果物に含まれていました。これは、最新の Spring Cloud Azure 4.0 ライブラリで削除されています。 クラッシュを防ぐために、削除された依存関係をプロジェクトに手動で追加してください。

依存関係の変更があるライブラリは次のとおりです。

  • spring-cloud-azure-starter を する
  • spring-cloud-azure-starter-active-directory を する
  • spring-cloud-azure-starter-active-directory-b2c を する

認証の変更

Spring Cloud Azure 4.0 では、各 Azure Service SDK でサポートされるすべての認証方法がサポートされています。 これにより、グローバル トークン資格情報を構成し、各サービス レベルでトークン資格情報を指定できます。 ただし、Spring Cloud Azure 4.0 を構成するために資格情報は必要ありません。これは、ローカルの開発環境または Azure Services のマネージド ID に格納されている資格情報を適用できるためです。 ターゲットの Azure リソースにアクセスするための十分なアクセス許可がプリンシパルに付与されていることを確認してください。

手記

Azure メッセージング サービスと対話するためにロールをセキュリティ プリンシパルに割り当てる場合、メッセージング操作を実行するには、Data 関連ロールが必要です。 Azure Spring Apps Stream Event Hubs/Service Bus Binder ライブラリの場合、リソースの自動作成機能が必要な場合は、Contributor ロールが必要です。 詳細については、Azure 組み込みロール に関するページを参照してください。

チェーンされた資格情報。DefaultAzureCredential Bean は既定で自動構成され、認証情報がそれ以上指定されていない場合は、すべてのコンポーネントによって使用されます。 詳細については、Java用 Azure Identity クライアント ライブラリの「DefaultAzureCredential 」セクションを参照してください。

構成プロパティ

プロパティの移行

spring-boot-properties-migratorで使用するときにプロパティの移行をスムーズにするための additional-spring-configuration-metadata.json ファイルを作成しました。 まず、次のプロパティ 移行ツールをアプリケーションに追加します。

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

または、Gradle を使用している場合:

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

アプリを実行すると、Spring Cloud Azure によって管理されなくなったプロパティが識別されます。 置き換えがある場合は、一時的にプロパティが警告で再マップされます。 置き換えがない場合は、エラー レポートに詳細情報が表示されます。 いずれの場合も、構成を更新し、構成を更新したら依存関係を削除する必要があります。

先に進む前に、IDE の検索機能を使用して、統合テストで移行したプロパティの 1 つを使用していないことを再確認することをお勧めします。

手記

この変更では、多くの構成プロパティが変更されました。 spring-boot-properties-migrator を使用すると、移行がスムーズになります。

グローバル構成

最新の spring-cloud-azure-starter を使用すると、名前空間 spring.cloud.azure内のすべての Azure SDK に適用されるプロパティを定義できます。 この機能は、レガシ azure-spring-boot-starterではサポートされていませんでした。 グローバル構成は、次の表に示す 5 つのカテゴリに分けることができます。

接頭辞 形容
spring.cloud.azure.client を する 各 Azure SDK の下にトランスポート クライアントを構成します。
spring.cloud.azure.credential を する Microsoft Entra ID で認証する方法を構成します。
spring.cloud.azure.profile を する Azure クラウド環境を構成します。
spring.cloud.azure.proxy を する プロキシ オプションを構成し、すべての Azure SDK クライアントに適用します。
spring.cloud.azure.retry を する 再試行オプションを構成し、すべての Azure SDK クライアントに適用します。 再試行オプションは SDK の一部をサポートしており、spring.cloud.azure.cosmos.retryはありません。

構成の完全な一覧については、「Spring Cloud Azure の構成プロパティ を参照してください。

各 SDK を構成する

SDK レベルの構成オプションの詳細については、次のリンクを使用してください。

API の破壊的変更

各ライブラリでの API の破壊的変更の詳細については、次のリンクを使用してください。

ライブラリの変更

各ライブラリの破壊的変更を次に示します。

azure-spring-boot-starter から spring-cloud-azure-starter まで

このガイドは、azure-spring-boot-starterのバージョン 3 から spring-cloud-azure-starter への移行 支援することを目的としています。

一般的な情報については、次のリンクを使用してください。

  • 4.0 の変更点の概要については、「の概要 と移行の利点 セクション 参照してください。
  • プロジェクトの名前付けにおける戦略の変更の詳細については、「名前付けの変更」セクションを参照してください。
  • すべての Spring Cloud Azure ライブラリで 1 つの BOM を使用する方法については、「BOM」セクションを参照してください。
  • Spring Cloud Azure 4.0 で認証を処理する方法については、「認証の変更 」セクションを参照してください。
  • 移行中に spring-boot-properties-migrator を活用する方法については、「各 SDK の構成」セクションを参照してください。
  • グローバルおよび一般的な構成の変更の詳細については、「グローバル構成 」セクションを参照してください。

依存関係の変更

一部の不要な依存関係は、従来の成果物に含まれていました。これは、最新の Spring Cloud Azure 4.0 ライブラリで削除されています。 意図しないクラッシュを防ぐために、削除された依存関係をプロジェクトに手動で追加してください。

次の表は、削除された依存関係を示しています。

削除された依存関係 形容
org.springframework.boot:spring-boot-starter-validation 休止状態検証を使用する場合は、検証スターターを含めます。

azure-spring-boot-starter-active-directory から spring-cloud-azure-starter-active-directory へ

このガイドは、azure-spring-boot-starter-active-directoryのバージョン 3 から spring-cloud-azure-starter-active-directory への移行を支援することを目的としています。

一般的な情報については、次のリンクを使用してください。

  • 4.0 の変更点の概要については、「の概要 と移行の利点 セクション 参照してください。
  • プロジェクトの名前付けにおける戦略の変更の詳細については、「名前付けの変更」セクションを参照してください。
  • すべての Spring Cloud Azure ライブラリで 1 つの BOM を使用する方法については、「BOM」セクションを参照してください。
  • Spring Cloud Azure 4.0 で認証を処理する方法については、「認証の変更 」セクションを参照してください。
  • 移行中に spring-boot-properties-migrator を活用する方法については、「各 SDK の構成」セクションを参照してください。
  • グローバルおよび一般的な構成の変更の詳細については、「グローバル構成 」セクションを参照してください。

依存関係の変更

従来の成果物の不要な依存関係の一部は、最新の Spring Cloud Azure 4.0 ライブラリ以降に削除されています。 これらの削除された依存関係をプロジェクトに追加して、意図しないクラッシュを防ぎます。

次の表は、削除された依存関係を示しています。

削除された依存関係 形容
com.fasterxml.jackson.core:jackson-databind 必要に応じて、この依存関係をプロジェクトに追加します。
io.projectreactor.netty:reactor-netty 必要に応じて、この依存関係をプロジェクトに追加します。
org.springframework.boot:spring-boot-starter-validation 必要に応じて、この依存関係をプロジェクトに追加します。
org.springframework.boot:spring-boot-starter-webflux 必要に応じて、この依存関係をプロジェクトに追加します。

SDK 構成の変更

このセクションには、追加、削除、および変更されたプロパティに関する変更が含まれています。

  • 注意を払う主なポイントは次の 2 つあります。
  1. すべての構成プロパティ名のプレフィックスが azure.activedirectory から spring.cloud.azure.active-directoryに変更されました。
  2. Microsoft Entra 関連の機能を有効または無効にするために、新しいプロパティ spring.cloud.azure.active-directory.enabled が追加されました。 既定値は falseです。

次の表に、azure-spring-boot-starter-active-directoryspring-cloud-azure-starter-active-directoryの間のプロパティ マッピングを示します。

従来のプロパティ モダン プロパティ
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 詳細については、次の表を参照してください。
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-有効期間 spring.cloud.azure.active-directory.jwk-set-cache-有効期間。
azure.activedirectory.jwk-set-cache-refresh-time spring.cloud.azure.active-directory.jwk-set-cache-refresh-time
azure.activedirectory.post-logout-redirect-uri spring.cloud.azure.active-directory.post-logout-redirect-uri
azure.activedirectory.session-stateless spring.cloud.azure.active-directory.session-stateless
azure.activedirectory.redirect-uri-template spring.cloud.azure.active-directory.redirect-uri-template
azure.activedirectory.resource-server.claim-to-authority-prefix-map spring.cloud.azure.active-directory.resource-server.claim-to-authority-prefix-map
azure.activedirectory.resource-server.principal-claim-name spring.cloud.azure.active-directory.resource-server.principal-claim-name
azure.activedirectory.tenant-id spring.cloud.azure.active-directory.profile.tenant-id
azure.activedirectory.user-group.allowed-group-ids spring.cloud.azure.active-directory.user-group.allowed-group-ids
azure.activedirectory.user-group.allowed-group-names spring.cloud.azure.active-directory.user-group.allowed-group-names
azure.activedirectory.user-name-attribute spring.cloud.azure.active-directory.user-name-attribute
  • 次のプロパティの値型が long から Durationに変更されます。

    • jwt-connect-timeout
    • jwt-read-timeout
    • jwk-set-cache-lifespan
    • jwk-set-cache-refresh-time.
  • 次のプロパティは削除されます。

    • azure.activedirectory.allow-telemetry
    • azure.activedirectory.user-group.enable-full-list
    • azure.activedirectory.graph-base-uri
    • azure.activedirectory.graph-membership-uri
  • 次のプロパティが追加されます。

    • 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

手記

azure.activedirectory.graph-membership-uri の関数は、spring.cloud.azure.active-directory.profile.environment.microsoft-graph-endpointspring.cloud.azure.active-directory.user-group.use-transitive-membersの 2 つのプロパティに置き換えられました。 最初のプロパティはホスト名を指定するために使用され、2 番目のプロパティは URL パスを使用するためのフラグです:v1.0/me/memberOf または v1.0/me/transitiveMemberOf

移行の例をいくつか次に示します。

  • 例 1. ケース 1

    • レガシの場合: azure.activedirectory.graph-membership-uri=https://graph.microsoft.com/v1.0/me/memberOf

    • 最新の場合: 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. ケース 2

    • レガシの場合: azure.activedirectory.graph-membership-uri=https://graph.microsoft.com/v1.0/me/transitiveMemberOf

    • 最新の場合: 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 の変更

次の表は、azure-spring-boot-starter-active-directory から spring-cloud-azure-starter-active-directoryへのクラス マッピングを示しています。

レガシ クラス モダン クラス
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

このセクションでは、azure-spring-boot-starter-active-directory から削除されたクラスの一覧を示します。

  • レガシ クラスを削除しました

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

azure-spring-boot-starter-active-directory-b2c から spring-cloud-azure-starter-active-directory-b2c へ

このガイドは、azure-spring-boot-starter-active-directory-b2cのバージョン 3 から spring-cloud-azure-starter-active-directory-b2c への移行を支援することを目的としています。

一般的な情報については、次のリンクを使用してください。

  • 4.0 の変更点の概要については、「の概要 と移行の利点 セクション 参照してください。
  • プロジェクトの名前付けにおける戦略の変更の詳細については、「名前付けの変更」セクションを参照してください。
  • すべての Spring Cloud Azure ライブラリで 1 つの BOM を使用する方法については、「BOM」セクションを参照してください。
  • Spring Cloud Azure 4.0 で認証を処理する方法については、「認証の変更 」セクションを参照してください。
  • 移行中に spring-boot-properties-migrator を活用する方法については、「各 SDK の構成」セクションを参照してください。
  • グローバルおよび一般的な構成の変更の詳細については、「グローバル構成 」セクションを参照してください。

依存関係の変更

一部の不要な依存関係は、従来の成果物に含まれていました。これは、最新の Spring Cloud Azure 4.0 ライブラリで削除されています。 意図しないクラッシュを防ぐために、削除された依存関係をプロジェクトに手動で追加してください。

次の表は、削除された依存関係を示しています。

削除された依存関係 形容
org.springframework.boot:spring-boot-starter-validation 休止状態検証を使用する場合は、検証スターターを含めます。

SDK 構成の変更

このセクションには、追加、削除、および変更されたプロパティに関する変更が含まれています。

  • 注意を払う主なポイントは次の 2 つあります。
  1. すべての構成プロパティ名でプレフィックスが azure.activedirectory.b2c から spring.cloud.azure.active-directory.b2cに変更されました。
  2. Azure AD B2C 関連の機能を有効または無効にするために、新しいプロパティ spring.cloud.azure.active-directory.b2c.enabled が追加されました。 既定値は false です。

次の表は、azure-spring-boot-starter-active-directory-b2c から spring-cloud-azure-starter-active-directory-b2cへのプロパティ マッピングを示しています。

従来のプロパティ モダン プロパティ
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 を します。.authorization-grant-type のAZURE_CLIENT_NAME spring.cloud.azure.active-directory.b2c.authorization-clients を します。.authorization-grant-type のAZURE_CLIENT_NAME
azure.activedirectory.b2c.authorization-clients を します。.scopes のAZURE_CLIENT_NAME spring.cloud.azure.active-directory.b2c.authorization-clients を します。.scopes のAZURE_CLIENT_NAME
azure.activedirectory.b2c.app-id-uri を する spring.cloud.azure.active-directory.b2c.app-id-uri
azure.activedirectory.b2c.base-uri を する spring.cloud.azure.active-directory.b2c.base-uri の
azure.activedirectory.b2c.client-id を する spring.cloud.azure.active-directory.b2c.credential.client-id を する
azure.activedirectory.b2c.client-secret を する spring.cloud.azure.active-directory.b2c.credential.client-secret を する
azure.activedirectory.b2c.jwt-connect-timeout を する spring.cloud.azure.active-directory.b2c.jwt-connect-timeout
azure.activedirectory.b2c.jwt-read-timeout を する spring.cloud.azure.active-directory.b2c.jwt-read-timeout の
azure.activedirectory.b2c.jwt-size-limit を する spring.cloud.azure.active-directory.b2c.jwt-size-limit
azure.activedirectory.b2c.login-flow を する spring.cloud.azure.active-directory.b2c.login-flow
azure.activedirectory.b2c.logout-success-url を する spring.cloud.azure.active-directory.b2c.logout-success-url を する
azure.activedirectory.b2c.reply-url を する spring.cloud.azure.active-directory.b2c.reply-url を する
azure.activedirectory.b2c.tenant-id を する spring.cloud.azure.active-directory.b2c.profile.tenant-id を する
azure.activedirectory.b2c.user-flows を する spring.cloud.azure.active-directory.b2c.user-flows の
azure.activedirectory.b2c.user-name-attribute-name を する spring.cloud.azure.active-directory.b2c.user-name-attribute-name を する
  • azure-spring-boot-starter-active-directory-b2c からプロパティを削除しました。

    • azure.activedirectory.b2c.allow-telemetry
    • azure.activedirectory.b2c.tenant
  • 次のプロパティの値型が long から Durationに変更されます。

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

API の変更

次の表は、azure-spring-boot-starter-active-directory-b2c から spring-cloud-azure-starter-active-directory-b2cへのクラス マッピングを示しています。

レガシ クラス モダン クラス
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

azure-spring-boot-starter-cosmos から spring-cloud-azure-starter-data-cosmos まで

このガイドは、azure-spring-boot-starter-cosmosのバージョン 3 から spring-cloud-azure-starter-data-cosmos への移行を支援することを目的としています。

一般的な情報については、次のリンクを使用してください。

  • 4.0 の変更点の概要については、「の概要 と移行の利点 セクション 参照してください。
  • プロジェクトの名前付けにおける戦略の変更の詳細については、「名前付けの変更」セクションを参照してください。
  • すべての Spring Cloud Azure ライブラリで 1 つの BOM を使用する方法については、「BOM」セクションを参照してください。
  • Spring Cloud Azure 4.0 で認証を処理する方法については、「認証の変更 」セクションを参照してください。
  • 移行中に spring-boot-properties-migrator を活用する方法については、「各 SDK の構成」セクションを参照してください。
  • グローバルおよび一般的な構成の変更の詳細については、「グローバル構成 」セクションを参照してください。

SDK 構成の変更

すべての構成プロパティ名でプレフィックスが azure.cosmos から spring.cloud.azure.cosmosに変更されました。

次の表は、azure-spring-boot-starter-cosmos から spring-cloud-azure-starter-data-cosmosへのクラス マッピングを示しています。

従来のプロパティ モダン プロパティ
azure.cosmos.connection-mode を する spring.cloud.azure.cosmos.connection-mode を する
.consistency-levelazure.cosmos を する 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 を する

azure-spring-boot-starter-keyvault-secrets から spring-cloud-azure-starter-keyvault-secrets まで

このガイドは、azure-spring-boot-starter-keyvault-secretsのバージョン 3 から spring-cloud-azure-starter-keyvault-secrets への移行を支援することを目的としています。

一般的な情報については、次のリンクを使用してください。

  • 4.0 の変更点の概要については、「の概要 と移行の利点 セクション 参照してください。
  • プロジェクトの名前付けにおける戦略の変更の詳細については、「名前付けの変更」セクションを参照してください。
  • すべての Spring Cloud Azure ライブラリで 1 つの BOM を使用する方法については、「BOM」セクションを参照してください。
  • Spring Cloud Azure 4.0 で認証を処理する方法については、「認証の変更 」セクションを参照してください。
  • 移行中に spring-boot-properties-migrator を活用する方法については、「各 SDK の構成」セクションを参照してください。
  • グローバルおよび一般的な構成の変更の詳細については、「グローバル構成 」セクションを参照してください。

SDK 構成の変更

このセクションには、追加、削除、および変更されたプロパティに関する変更が含まれています。

次の表は、azure-spring-boot-starter-keyvault-secrets から spring-cloud-azure-starter-keyvault-secretsへのプロパティ マッピングを示しています。

従来のプロパティ モダン プロパティ
.case-sensitive-keysazure.keyvault を する 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 の
.certificate-pathazure.keyvault を する 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 と spring.cloud.azure.keyvault.secret.property-source-enabled を する
azure.keyvault.order を する サポートされなくなりました。 代わりに、property-source[n] の順序を使用してください。
azure.keyvault.refresh-interval を する spring.cloud.azure.keyvault.secret.property-source[n].refresh-interval を する
.secret-keysazure.keyvault を する 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
  • spring-cloud-azure-starter-keyvault-secrets からプロパティを削除しました

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

次の点に注意する必要があります。

  1. すべての構成プロパティ名でプレフィックスが azure.keyvault から spring.cloud.azure.keyvault.secretに変更されました。
  2. spring.cloud.azure.keyvault.secret.enabled を使用して、すべての Key Vault シークレット機能を有効にし、Key Vault シークレット クライアント Bean (SecretClientSecretAsyncClientなど) を構成し、ConfigurableEnvironmentKeyVaultPropertySource を追加します。
  3. spring.cloud.azure.keyvault.secret.property-source-enabled は、すべての KeyVaultPropertySourceを有効にするために使用されます。 これは、spring.cloud.azure.keyvault.secret.enabled=true場合にのみ有効になります.
  4. Azure の一般的なプロパティ (clientproxyretrycredentialprofileなど) と Key Vault のプロパティ (endpointservice-versionなど)。 spring.cloud.azure.keyvault.secret.property-sources[n].PROPERTY_NAME が構成されていない場合は、spring.cloud.azure.keyvault.secret.PROPERTY_NAME が使用されます。
  5. spring.cloud.azure.keyvault.secret.property-sources[n].resource は一意の Azure リソースに固有であるため、構成されていない場合、他の場所から値が取得されることはありません。

azure-spring-boot-starter-servicebus-jms から spring-cloud-azure-starter-servicebus-jms へ

このガイドは、azure-spring-boot-starter-servicebus-jmsのバージョン 3 から spring-cloud-azure-starter-servicebus-jms への移行を支援することを目的としています。

一般的な情報については、次のリンクを使用してください。

  • 4.0 の変更点の概要については、「の概要 と移行の利点 セクション 参照してください。
  • プロジェクトの名前付けにおける戦略の変更の詳細については、「名前付けの変更」セクションを参照してください。
  • すべての Spring Cloud Azure ライブラリで 1 つの BOM を使用する方法については、「BOM」セクションを参照してください。
  • Spring Cloud Azure 4.0 で認証を処理する方法については、「認証の変更 」セクションを参照してください。
  • 移行中に spring-boot-properties-migrator を活用する方法については、「各 SDK の構成」セクションを参照してください。
  • グローバルおよび一般的な構成の変更の詳細については、「グローバル構成 」セクションを参照してください。

SDK 構成の変更

読みやすくするために、spring.jms.servicebus.idle-timeout の構成の種類が long(ミリ秒) から Duration パターンに変更されました。

azure-spring-boot-starter-storage から spring-cloud-azure-starter-storage-blob へ

このガイドは、azure-spring-boot-starter-storageのバージョン 3 から spring-cloud-azure-starter-storage-blob への移行を支援することを目的としています。

一般的な情報については、次のリンクを使用してください。

  • 4.0 の変更点の概要については、「の概要 と移行の利点 セクション 参照してください。
  • プロジェクトの名前付けにおける戦略の変更の詳細については、「名前付けの変更」セクションを参照してください。
  • すべての Spring Cloud Azure ライブラリで 1 つの BOM を使用する方法については、「BOM」セクションを参照してください。
  • Spring Cloud Azure 4.0 で認証を処理する方法については、「認証の変更 」セクションを参照してください。
  • 移行中に spring-boot-properties-migrator を活用する方法については、「各 SDK の構成」セクションを参照してください。
  • グローバルおよび一般的な構成の変更の詳細については、「グローバル構成 」セクションを参照してください。

SDK 構成の変更

すべての構成プロパティ名でプレフィックスが azure.storage から spring.cloud.azure.storage.blobに変更されました。

次の表は、azure-spring-boot-starter-storage から spring-cloud-azure-starter-storage-blobへのプロパティ マッピングを示しています。

従来のプロパティ モダン プロパティ
azure.storage.account-name を する spring.cloud.azure.storage.blob.account-name
azure.storage.account-key を する spring.cloud.azure.storage.blob.account-key を する
.blob-endpointazure.storage を する spring.cloud.azure.storage.blob.endpoint

API の変更

次の表は、azure-spring-boot-starter-storage から spring-cloud-azure-starter-storage-blobへのクラス マッピングを示しています。

レガシ クラス モダン クラス
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

azure-spring-boot-starter-storage から spring-cloud-azure-starter-storage-file-share へ

このガイドは、azure-spring-boot-starter-storageのバージョン 3 から spring-cloud-azure-starter-storage-file-share への移行 支援することを目的としています。

一般的な情報については、次のリンクを使用してください。

  • 4.0 の変更点の概要については、「の概要 と移行の利点 セクション 参照してください。
  • プロジェクトの名前付けにおける戦略の変更の詳細については、「名前付けの変更」セクションを参照してください。
  • すべての Spring Cloud Azure ライブラリで 1 つの BOM を使用する方法については、「BOM」セクションを参照してください。
  • Spring Cloud Azure 4.0 で認証を処理する方法については、「認証の変更 」セクションを参照してください。
  • 移行中に spring-boot-properties-migrator を活用する方法については、「各 SDK の構成」セクションを参照してください。
  • グローバルおよび一般的な構成の変更の詳細については、「グローバル構成 」セクションを参照してください。

SDK 構成の変更

すべての構成プロパティ名でプレフィックスが azure.storage から spring.cloud.azure.storage.fileshareに変更されました。

次の表は、azure-spring-boot-starter-storage から spring-cloud-azure-starter-storage-file-shareへのプロパティ マッピングを示しています。

従来のプロパティ モダン プロパティ
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 の変更

次の表は、azure-spring-boot-starter-storage から spring-cloud-azure-starter-storage-file-shareへのクラス マッピングを示しています。

レガシ クラス モダン クラス
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

azure-spring-cloud-starter-eventhubs から spring-cloud-azure-starter-integration-eventhubs まで

このガイドは、azure-spring-cloud-starter-eventhubsのバージョン 2 から spring-cloud-azure-starter-integration-eventhubs への移行を支援することを目的としています。

一般的な情報については、次のリンクを使用してください。

  • 4.0 の変更点の概要については、「の概要 と移行の利点 セクション 参照してください。
  • プロジェクトの名前付けにおける戦略の変更の詳細については、「名前付けの変更」セクションを参照してください。
  • すべての Spring Cloud Azure ライブラリで 1 つの BOM を使用する方法については、「BOM」セクションを参照してください。
  • Spring Cloud Azure 4.0 で認証を処理する方法については、「認証の変更 」セクションを参照してください。
  • 移行中に spring-boot-properties-migrator を活用する方法については、「各 SDK の構成」セクションを参照してください。
  • グローバルおよび一般的な構成の変更の詳細については、「グローバル構成 」セクションを参照してください。

SDK 構成の変更

大事な

構成プレフィックスが spring.cloud.azure.eventhub から spring.cloud.azure.eventhubs. に変更されました

このプレフィックスの子エントリの変更については、次の表を参照してください。

次の表は、azure-spring-cloud-starter-eventhubs から spring-cloud-azure-starter-integration-eventhubsへのプロパティ マッピングを示しています。

従来のプロパティ モダン プロパティ
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:
    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}

宛先:

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 の変更

  • リスナー注釈の変更については、<<migration-azure-spring-cloud-messaging、azure-spring-cloud-messaging>> ライブラリの移行ガイドを参照してください。
  • サブスクライブ関数を持つ EventHubOperation をクラス EventHubsMessageListenerContainer に移動し、送信関数を EventHubsTemplateに移動します。
  • EventHubInboundChannelAdapter の名前を EventHubsInboundChannelAdapter に変更して、Azure Event Hubs のサービスと一貫性を保ちます。
  • コンストラクターを EventHubInboundChannelAdapter(String, SubscribeByGroupOperation, String) から EventHubsInboundChannelAdapter(EventHubsMessageListenerContainer) および EventHubsInboundChannelAdapter(EventHubsMessageListenerContainer, ListenerMode)に変更します。
  • CheckpointConfig インスタンス化スタイルをビルド スタイルではなく単純なコンストラクターに変更します。
  • API EventHubOperation#setCheckpointConfigを削除します。 受信チャネル アダプターのチェックポイント構成を設定するには、EventHubsContainerProperties#setCheckpointConfigメソッドを呼び出すことができます。
  • API EventHubOperation#setBatchConsumerConfigを削除します。 受信チャネル アダプターのバッチ消費構成を設定するには、ユーザーは 2 つのメソッドを EventHubsContainerProperties#getBatch#setMaxSize し、その間 EventHubsContainerProperties#getBatch#setMaxWaitTime 呼び出すことができます。
  • バッチ使用モードの場合は、バッチ処理されたメッセージから変換されたメッセージ ヘッダー名を変更します。
    • メッセージ ヘッダーを azure_eventhub_enqueued_time から azure_eventhubs_batch_converted_enqueued_timeに変更します。
    • メッセージ ヘッダーを azure_eventhub_offset から azure_eventhubs_batch_converted_offsetに変更します。
    • メッセージ ヘッダーを azure_eventhub_sequence_number から azure_eventhubs_batch_converted_sequence_numberに変更します。
    • メッセージ ヘッダーを azure_partition_key から azure_batch_converted_partition_keyに変更します。
  • Event Hubs にメッセージを発行する場合は、バッチ処理されたメッセージから変換されたすべてのメッセージ ヘッダーを無視します。 ヘッダーには次のものが含まれます。
    • 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
  • BATCH チェックポイント モードはバッチ消費モードでのみ機能します。このモードは、EventHubsInboundChannelAdapter コンストラクターに ListenerMode.BATCH を渡すことによって有効にすることができます。

次の表は、azure-spring-cloud-starter-eventhubs から spring-cloud-azure-starter-integration-eventhubsへのクラス マッピングを示しています。

レガシ クラス モダン クラス
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

サンプル コード スニペット

  • EventHubsInboundChannelAdapter サンプル コード:

    レガシ コード:

    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;
        }
    }
    

    最新のコード:

    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 サンプル コード:

    レガシ コード:

    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;
        }
    }
    

    最新のコード:

    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;
        }
    }
    

azure-spring-integration-eventhubs から spring-integration-azure-eventhubs まで

このガイドは、azure-spring-integration-eventhubsのバージョン 2 から spring-integration-azure-eventhubs への移行を支援することを目的としています。

  • 4.0 の変更点の概要については、「の概要 と移行の利点 セクション 参照してください。
  • プロジェクトの名前付けにおける戦略の変更の詳細については、「名前付けの変更」セクションを参照してください。
  • すべての Spring Cloud Azure ライブラリで 1 つの BOM を使用する方法については、「BOM」セクションを参照してください。

API の変更

  • サブスクライブ関数を持つ EventHubOperation をクラス EventHubsMessageListenerContainer に移動し、送信関数を EventHubsTemplateに移動します。
  • EventHubInboundChannelAdapter の名前を EventHubsInboundChannelAdapter に変更して、Azure Event Hubs のサービスと一貫性を保ちます。
  • コンストラクターを EventHubInboundChannelAdapter(String, SubscribeByGroupOperation, String) から EventHubsInboundChannelAdapter(EventHubsMessageListenerContainer) および EventHubsInboundChannelAdapter(EventHubsMessageListenerContainer, ListenerMode)に変更します。
  • CheckpointConfig インスタンス化スタイルをビルド スタイルではなく単純なコンストラクターに変更します。
  • API EventHubOperation#setCheckpointConfigを削除します。 受信チャネル アダプターのチェックポイント構成を設定するには、EventHubsContainerProperties#setCheckpointConfigメソッドを呼び出すことができます。
  • API EventHubOperation#setBatchConsumerConfigを削除します。 受信チャネル アダプターのバッチ消費構成を設定するには、ユーザーは 2 つのメソッドを EventHubsContainerProperties#getBatch#setMaxSize し、その間 EventHubsContainerProperties#getBatch#setMaxWaitTime 呼び出すことができます。
  • バッチ使用モードの場合は、バッチ処理されたメッセージから変換されたメッセージ ヘッダー名を変更します。
    • メッセージ ヘッダーを azure_eventhub_enqueued_time から azure_eventhubs_batch_converted_enqueued_timeに変更します。
    • メッセージ ヘッダーを azure_eventhub_offset から azure_eventhubs_batch_converted_offsetに変更します。
    • メッセージ ヘッダーを azure_eventhub_sequence_number から azure_eventhubs_batch_converted_sequence_numberに変更します。
    • メッセージ ヘッダーを azure_partition_key から azure_batch_converted_partition_keyに変更します。
  • Event Hubs にメッセージを発行する場合は、バッチ処理されたメッセージから変換されたすべてのメッセージ ヘッダーを無視します。 ヘッダーには次のものが含まれます。
    • 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
  • BATCH チェックポイント モードはバッチ消費モードでのみ機能します。このモードは、EventHubsInboundChannelAdapter コンストラクターに ListenerMode.BATCH を渡すことによって有効にすることができます。

次の表は、azure-spring-integration-eventhubs から spring-integration-azure-eventhubsへのクラス マッピングを示しています。

レガシ クラス モダン クラス
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

azure-spring-cloud-starter-servicebus から spring-cloud-azure-starter-integration-servicebus まで

このガイドは、azure-spring-cloud-starter-servicebusのバージョン 2 から spring-cloud-azure-starter-integration-servicebus への移行を支援することを目的としています。

一般的な情報については、次のリンクを使用してください。

  • 4.0 の変更点の概要については、「の概要 と移行の利点 セクション 参照してください。
  • プロジェクトの名前付けにおける戦略の変更の詳細については、「名前付けの変更」セクションを参照してください。
  • すべての Spring Cloud Azure ライブラリで 1 つの BOM を使用する方法については、「BOM」セクションを参照してください。
  • Spring Cloud Azure 4.0 で認証を処理する方法については、「認証の変更 」セクションを参照してください。
  • 移行中に spring-boot-properties-migrator を活用する方法については、「各 SDK の構成」セクションを参照してください。
  • グローバルおよび一般的な構成の変更の詳細については、「グローバル構成 」セクションを参照してください。

SDK 構成の変更

spring-cloud-azure-starter-integration-servicebusでサポートされているすべての構成オプションでは、プレフィックスは spring.cloud.azure.servicebusのままです。

次の表は、azure-spring-cloud-starter-servicebus から spring-cloud-azure-starter-integration-servicebusへのプロパティ マッピングを示しています。

従来のプロパティ モダン プロパティ
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 再試行の spring.cloud.azure.servicebus.retry.exponential.max-retrys または spring.cloud.azure.servicebus.retry.fixed.max 再試行 、spring.cloud.azure.servicebus.retry.mode=固定 または 指数 に応じて構成する必要があります。
spring.cloud.azure.servicebus.retry-options.delay を する spring.cloud.azure.servicebus.retry.exponential.base-delay または spring.cloud.azure.servicebus.retry.fixed.delay は、spring.cloud.azure.servicebus.retry.mode=固定 または 指数関数的応じて構成する必要があります。
spring.cloud.azure.servicebus.retry-options.max-delay spring.cloud.azure.servicebus.retry.exponential.max-delay
spring.cloud.azure.servicebus.retry-options.try-timeout を する spring.cloud.azure.servicebus.retry.try-timeout を する

API の変更

  • サブスクライブ関数を持つ ServiceBusQueueOperationServiceBusTopicOperation をドロップしてクラス ServiceBusMessageListenerContainer に移動し、送信関数を ServiceBusTemplateに移動します。
  • ServiceBusQueueInboundChannelAdapterServiceBusTopicInboundChannelAdapterを削除し、Service Bus キュー/トピック エンティティをリッスンする機能を ServiceBusInboundChannelAdapter に移動します。
  • コンストラクターを ServiceBusQueueInboundChannelAdapter(String, SubscribeByGroupOperation, String) から ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer) および ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode)に変更します。
  • コンストラクターを ServiceBusTopicInboundChannelAdapter(String, SubscribeByGroupOperation, String) から ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer) および ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode)に変更します。
  • API ServiceBusQueueOperation#setCheckpointConfigServiceBusTopicOperation#setCheckpointConfigを削除します。 受信チャネル アダプターのチェックポイント構成を設定するには、代わりにメソッド ServiceBusContainerProperties#setAutoComplete を呼び出すことができます。 オートコンプリート モードを無効にすると、チェックポイント モード MANUAL 同じになり、有効にすると RECORD モードがトリガーされます。
  • API ServiceBusQueueOperatio#setClientConfigServiceBusTopicOperation#setClientConfigを削除します。 受信チャネル アダプターによって使用される基になる ServiceBusProcessorClient を構成するために、ユーザーは代わりに ServiceBusContainerProperties を使用できます。
  • ServiceBusTemplateDefaultMessageHandlerCompletableFuture サポートを削除し、代わりに Reactor をサポートします。
  • ServiceBusTemplate#setDefaultEntityType の新しい API を追加してエンティティ型を指定します。これは、ProducerProperties#entityTypePropertiesSupplier&lt;String, ProducerProperties&gt; の Bean が指定されていない場合に必要です。
  • メッセージ ヘッダー AzureHeaders.RAW_IDを削除します。 代わりに ServiceBusMessageHeaders.MESSAGE_ID を使用してください。

次の表は、azure-spring-cloud-starter-servicebus から spring-cloud-azure-starter-integration-servicebusへのクラス マッピングを示しています。

レガシ クラス モダン クラス
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

サンプル コード スニペット

  • ServiceBusInboundChannelAdapter サンプル コード:

    ServiceBusQueueInboundChannelAdapter または ServiceBusTopicInboundChannelAdapterを使用する従来のコード:

    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;
        }
    
    }
    

    最新のコード:

    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 サンプル コード:

    キューを例として受け取るレガシ コード:

    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;
        }
    }
    

    最新のコード:

    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;
        }
    }
    

azure-spring-integration-servicebus から spring-integration-azure-servicebus へ

このガイドは、azure-spring-integration-servicebusのバージョン 2 から spring-integration-azure-servicebus への移行 支援することを目的としています。

  • 4.0 の変更点の概要については、「の概要 と移行の利点 セクション 参照してください。
  • プロジェクトの名前付けにおける戦略の変更の詳細については、「名前付けの変更」セクションを参照してください。
  • すべての Spring Cloud Azure ライブラリで 1 つの BOM を使用する方法については、「BOM」セクションを参照してください。

API の変更

  • サブスクライブ関数を持つ ServiceBusQueueOperationServiceBusTopicOperation をドロップしてクラス ServiceBusMessageListenerContainer に移動し、送信関数を ServiceBusTemplateに移動します。
  • ServiceBusQueueInboundChannelAdapterServiceBusTopicInboundChannelAdapterを削除し、Service Bus キュー/トピック エンティティをリッスンする機能を ServiceBusInboundChannelAdapter に移動します。
  • コンストラクターを ServiceBusQueueInboundChannelAdapter(String, SubscribeByGroupOperation, String) から ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer) および ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode)に変更します。
  • コンストラクターを ServiceBusTopicInboundChannelAdapter(String, SubscribeByGroupOperation, String) から ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer) および ServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode)に変更します。
  • API ServiceBusQueueOperation#setCheckpointConfigServiceBusTopicOperation#setCheckpointConfigを削除します。 受信チャネル アダプターのチェックポイント構成を設定するには、代わりにメソッド ServiceBusContainerProperties#setAutoComplete を呼び出すことができます。 オートコンプリート モードを無効にすると、チェックポイント モード MANUAL 同じになり、有効にすると RECORD モードがトリガーされます。
  • API ServiceBusQueueOperation#setClientConfigServiceBusTopicOperation#setClientConfigを削除します。 受信チャネル アダプターによって使用される基になる ServiceBusProcessorClient を構成するために、ユーザーは代わりに ServiceBusContainerProperties を使用できます。
  • ServiceBusTemplateDefaultMessageHandlerCompletableFuture サポートを削除し、代わりに Reactor をサポートします。
  • ServiceBusTemplate#setDefaultEntityType の新しい API を追加してエンティティ型を指定します。これは、ProducerProperties#entityTypePropertiesSupplier&lt;String, ProducerProperties&gt; の Bean が指定されていない場合に必要です。
  • メッセージ ヘッダー AzureHeaders.RAW_IDを削除します。 代わりに ServiceBusMessageHeaders.MESSAGE_ID を使用してください。

次の表は、azure-spring-integration-servicebus から spring-integration-azure-servicebusへのクラス マッピングを示しています。

レガシ クラス モダン クラス
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

azure-spring-cloud-starter-storage-queue から spring-cloud-azure-starter-integration-storage-queue へ

このガイドは、azure-spring-cloud-starter-storage-queueのバージョン 2 から spring-cloud-azure-starter-integration-storage-queue への移行 支援することを目的としています。

一般的な情報については、次のリンクを使用してください。

  • 4.0 の変更点の概要については、「の概要 と移行の利点 セクション 参照してください。
  • プロジェクトの名前付けにおける戦略の変更の詳細については、「名前付けの変更」セクションを参照してください。
  • すべての Spring Cloud Azure ライブラリで 1 つの BOM を使用する方法については、「BOM」セクションを参照してください。
  • Spring Cloud Azure 4.0 で認証を処理する方法については、「認証の変更 」セクションを参照してください。
  • 移行中に spring-boot-properties-migrator を活用する方法については、「各 SDK の構成」セクションを参照してください。
  • グローバルおよび一般的な構成の変更の詳細については、「グローバル構成 」セクションを参照してください。

SDK 構成の変更

すべての構成プロパティ名でプレフィックスが spring.cloud.azure.storage から spring.cloud.azure.storage.queueに変更されました。

次の表は、azure-spring-cloud-starter-storage-queue から spring-cloud-azure-starter-integration-storage-queueへのプロパティ マッピングを示しています。

従来のプロパティ モダン プロパティ
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 の変更

  • StorageQueueOperation を削除し、代わりに StorageQueueTemplate を指定します。
  • StorageQueueTemplateのドロップ checkpoint-mode 構成では、MANUAL モードのみがサポートされます。

次の表に、azure-spring-cloud-starter-storage-queue から spring-cloud-azure-starter-integration-storage-queueへのクラス マッピングを示します。

レガシ クラス モダン クラス
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

azure-spring-integration-storage-queue から spring-integration-azure-storage-queue へ

このガイドは、azure-spring-integration-storage-queueのバージョン 2 から spring-integration-azure-storage-queue への移行 支援することを目的としています。

  • 4.0 の変更点の概要については、「の概要 と移行の利点 セクション 参照してください。
  • プロジェクトの名前付けにおける戦略の変更の詳細については、「名前付けの変更」セクションを参照してください。
  • すべての Spring Cloud Azure ライブラリで 1 つの BOM を使用する方法については、「BOM」セクションを参照してください。

API の変更

  • StorageQueueOperation を削除し、代わりに StorageQueueTemplate を指定します。
  • StorageQueueTemplateのドロップ checkpoint-mode 構成では、MANUAL モードのみがサポートされます。

次の表に、azure-spring-integration-storage-queue から spring-integration-azure-storage-queueへのクラス マッピングを示します。

レガシ クラス モダン クラス
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

azure-spring-cloud-stream-binder-eventhubs から spring-cloud-azure-stream-binder-eventhubs まで

このガイドは、azure-spring-cloud-stream-binder-eventhubsのバージョン 2 から spring-cloud-azure-stream-binder-eventhubs への移行を支援することを目的としています。

一般的な情報については、次のリンクを使用してください。

  • 4.0 の変更点の概要については、「の概要 と移行の利点 セクション 参照してください。
  • プロジェクトの名前付けにおける戦略の変更の詳細については、「名前付けの変更」セクションを参照してください。
  • すべての Spring Cloud Azure ライブラリで 1 つの BOM を使用する方法については、「BOM」セクションを参照してください。
  • Spring Cloud Azure 4.0 で認証を処理する方法については、「認証の変更 」セクションを参照してください。
  • 移行中に spring-boot-properties-migrator を活用する方法については、「各 SDK の構成」セクションを参照してください。
  • グローバルおよび一般的な構成の変更の詳細については、「グローバル構成 」セクションを参照してください。

SDK 構成の変更

大事な

構成プレフィックスが spring.cloud.azure.eventhub から spring.cloud.azure.eventhubs. に変更されました

大事な

バインダーの種類の名前が eventhub から eventhubsに変更されました。

次のプレフィックスの子エントリの変更については、次の表を参照してください。

次の表は、azure-spring-cloud-stream-binder-eventhubs から spring-cloud-azure-stream-binder-eventhubsへのプロパティ マッピングを示しています。

従来のプロパティ モダン プロパティ
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

手記

start-position 構成の値の型も、com.azure.spring.integration.core.api.StartPosition の列挙型から、各パーティションの StartPositionPropertiesmap に変更されます。 したがって、キーはパーティション ID であり、値はオフセット、シーケンス番号、エンキューされた日付時刻、および包括性のプロパティを含む com.azure.spring.cloud.service.eventhubs.properties.StartPositionProperties です。

構成移行の例

認証に接続文字列を使用し、上記のプロパティを移行するには、構成の変更を次に示します。

従来の構成:

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

最新の構成:

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

接続文字列の代わりにセキュリティ プリンシパルを使用する場合、4.0 より前のバージョンでは、アプリケーションは最初に指定されたセキュリティ プリンシパルを使用して Azure Resource Manager (ARM) に接続し、ARM を使用して指定された名前空間の接続文字列を取得します。 最終的に、アプリケーションは取得した接続文字列を使用して Azure Event Hubs に接続します。 この方法では、関連付けられている Azure Event Hubs 名前空間を取得するために、共同作成者 ロールで指定されたセキュリティ プリンシパルを付与する必要があります。

Azure Spring Apps 4.0 では、認証にセキュリティ プリンシパルを利用する 2 つの方法が用意されています。 プリンシパルを使用して ARM に接続し、プリンシパルに Contributor ロールが必要な接続文字列を取得します。 もう 1 つでは、セキュリティ プリンシパルを利用して Microsoft Entra ID に対する認証を行い、Azure Event Hubs に直接接続します。 この場合、Contributor ロールは不要になりましたが、メッセージング操作には他の Data 関連ロールが必要です。 セキュリティ プリンシパルに Azure リソースにアクセスするための十分なアクセス許可が付与されていることを確認するには、「Microsoft Entra IDを使用してアクセスを承認する」を参照してください。

ARM に基づく認証の場合、サービス プリンシパルを例にとると、割り当てられたロールが変更されない構成移行が次のように表示されます。

従来の構成:

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}

手記

tenant-id に使用できる値は、commonorganizationsconsumers、またはテナント ID です。 これらの値の詳細については、「エラー AADSTS50020 - ID プロバイダーのユーザー アカウントがテナントに存在しない」の「間違ったエンドポイント (個人用アカウントと組織アカウント) セクションを参照してください。 シングルテナント アプリの変換の詳細については、「Microsoft Entra IDでのシングルテナント アプリをマルチテナントに変換する」を参照してください。

最新の構成では、Azure サブスクリプション ID とリソース グループのプロパティが必要です。

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}

手記

tenant-id に使用できる値は、commonorganizationsconsumers、またはテナント ID です。 これらの値の詳細については、「エラー AADSTS50020 - ID プロバイダーのユーザー アカウントがテナントに存在しない」の「間違ったエンドポイント (個人用アカウントと組織アカウント) セクションを参照してください。 シングルテナント アプリの変換の詳細については、「Microsoft Entra IDでのシングルテナント アプリをマルチテナントに変換する」を参照してください。

ARM への迂回を行わずに、Microsoft Entra ID を使用して直接認証と承認を行うために移行することもできます。 メッセージング操作に必要な Data ロールをセキュリティ プリンシパルに付与してください。 サービス プリンシパルとマネージド ID の構成例を次に示します。

  • サービス プリンシパルを使用する

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

手記

tenant-id に使用できる値は、commonorganizationsconsumers、またはテナント ID です。 これらの値の詳細については、「エラー AADSTS50020 - ID プロバイダーのユーザー アカウントがテナントに存在しない」の「間違ったエンドポイント (個人用アカウントと組織アカウント) セクションを参照してください。 シングルテナント アプリの変換の詳細については、「Microsoft Entra IDでのシングルテナント アプリをマルチテナントに変換する」を参照してください。

  • マネージド ID を使用する

    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 の変更

次の表に、azure-spring-cloud-stream-binder-eventhubs から spring-cloud-azure-stream-binder-eventhubsへのクラス マッピングを示します。

レガシ クラス モダン クラス
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

azure-spring-cloud-stream-binder-servicebus-* から spring-cloud-azure-stream-binder-servicebus まで

このガイドは、azure-spring-cloud-stream-binder-servicebus-queue のバージョン 2 から spring-cloud-azure-stream-binder-servicebus への移行、または azure-spring-cloud-stream-binder-servicebus-topicの を支援することを目的としています。

一般的な情報については、次のリンクを使用してください。

  • 4.0 の変更点の概要については、「の概要 と移行の利点 セクション 参照してください。
  • プロジェクトの名前付けにおける戦略の変更の詳細については、「名前付けの変更」セクションを参照してください。
  • すべての Spring Cloud Azure ライブラリで 1 つの BOM を使用する方法については、「BOM」セクションを参照してください。
  • Spring Cloud Azure 4.0 で認証を処理する方法については、「認証の変更 」セクションを参照してください。
  • 移行中に spring-boot-properties-migrator を活用する方法については、「各 SDK の構成」セクションを参照してください。
  • グローバルおよび一般的な構成の変更の詳細については、「グローバル構成 」セクションを参照してください。

SDK 構成の変更

大事な

従来のバインダーライブラリは azure-spring-cloud-stream-binder-servicebus-queue され、azure-spring-cloud-stream-binder-servicebus-topicされ、1 つの spring-cloud-azure-stream-binder-servicebusにマージされます。

大事な

バインダーの種類は、servicebus-queue から結合され、servicebusとして servicebus-topic

次の表に、spring-cloud-azure-stream-binder-servicebusの新しい構成プロパティを示します。

モダン プロパティ 形容
spring.cloud.stream.servicebus.bindings.binding-name.producer.entity-type 送信側関数を使用する場合は、トピックまたはキューに設定できるエンティティ型を設定する必要があります。

次の表は、azure-spring-cloud-stream-binder-servicebus-* から spring-cloud-azure-stream-binder-servicebusへのプロパティ マッピングを示しています。

従来のプロパティ モダン プロパティ
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 再試行の spring.cloud.azure.servicebus.retry.exponential.max-retrys または spring.cloud.azure.servicebus.retry.fixed.max 再試行 、spring.cloud.azure.servicebus.retry.mode=固定 または 指数 に応じて構成する必要があります。
spring.cloud.azure.servicebus.retry-options.delay を する spring.cloud.azure.servicebus.retry.exponential.base-delay または spring.cloud.azure.servicebus.retry.fixed.delay は、spring.cloud.azure.servicebus.retry.mode=固定 または 指数関数的応じて構成する必要があります。
spring.cloud.azure.servicebus.retry-options.max-delay spring.cloud.azure.servicebus.retry.exponential.max-delay
spring.cloud.azure.servicebus.retry-options.try-timeout を する spring.cloud.azure.servicebus.retry.try-timeout を する
spring.cloud.stream.servicebus.queue.bindings を します。* spring.cloud.stream.servicebus.bindings.*
spring.cloud.stream.servicebus.queue.bindings.binding-name.consumer を します。コンカレンシー の spring.cloud.stream.servicebus.bindings.binding-name.consumer.max-concurrent-sessions/max-concurrent-calls を する
spring.cloud.stream.servicebus.queue.bindings.binding-name.consumer を します。チェックポイント モードの をする spring.cloud.stream.servicebus .bindings.binding-name.consumerします。オートコンプリート をする
spring.cloud.stream.servicebus.topic.bindings.* spring.cloud.stream.servicebus.bindings.*
spring.cloud.stream.servicebus.topic .bindings.binding-name.consumer。コンカレンシー の spring.cloud.stream.servicebus.bindings.binding-name.consumer.max-concurrent-sessions/max-concurrent-calls を する
spring.cloud.stream.servicebus.topic .bindings.binding-name.consumer。チェックポイント モードの をする spring.cloud.stream.servicebus .bindings.binding-name.consumerします。オートコンプリート をする

手記

sessionsEnabled が true の場合はコンカレンシー プロパティが maxConcurrentSessions に置き換えられ、sessionsEnabled が falseされている場合は maxConcurrentCalls に置き換えられます。

手記

オートコンプリートの有効化は、チェックポイント モード RECORD、逆に MANUAL モードと同じです。

構成移行の例

従来の構成(例としてキューを使用):

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

最新の構成:

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

接続文字列の代わりにセキュリティ プリンシパルを使用する場合、4.0 より前のバージョンでは、アプリケーションは最初に指定されたセキュリティ プリンシパルを使用して Azure Resource Manager (ARM) に接続し、ARM を使用して指定された名前空間の接続文字列を取得します。 最終的に、アプリケーションは取得した接続文字列を使用して Azure Service Bus に接続します。 このようにして、関連付けられている Azure Service Bus 名前空間を取得するために、共同作成者 ロールで指定されたセキュリティ プリンシパルを付与する必要があります。

Azure Spring Apps 4.0 では、認証にセキュリティ プリンシパルを利用する 2 つの方法が用意されています。 プリンシパルを使用して ARM に接続し、プリンシパルに Contributor ロールが必要な接続文字列を取得します。 もう 1 つでは、セキュリティ プリンシパルを利用して Microsoft Entra ID に対する認証を行い、Azure Service Bus に直接接続します。 この場合、Contributor ロールは不要になりましたが、メッセージング操作には他の Data 関連ロールが必要です。 セキュリティ プリンシパルに Azure リソースにアクセスするための十分なアクセス許可が付与されていることを確認するには、「Microsoft Entra IDを使用してアクセスを承認する」を参照してください。

ARM に基づく認証の場合、サービス プリンシパルを例にとると、割り当てられたロールが変更されない構成移行が次のように表示されます。

従来の構成:

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}

手記

tenant-id に使用できる値は、commonorganizationsconsumers、またはテナント ID です。 これらの値の詳細については、「エラー AADSTS50020 - ID プロバイダーのユーザー アカウントがテナントに存在しない」の「間違ったエンドポイント (個人用アカウントと組織アカウント) セクションを参照してください。 シングルテナント アプリの変換の詳細については、「Microsoft Entra IDでのシングルテナント アプリをマルチテナントに変換する」を参照してください。

最新の構成では、Azure サブスクリプション ID とリソース グループのプロパティが必要です。

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}

手記

tenant-id に使用できる値は、commonorganizationsconsumers、またはテナント ID です。 これらの値の詳細については、「エラー AADSTS50020 - ID プロバイダーのユーザー アカウントがテナントに存在しない」の「間違ったエンドポイント (個人用アカウントと組織アカウント) セクションを参照してください。 シングルテナント アプリの変換の詳細については、「Microsoft Entra IDでのシングルテナント アプリをマルチテナントに変換する」を参照してください。

ARM への迂回を行わずに、Microsoft Entra ID を使用して直接認証と承認を行うために移行することもできます。 メッセージング操作に必要な Data ロールをセキュリティ プリンシパルに付与してください。 サービス プリンシパルとマネージド ID の構成例を次に示します。

  • サービス プリンシパルを使用する

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

手記

tenant-id に使用できる値は、commonorganizationsconsumers、またはテナント ID です。 これらの値の詳細については、「エラー AADSTS50020 - ID プロバイダーのユーザー アカウントがテナントに存在しない」の「間違ったエンドポイント (個人用アカウントと組織アカウント) セクションを参照してください。 シングルテナント アプリの変換の詳細については、「Microsoft Entra IDでのシングルテナント アプリをマルチテナントに変換する」を参照してください。

  • マネージド ID を使用する

    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 の変更

  • メッセージ ヘッダー AzureHeaders.RAW_IDを削除します。 代わりに ServiceBusMessageHeaders.MESSAGE_ID を使用してください。

次の表に、azure-spring-cloud-stream-binder-eventhubs から spring-cloud-azure-stream-binder-eventhubsへのクラス マッピングを示します。

レガシ クラス モダン クラス
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

com.azure.spring:azure-spring-cloud-messaging ライブラリは 4.0 の準備ができていません。 リスナー注釈の機能は再設計中であるため、@AzureMessageListener@AzureMessageListeners、および @EnableAzureMessaging 注釈は現在サポートされていません。