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-bom
と azure-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-autoconfigure と spring-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-eventhubs と spring-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 レベルの構成オプションの詳細については、次のリンクを使用してください。
- 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
- 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
- azure-spring-boot-starter-storage から spring-cloud-azure-starter-storage-file-share
- azure-spring-cloud-starter-eventhubs から spring-cloud-azure-starter-integration-eventhubs
- azure-spring-cloud-starter-servicebus から spring-cloud-azure-starter-integration-servicebus
- azure-spring-cloud-starter-storage-queue から spring-cloud-azure-starter-integration-storage-queue
- azure-spring-cloud-stream-binder-eventhubs から spring-cloud-azure-stream-binder-eventhubs
- azure-spring-cloud-stream-binder-servicebus-* から spring-cloud-azure-stream-binder-servicebus
API の破壊的変更
各ライブラリでの API の破壊的変更の詳細については、次のリンクを使用してください。
- 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-storage から spring-cloud-azure-starter-storage-blob
- azure-spring-boot-starter-storage から spring-cloud-azure-starter-storage-file-share
- azure-spring-cloud-starter-eventhubs から spring-cloud-azure-starter-integration-eventhubs
- azure-spring-integration-eventhubs から spring-integration-azure-eventhubs
- azure-spring-cloud-starter-servicebus から spring-cloud-azure-starter-integration-servicebus
- azure-spring-integration-servicebus から spring-integration-azure-servicebus へ
- azure-spring-cloud-starter-storage-queue から spring-cloud-azure-starter-integration-storage-queue
- azure-spring-integration-storage-queue から spring-integration-azure-storage-queue
- azure-spring-cloud-stream-binder-eventhubs から spring-cloud-azure-stream-binder-eventhubs
- azure-spring-cloud-stream-binder-servicebus-* から spring-cloud-azure-stream-binder-servicebus
ライブラリの変更
各ライブラリの破壊的変更を次に示します。
azure-spring-boot-starter から spring-cloud-azure-starter まで
このガイドは、azure-spring-boot-starterのバージョン 3 から
一般的な情報については、次のリンクを使用してください。
- 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 つあります。
- すべての構成プロパティ名のプレフィックスが
azure.activedirectory
からspring.cloud.azure.active-directory
に変更されました。 - Microsoft Entra 関連の機能を有効または無効にするために、新しいプロパティ
spring.cloud.azure.active-directory.enabled
が追加されました。 既定値はfalse
です。
次の表に、azure-spring-boot-starter-active-directory
と spring-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-endpoint
と spring.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 つあります。
- すべての構成プロパティ名でプレフィックスが
azure.activedirectory.b2c
からspring.cloud.azure.active-directory.b2c
に変更されました。 - 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 を |
spring.cloud.azure.active-directory.b2c.authorization-clients を |
azure.activedirectory.b2c.authorization-clients を |
spring.cloud.azure.active-directory.b2c.authorization-clients を |
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 まで
このガイドは、
一般的な情報については、次のリンクを使用してください。
- 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 と |
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
次の点に注意する必要があります。
- すべての構成プロパティ名でプレフィックスが
azure.keyvault
からspring.cloud.azure.keyvault.secret
に変更されました。 -
spring.cloud.azure.keyvault.secret.enabled
を使用して、すべての Key Vault シークレット機能を有効にし、Key Vault シークレット クライアント Bean (SecretClient
やSecretAsyncClient
など) を構成し、ConfigurableEnvironment
にKeyVaultPropertySource
を追加します。 -
spring.cloud.azure.keyvault.secret.property-source-enabled
は、すべてのKeyVaultPropertySource
を有効にするために使用されます。 これは、spring.cloud.azure.keyvault.secret.enabled=true
場合にのみ有効になります. - Azure の一般的なプロパティ (
client
、proxy
、retry
、credential
、profile
など) と Key Vault のプロパティ (endpoint
、service-version
など)。spring.cloud.azure.keyvault.secret.property-sources[n].PROPERTY_NAME
が構成されていない場合は、spring.cloud.azure.keyvault.secret.PROPERTY_NAME
が使用されます。 -
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 から
一般的な情報については、次のリンクを使用してください。
- 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-options.delay を |
spring.cloud.azure.servicebus.retry.exponential.base-delay または |
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 の変更
- サブスクライブ関数を持つ
ServiceBusQueueOperation
とServiceBusTopicOperation
をドロップしてクラスServiceBusMessageListenerContainer
に移動し、送信関数をServiceBusTemplate
に移動します。 -
ServiceBusQueueInboundChannelAdapter
とServiceBusTopicInboundChannelAdapter
を削除し、Service Bus キュー/トピック エンティティをリッスンする機能を ServiceBusInboundChannelAdapter に移動します。 - コンストラクターを
ServiceBusQueueInboundChannelAdapter(String, SubscribeByGroupOperation, String)
からServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer)
およびServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode)
に変更します。 - コンストラクターを
ServiceBusTopicInboundChannelAdapter(String, SubscribeByGroupOperation, String)
からServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer)
およびServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode)
に変更します。 - API
ServiceBusQueueOperation#setCheckpointConfig
とServiceBusTopicOperation#setCheckpointConfig
を削除します。 受信チャネル アダプターのチェックポイント構成を設定するには、代わりにメソッドServiceBusContainerProperties#setAutoComplete
を呼び出すことができます。 オートコンプリート モードを無効にすると、チェックポイント モードMANUAL
同じになり、有効にするとRECORD
モードがトリガーされます。 - API
ServiceBusQueueOperatio#setClientConfig
とServiceBusTopicOperation#setClientConfig
を削除します。 受信チャネル アダプターによって使用される基になるServiceBusProcessorClient
を構成するために、ユーザーは代わりにServiceBusContainerProperties
を使用できます。 -
ServiceBusTemplate
とDefaultMessageHandler
でCompletableFuture
サポートを削除し、代わりにReactor
をサポートします。 -
ServiceBusTemplate#setDefaultEntityType
の新しい API を追加してエンティティ型を指定します。これは、ProducerProperties#entityType
にPropertiesSupplier<String, ProducerProperties>
の 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 から
- 4.0 の変更点の概要については、「
の概要 と移行の利点 セクション参照してください。 - プロジェクトの名前付けにおける戦略の変更の詳細については、「名前付けの変更」セクションを参照してください。
- すべての Spring Cloud Azure ライブラリで 1 つの BOM を使用する方法については、「BOM」セクションを参照してください。
API の変更
- サブスクライブ関数を持つ
ServiceBusQueueOperation
とServiceBusTopicOperation
をドロップしてクラスServiceBusMessageListenerContainer
に移動し、送信関数をServiceBusTemplate
に移動します。 -
ServiceBusQueueInboundChannelAdapter
とServiceBusTopicInboundChannelAdapter
を削除し、Service Bus キュー/トピック エンティティをリッスンする機能を ServiceBusInboundChannelAdapter に移動します。 - コンストラクターを
ServiceBusQueueInboundChannelAdapter(String, SubscribeByGroupOperation, String)
からServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer)
およびServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode)
に変更します。 - コンストラクターを
ServiceBusTopicInboundChannelAdapter(String, SubscribeByGroupOperation, String)
からServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer)
およびServiceBusInboundChannelAdapter(ServiceBusMessageListenerContainer, ListenerMode)
に変更します。 - API
ServiceBusQueueOperation#setCheckpointConfig
とServiceBusTopicOperation#setCheckpointConfig
を削除します。 受信チャネル アダプターのチェックポイント構成を設定するには、代わりにメソッドServiceBusContainerProperties#setAutoComplete
を呼び出すことができます。 オートコンプリート モードを無効にすると、チェックポイント モードMANUAL
同じになり、有効にするとRECORD
モードがトリガーされます。 - API
ServiceBusQueueOperation#setClientConfig
とServiceBusTopicOperation#setClientConfig
を削除します。 受信チャネル アダプターによって使用される基になるServiceBusProcessorClient
を構成するために、ユーザーは代わりにServiceBusContainerProperties
を使用できます。 -
ServiceBusTemplate
とDefaultMessageHandler
でCompletableFuture
サポートを削除し、代わりにReactor
をサポートします。 -
ServiceBusTemplate#setDefaultEntityType
の新しい API を追加してエンティティ型を指定します。これは、ProducerProperties#entityType
にPropertiesSupplier<String, ProducerProperties>
の 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 から
一般的な情報については、次のリンクを使用してください。
- 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 から
- 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 まで
このガイドは、
一般的な情報については、次のリンクを使用してください。
- 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
の列挙型から、各パーティションの StartPositionProperties
の map
に変更されます。 したがって、キーはパーティション 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
に使用できる値は、common
、organizations
、consumers
、またはテナント 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
に使用できる値は、common
、organizations
、consumers
、またはテナント 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
に使用できる値は、common
、organizations
、consumers
、またはテナント 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 のバージョン
一般的な情報については、次のリンクを使用してください。
- 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-options.delay を |
spring.cloud.azure.servicebus.retry.exponential.base-delay または |
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 |
spring.cloud.stream.servicebus.topic.bindings.* | spring.cloud.stream.servicebus.bindings.* |
spring.cloud.stream.servicebus.topic |
spring.cloud.stream.servicebus.bindings.binding-name.consumer.max-concurrent-sessions/max-concurrent-calls を |
spring.cloud.stream.servicebus.topic |
spring.cloud.stream.servicebus |
手記
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
に使用できる値は、common
、organizations
、consumers
、またはテナント 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
に使用できる値は、common
、organizations
、consumers
、またはテナント 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
に使用できる値は、common
、organizations
、consumers
、またはテナント 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
注釈は現在サポートされていません。