Azure Data Explorer のデータフロー エンドポイントを構成する
重要
このページでは、Kubernetes デプロイ マニフェストを使用した Azure IoT Operations コンポーネント管理の手順について記述しています (これはプレビュー段階です)。 この機能は いくつかの制限を設けて提供されており、運用環境のワークロードに使用すべきものではありません。
ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。
Azure IoT Operations で Azure Data Explorer にデータを送信するには、データフロー エンドポイントを構成できます。 この構成では、送信先エンドポイント、認証方法、テーブル、その他の設定を指定できます。
前提条件
- Azure IoT Operations のインスタンス
- Azure Data Explorer クラスター。 クイック スタート: Azure Data Explorer クラスターとデータベースを作成するに関する記事の完全なクラスターに関する手順に従います。 このシナリオでは、"無料クラスター" オプションは機能しません。
Azure Data Explorer データベースを作成する
Azure portal で、Azure Data Explorer の "完全な" クラスターにデータベースを作成します。
データのためのテーブルをデータベース内に作成します。 Azure portal を使用して手動で列を作成することも、[クエリ] タブで KQL を使用することもできます。たとえば、サンプル サーモスタット データのテーブルを作成するには、次のコマンドを実行します。
.create table thermostat ( externalAssetId: string, assetName: string, CurrentTemperature: real, Pressure: real, MqttTopic: string, Timestamp: datetime )
テーブルとデータベースでストリーミング インジェストを有効にします。 クエリ タブで、次のコマンドを実行し、
<DATABASE_NAME>
を自分のデータベース名に置き換えます。.alter database ['<DATABASE_NAME>'] policy streamingingestion enable
または、クラスター全体に対してストリーミング インジェストを有効にします。 「既存のクラスターでストリーミング インジェストを有効にする」を参照してください。
マネージド ID にアクセス許可を割り当てる
Azure Data Explorer のデータフロー エンドポイントを構成するには、ユーザー割り当てマネージド ID またはシステム割り当てマネージド ID のいずれかを使用することをお勧めします。 この方法は安全であり、認証情報を手動で管理する必要がありません。
Azure Data Explorer データベースが作成された後で、そのデータベースへの書き込みを行うためのアクセス許可が付与されるロールを、Azure IoT Operations マネージド ID に割り当てる必要があります。
システム割り当てマネージド ID を使用する場合は、Azure portal で、Azure IoT Operations インスタンスに移動し、[概要] を選択します。 Azure IoT Operations Arc 拡張機能の後一覧表示されている拡張機能の名前をコピーします。 たとえば、azure-iot-operations-xxxx7。 システム割り当てマネージド ID を見つけるには、Azure IoT Operations Arc 拡張機能の同じ名前を使用します。
- (クラスターではなく) [Azure Data Explorer データベース] 内で、[概要] の下にある [アクセス許可]>[追加] を選択し、続いてロールとして [インジェスター] を選択します。 これにより、Azure Data Explorer データベースへの書き込みに必要なアクセス許可がマネージド ID に付与されます。 詳細については、ロール ベースのアクセス制御に関するページを参照してください。
- クラウド接続用に設定されたユーザー割り当てマネージド ID またはシステム割り当てマネージド ID の名前を検索します。 たとえば、azure-iot-operations-xxxx7。
- [選択] を選択します。
Azure Data Explorer のためのデータフロー エンドポイントを作成する
操作エクスペリエンスで、[データフロー エンドポイント] タブを選択します。
[新しいデータフロー エンドポイントの作成] で、Azure Data Explorer]>[新規] を選びます。
エンドポイントに関する次の設定を入力します。
[適用] を選択してエンドポイントをプロビジョニングします。
使用可能な認証方法
Azure Data Explorer エンドポイントでは、次の認証方法を使用できます。
システム割り当てマネージド ID
データフロー エンドポイントを構成する前に、Azure Data Explorer データベースに対する書き込みアクセス許可が付与されるロールを Azure IoT Operations マネージド ID に割り当てます。
- Azure portal で、Azure IoT Operations インスタンスに移動し、[概要] を選択します。
- Azure IoT Operations Arc 拡張機能の後一覧表示されている拡張機能の名前をコピーします。 たとえば、azure-iot-operations-xxxx7。
- (クラスターではなく) [Azure Data Explorer データベース] に移動し、[概要] の下にある [アクセス許可]>[追加] を選択し、続いて適切なロールを選択します。
- システム割り当てマネージド ID の名前を検索します。 たとえば、azure-iot-operations-xxxx7。
- [選択] を選択します。
次に、システム割り当てマネージド ID の設定を使用してエンドポイントを構成します。
操作エクスペリエンスのデータフロー エンドポイント設定ページで、[基本] タブを選択し、[認証方法]>[システム割り当てマネージド ID] を選択します。
システム割り当てマネージド ID の対象ユーザーをオーバーライドする必要がある場合は、audience
設定を指定できます。
ほとんどの場合、他の設定を指定する必要はありません。 この構成では、既定の対象ユーザー https://api.kusto.windows.net
を使用してマネージド ID が作成されます。
ユーザー割り当てマネージド ID
認証にユーザー割り当てマネージド ID を使用するには、まず、セキュリティで保護された設定を有効にして Azure IoT Operations をデプロイする必要があります。 次に、クラウド接続用にユーザー割り当てマネージド ID を設定する必要があります。 詳細については、「Azure IoT Operations デプロイでの安全な設定の有効化」を参照してください。
データフロー エンドポイントを作成する前に、Azure Data Explorer データベースに対する書き込みアクセス許可が付与されるロールをユーザー割り当てマネージド ID に割り当てます。
- Azure portal で、(クラスターではなく) [Azure Data Explorer データベース] に移動し、[概要] の下にある [アクセス許可]>[追加] を選択し、続いて適切なロールを選択します。
- ユーザー割り当てマネージド ID の名前を検索します。
- [選択] を選択します。
次に、ユーザー割り当てマネージド ID の設定を使用してデータフロー エンドポイントを構成します。
Operations Experience のデータフロー エンドポイント設定ページで、[基本] タブを選択し、[認証方法]>[ユーザー割り当てマネージド ID] を選択します。
該当するフィールドに、ユーザー割り当てマネージド ID のクライアント ID とテナント ID を入力します。
ここでは、スコープは省略可能であり、既定値は https://api.kusto.windows.net/.default
です。 既定のスコープをオーバーライドする必要がある場合は、Bicep または Kubernetes を使用して scope
設定を指定します。
詳細設定
バッチ処理の待機時間やメッセージ数など、Azure Data Explorer エンドポイントの詳細設定を設定できます。
メッセージの最大数と、メッセージが宛先に送信されるまでの最大待機時間を構成するには、batching
設定を使用します。 この設定は、ネットワーク帯域幅を最適化し、宛先への要求数を減らす場合に役立ちます。
フィールド | Description | 必須 |
---|---|---|
latencySeconds |
メッセージを宛先に送信するまでの最大待機時間 (秒数)。 既定値は 60 秒です。 | いいえ |
maxMessages |
宛先に送信するメッセージの最大数。 既定値は、100,000 メッセージです。 | いいえ |
たとえば、メッセージの最大数を 1,000 に構成し、最大待機時間を 100 秒に設定するには、次の設定を使用します。
次のステップ
データフローの詳細については、データフローの作成に関するページを参照してください。