Azure Event Hubs は、 スキーマの 一元化されたリポジトリとして機能するスキーマ レジストリをホストします。 スキーマ レジストリとの統合により、Azure Stream Analytics はスキーマ レジストリからスキーマを取得し、Event Hubs 入力からデータを逆シリアル化できます。 スキーマ メタデータをスキーマ レジストリに移動することで、メッセージごとのオーバーヘッドを減らし、効率的なスキーマ検証を有効にしてデータの整合性を確保できます。
この記事では、Stream Analytics ジョブにスキーマ レジストリを追加し、Event Hubs 入力に接続する方法について説明します。
前提条件
開始する前に、次の情報があることを確認します。
- Event Hubs 名前空間。
- Azure Event Hubs によってホストされるスキーマ レジストリ内のスキーマを含むスキーマ グループ。 Azure Event Hubs スキーマ レジストリ がない場合は作成します。
- マネージド ID が有効になっている Azure Stream Analytics ジョブ。
スキーマ レジストリへのジョブ アクセスを管理する
Event Hubs スキーマ レジストリにアクセスするには、セキュリティ プリンシパルを使用して Stream Analytics ジョブに スキーマ レジストリ閲覧者 ロールを割り当てる必要があります。
Azure portal にサインインし、Stream Analytics ジョブ ページに移動します。
[マネージド ID] ページを選択し、後で使用できるようにプリンシパル名を保存します。 詳細については、 マネージド ID を 参照してください。
スキーマ レジストリがホストされている Event Hubs 名前空間ページに移動します。 [アクセス制御] と [ロールの割り当ての追加] を選択します。
スキーマ レジストリ リーダーを検索し、[次へ] をクリックします。
[メンバー] ページで、手順 1 で保存したプリンシパル名を選択し、[確認と割り当て] をクリックします。
Stream Analytics ジョブにスキーマ レジストリを追加する
- Stream Analytics ジョブ ポータルで、左側のメニューの [設定] で [スキーマ レジストリ] を選択します。
- [スキーマ レジストリの追加] を選択する
- [ 新しいスキーマ レジストリ ] ページで、次の手順に従います。
[名前] に、このスキーマ レジストリのエイリアス名を入力します。
[サブスクリプション] で、スキーマ レジストリをホストする Event Hubs 名前空間を持つサブスクリプションを選択します。
Event Hubs 名前空間の場合は、スキーマ レジストリの下にある名前空間を選択します。
サブスクリプションにアクセスできない場合は、 手動入力を使用することもできます。
Event Hubs 入力を構成する
Important
スキーマ形式は、スキーマが構造化および定義される方法を決定するために使用されます。 現在、AVRO 形式のみがサポートされています。
[入力] ページに移動します。 新しい Event Hubs 入力を追加するか、既存の Event Hubs 入力を選択します。
スキーマ レジストリを選択した Event Hubs に接続するには、構成ページの下部まで下にスクロールします。
イベントのシリアル化形式として AVRO を選択します。
ドロップダウン メニューから [スキーマ レジストリ] を選択し 、[保存] を選択します。
入力データをプレビューする
Azure Stream Analytics は、ストリーミング入力からイベントを自動的にフェッチします。 ジョブを開始または停止せずにスキーマ レジストリ統合をテストする便利な方法が提供されます。
[Stream Analytics ジョブ] ページで、[ ジョブ トポロジ] -> [クエリ ] を選択して、[クエリ エディター] ウィンドウを開きます。
構成された Event Hubs の入力を選択します。 選択した入力の横にファイル アイコンがあることを確認します。
サンプル イベントは 、入力プレビューに自動的に表示されます。
クエリ テストの詳細については、「 サンプル データを使用して Azure Stream Analytics ジョブ をテストする」を参照してください。
制限事項
- スキーマ レジストリの認証方法では、マネージド ID のみがサポートされます。 スキーマ レジストリが選択されている場合、Event Hubs 入力の認証方法はマネージド ID である必要があります。
- テスト接続機能は、スキーマ レジストリではまだ使用できません。 スキーマ レジストリで構築された接続を確認する最善の方法は、クエリ テスト ページの入力プレビューを使用することです。