次の方法で共有


Azure PowerShell を使用してルートとエンドポイントを作成および削除する

この記事では、Azure IoT Hub のハブでルートとエンドポイントを作成する方法と、ルートとエンドポイントを削除する方法について説明します。 Azure PowerShell を使用して、Azure Event Hubs、Azure Service Bus キューとトピック、Azure Storage に対してルートとエンドポイントを作成する方法について説明します。

IoT Hub のルーティングのしくみについては、「IoT Hub メッセージ ルーティングを使用して device-to-cloud メッセージを別のエンドポイントに送信する」を参照してください。 ストレージにメッセージを送信するルートを設定し、シミュレートされたデバイスでテストする手順については、「チュートリアル: IoT Hub メッセージ ルーティングを使用してデバイス データを Azure Storage に送信する」を参照してください。

Note

現在、PowerShell では、エンドポイントを作成するためのマネージド ID 認証の種類はサポートされていません。 シナリオにおいて SAS 認証を使用できない場合は、他のいずれかの管理ツールを使用してエンドポイントを作成してください。

また、現在 PowerShell では、Cosmos DB エンドポイントの作成はサポートされていません。

前提条件

メッセージをルーティングするエンドポイントの種類に基づいて、この記事の前提条件を確認してください。

エンドポイントを作成する

IoT Hub では、メッセージを送信する、またはイベントをキャプチャするルートを作成できます。 各ルートには、データ ソースとエンドポイントがあります。 データ ソースは、メッセージまたはイベント ログが生成される場所です。 エンドポイントは、メッセージまたはイベント ログが最終的に到達する場所です。 IoT ハブで新しいルートを作成するときに、データ ソースとエンドポイントの場所を選択します。 次に、ルーティング クエリを使って、エンドポイントに移動する前にメッセージまたはイベントをフィルター処理します。

エンドポイントの作成に使用するサービスは、事前に Azure アカウントに存在する必要があります。

Note

ローカル バージョンの Azure PowerShell を使用する場合は、開始する前に Azure PowerShell にサインインします。

次の手順のコマンドでは、これらの参照を使用します。

  1. イベント ハブからプライマリ接続文字列を取得します。 後で使うために接続文字列をコピーします。

    Get-AzEventHubKey -ResourceGroupName MyResourceGroup -NamespaceName MyNamespace -EventHubName MyEventHub -Name MyAuthRule
    
  2. Event Hubs への新しい IoT Hub エンドポイントを作成します。 前の手順のプライマリ接続文字列を使います。 EndpointType の値は EventHub である必要があります。 その他のすべてのパラメーターには、実際のシナリオの値を使用します。

    Add-AzIotHubRoutingEndpoint -ResourceGroupName MyResourceGroup -Name MyIotHub -EndpointName MyEndpoint -EndpointType EventHub -EndpointResourceGroup MyResourceGroup -EndpointSubscriptionId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -ConnectionString "Endpoint=<my connection string>"
    

    すべてのルーティング エンドポイント オプションを表示する方法については、「Add-AzIotHubRoutingEndpoint」を参照してください。

IoT Hub ルートを作成する

IoT ハブに新しいエンドポイントができたら、新しいルートを作成できます。

IoT Hub の既定のフォールバック ルートは、DeviceMessages からメッセージを収集します。 カスタム ルート用には別のオプション (DeviceConnectionStateEvents など) を選択します。 ソース オプションの詳細については、「Add-AzIotHubRoute」を参照してください。 Enabled パラメーターはスイッチであるため、パラメーターで値を使用する必要はありません。

Add-AzIotHubRoute -ResourceGroupName MyResourceGroup -Name MyIotHub -RouteName MyRoute -Source DeviceLifecycleEvents -EndpointName MyEndpoint -Enabled

PowerShell には、次の例のような確認が表示されます。

RouteName     : MyIotHub 
DataSource    : DeviceLifecycleEvents
EndpointNames : MyEndpoint
Condition     : true
IsEnabled     : True

IoT Hub ルートを更新する

既存のルートを変更するには、次のコマンドを使います。 たとえば、コマンドを使用してルートの名前を変更してみてください。

Set-AzIotHubRoute -ResourceGroupName MyResourceGroup -Name MyIotHub -RouteName MyRoute

ルートの変更を確認するには、Get-AzIotHubRoute コマンドを使います。

Get-AzIotHubRoute -ResourceGroupName MyResourceGroup -Name MyIotHub

エンドポイントの削除

エンドポイントを削除するには:

Remove-AzIotHubRoutingEndpoint -ResourceGroupName MyResourceGroup -Name MyIotHub -EndpointName MyEndpoint -PassThru

IoT Hub ルートを削除する

IoT Hub ルートを削除するには:

Remove-AzIotHubRoute -ResourceGroupName MyResourceGroup -Name MyIotHub -RouteName MyRoute -PassThru

ヒント

ルートを削除しても、Azure アカウントのエンドポイントは削除されません。 ルートの削除とは別にエンドポイントを削除する必要があります。

次の手順

このハウツー記事では、Event Hubs、Service Bus キューとトピック、Azure Storage に対してルートとエンドポイントを作成する方法について説明しました。

メッセージ ルーティングの詳細については、「チュートリアル: IoT Hub メッセージ ルーティングを使用してデバイス データを Azure Storage に送信する」を参照してください。 このチュートリアルでは、ストレージ ルートを作成し、IoT ハブでデバイスを使ってテストします。