Azure Data Explorer のデータフロー エンドポイントを構成する
重要
Azure Arc によって実現されている Azure IoT Operations プレビューは、現在プレビュー段階です。 運用環境ではこのプレビュー ソフトウェアを使わないでください。
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
または、クラスター全体に対してストリーミング インジェストを有効にします。 「既存のクラスターでストリーミング インジェストを有効にする」を参照してください。
Azure portal で、Arc に接続された Kubernetes クラスターに移動し、[設定]>[拡張機能] を選択します。 拡張機能の一覧で、Azure IoT Operations 拡張機能の名前を見つけます。 拡張機能の名前をコピーします。
(クラスターではなく) [Azure Data Explorer データベース] 内で、[概要] の下にある [アクセス許可]>[追加]>[インジェスター] を選択します。 Azure IoT Operations 拡張機能の名前を検索して追加します。
Azure Data Explorer データフロー エンドポイントを作成する
クラスターとデータベースの情報を使用して、データフロー エンドポイント リソースを作成します。 Azure Arc 対応 Kubernetes クラスターのマネージド ID を使用することをお勧めします。 この方法は安全であり、シークレット管理の必要がなくなります。 <ENDPOINT_NAME>
などのプレースホルダーの値は、実際のものに置き換えます。
操作エクスペリエンスで、[データフロー エンドポイント] タブを選択します。
[新しいデータフロー エンドポイントの作成] で、Azure Data Explorer]>[新規] を選びます。
エンドポイントに関する次の設定を入力します。
設定 内容 Name データフロー エンドポイントの名前。 Host <cluster>.<region>.kusto.windows.net
形式の Azure Data Explorer エンドポイントのホスト名。認証方法 認証に使用する方式。 [システム割り当てマネージド ID] または [ユーザー割り当てマネージド ID] を選びます クライアント ID ユーザー割り当てマネージド ID のクライアント ID "ユーザー割り当てマネージド ID" を使う場合に必要です。 テナント ID ユーザー割り当てマネージド ID のテナント ID。 "ユーザー割り当てマネージド ID" を使う場合に必要です。
使用可能な認証方法
Azure Data Explorer エンドポイントでは、次の認証方法を使用できます。 Azure Key Vault を構成し、ワークロード ID を有効にして、セキュリティで保護された設定を有効にする方法について詳しくは、「Azure IoT Operations プレビューのデプロイでセキュリティで保護された設定を有効にする」を参照してください。
アクセス許可
これらの認証方法を使用するには、Azure IoT Operations Arc 拡張機能に Azure Data Explorer データベースのインジェスター アクセス許可を付与する必要があります。 詳細については、「Azure Data Explorer のデータベース アクセス許可を管理する」を参照してください。
システム割り当てマネージド ID
Azure IoT Operations では、システム割り当てマネージド ID を使用する認証方法が推奨されます。 Azure IoT Operations により、マネージド ID が自動的に作成され、Azure Arc 対応 Kubernetes クラスターに割り当てられます。 これにより、シークレット管理が不要になり、シームレスな認証が可能になります。
DataflowEndpoint リソースで、マネージド ID 認証方法を指定します。 ほとんどの場合、他の設定を指定する必要はありません。 この構成では、既定の対象ユーザー https://api.kusto.windows.net
を使用してマネージド ID が作成されます。
操作エクスペリエンスのデータフロー エンドポイント設定ページで、[基本] タブを選択し、[認証方法]>[システム割り当てマネージド ID] を選択します。
システム割り当てマネージド ID の対象ユーザーをオーバーライドする必要がある場合は、audience
設定を指定できます。
ほとんどの場合、サービス対象ユーザーを指定する必要はありません。 対象ユーザーを指定しない場合、既定の対象ユーザーのスコープをストレージ アカウントに設定したマネージド ID が作成されます。
ユーザー割り当てマネージド ID
認証にユーザー マネージド ID を使用するには、まず、セキュリティで保護された設定を有効にして Azure IoT Operations をデプロイする必要があります。 詳細については、「Azure IoT Operations プレビューのデプロイでセキュリティで保護された設定を有効にする」を参照してください。
次に、ユーザー割り当てマネージド ID 認証方法をマネージド ID のクライアント 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 秒に設定するには、次の設定を使用します。
Operations Experience で、データフロー エンドポイントの [詳細設定] タブを選択します。
次のステップ
データフローの詳細については、データフローの作成に関するページを参照してください。