カスタム エンドポイント は、アプリケーションが Eventstream からデータを送信およびフェッチできるようにする特殊な種類の Eventstream ソースまたは宛先です。 アプリケーションに接続するための 2 つの認証方法 ( SAS キー と Entra ID 認証) がサポートされています。
- SAS キー認証: Shared Access Signature (SAS) キーを使用して Eventstream データを生成および使用できます。
- Entra ID 認証: セキュリティ プリンシパル (ユーザーやサービス プリンシパルなど) が、Microsoft Entra ID 認証を使用して Eventstream データを生成および使用できるようにします。
この記事では、サービス プリンシパル アプリケーションの作成、Visual Studio Code での Java プロジェクトの設定、Microsoft Entra ID 認証を使用した Eventstream への接続について説明します。
前提条件
開始する前に、次の前提条件が満たされていることを確認します。
-
テナント管理者が管理ポータルで次の設定を有効にしました。
詳細情報
- サービス プリンシパルは Fabric パブリック API を呼び出すことができます
- ワークスペースには メンバー 以上のアクセス許可があります。 これは、ワークスペース アクセスを管理し、必要なアクセス許可をサービス プリンシパル アプリに割り当てるために必要です。
- カスタム エンドポイント ソースを含むワークスペース内の Eventstream 項目。 Eventstream にカスタム エンドポイントを追加する方法については、 このガイド を参照してください。
- Visual Studio Code をインストールします。
- Java 開発用に VS Code を設定します。 Java 用のコーディング パックをインストールします。
手順 1: サービス プリンシパル アプリを作成する
Microsoft Entra 管理センターにサインインします。
Identity>Applications>App registrations に移動し、[新しい登録] を選択します。
アプリケーションの表示 名 を入力します。
アプリを開き、後で使用するために クライアント ID と テナント ID を コピーします。
[証明書とシークレット] に移動し、新しいクライアント シークレットを追加して値をコピーします。
完了したら、次の 3 つの情報を準備しておく必要があります:
- Azure クライアント ID
- Azure テナント ID
- Azure クライアント シークレット
手順 2: Fabric ワークスペースのアクセス許可を割り当てる
手順 3: VS Code でプロジェクトを設定する
VS Code でターミナルを開き、 GitHub プロジェクト をダウンロードするか、次のコマンドを実行してプロジェクトを複製します。
git clone https://github.com/ruiminwang/eventstream-entra-id-auth-samples.git
Java と Maven をインストールします。 Java と Maven がインストールされていない場合は、 スクープ を使用してインストールします。
# https://scoop.sh/ Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression scoop bucket add java scoop install oraclejdk-lts scoop install maven
環境変数を設定します。 サービス プリンシパル アプリの環境変数を構成します:
$env:AZURE_CLIENT_ID="00001111-aaaa-2222-bbbb-3333cccc4444" $env:AZURE_TENANT_ID="aaaabbbb-0000-cccc-1111-dddd2222eeee" $env:AZURE_CLIENT_SECRET="Aa1Bb~2Cc3.-Dd4Ee5Ff6Gg7Hh8Ii9_Jj0Kk1Ll2"
手順 4: プロジェクトをビルドして実行する
Eventstream にデータを送信する
Eventstream で、カスタム エンドポイントをソースとして追加します。
[カスタム エンドポイント>Entra ID 認証] を選択し、次の詳細をコピーして、ProducerSample.java ファイルに貼り付けます。
- イベント ハブの名前空間
- イベント ハブ
次のコマンドを実行し、プロジェクトをビルドして実行します:
mvn clean package java -cp .\target\EventHubOAuth-1.0-SNAPSHOT-jar-with-dependencies.jar com.microsoft.ProducerSample
データが正常に送信された場合は、イベントストリームに移動して受信データを表示できます。
Eventstreams からデータをフェッチする
Eventstream で、カスタム エンドポイントを宛先として追加します。
[カスタム エンドポイント>Entra ID 認証] を選択し、次の詳細をコピーして、ConsumerSample.java ファイルに貼り付けます。
- イベント ハブの名前空間
- イベント ハブ
- コンシューマー グループ
次のコマンドを実行し、プロジェクトをビルドして実行します:
mvn clean package java -cp .\target\EventHubOAuth-1.0-SNAPSHOT-jar-with-dependencies.jar com.microsoft.ConsumerSample
プロジェクトが正常に実行されたら、アプリケーション内の受信データを表示できます。