チュートリアル:Azure CLI と Azure portal を使用して IoT Hub のメッセージ ルーティングを構成するTutorial: Use the Azure CLI and Azure portal to configure IoT Hub message routing

メッセージ ルーティングを使うと、IoT デバイスから組み込みイベント ハブ互換エンドポイントまたはカスタム エンドポイント (BLOB ストレージ、Service Bus キュー、Service Bus トピック、Event Hubs など) に、利用統計情報を送信できます。Message routing enables sending telemetry data from your IoT devices to built-in Event Hub-compatible endpoints or custom endpoints such as blob storage, Service Bus Queues, Service Bus Topics, and Event Hubs. カスタム メッセージ ルーティングを構成するには、特定の条件と一致するルートをカスタマイズするためのルーティング クエリを作成できます。To configure custom message routing, you create routing queries to customize the route that matches a certain condition. 設定が済むと、受信データは IoT Hub によってエンドポイントに自動的にルーティングされるようになります。Once set up, the incoming data is automatically routed to the endpoints by the IoT Hub. メッセージが定義されているルーティング クエリのいずれとも一致しない場合、メッセージは既定のエンドポイントにルーティングされます。If a message doesn't match any of the defined routing queries, it is routed to the default endpoint.

この 2 部構成のチュートリアルでは、IoT Hub を使用してこれらのカスタム ルーティング クエリを設定および使用する方法を学習します。In this 2-part tutorial, you learn how to set up and use these custom routing queries with IoT Hub. IoT デバイスから、BLOB ストレージや Service Bus キューなどの複数のエンドポイントのいずれかにメッセージをルーティングします。You route messages from an IoT device to one of multiple endpoints, including blob storage and a Service Bus queue. Service Bus キューへのメッセージは、ロジック アプリによって取得されて、メールで送信されます。Messages to the Service Bus queue are picked up by a Logic App and sent via e-mail. カスタム メッセージ ルーティングが定義されていないメッセージは、既定のエンドポイントに送信された後、Azure Stream Analytics によって取得され、Power BI の視覚化に表示されます。Messages that do not have custom message routing defined are sent to the default endpoint, then picked up by Azure Stream Analytics and viewed in a Power BI visualization.

このチュートリアルのパート 1 とパート 2 を完了するには、以下のタスクを実行します。To complete Parts 1 and 2 of this tutorial, you perform the following tasks:

パート I: リソースを作成してメッセージ ルーティングを設定するPart I: Create resources, set up message routing

  • リソースを作成する (IoT ハブ、ストレージ アカウント、Service Bus キュー、シミュレートされたデバイス)。Create the resources -- an IoT hub, a storage account, a Service Bus queue, and a simulated device. この操作は、Azure portal、Azure Resource Manager テンプレート、Azure CLI、または Azure PowerShell を使用して実行できます。This can be done using the Azure portal, an Azure Resource Manager template, the Azure CLI, or Azure PowerShell.
  • ストレージ アカウントと Service Bus キューに対するエンドポイントとメッセージ ルートを IoT Hub で構成する。Configure the endpoints and message routes in IoT Hub for the storage account and Service Bus queue.

パート II: メッセージをハブに送信して、ルーティングされた結果を表示するPart II: Send messages to the hub, view routed results

  • メッセージが Service Bus キューに追加されるとトリガーされてメールを送信するロジック アプリを作成します。Create a Logic App that is triggered and sends e-mail when a message is added to the Service Bus queue.
  • 異なるルーティング オプションでハブにメッセージを送信する IoT デバイスをシミュレートするアプリをダウンロードして実行します。Download and run an app that simulates an IoT Device sending messages to the hub for the different routing options.
  • 既定のエンドポイントに送信されたデータに対する Power BI の視覚エフェクトを作成します。Create a Power BI visualization for data sent to the default endpoint.
  • 結果を表示します ...View the results ...
  • ... Service Bus キューおよびメール内の結果。...in the Service Bus queue and e-mails.
  • ... ストレージ アカウント内の結果。...in the storage account.
  • ... Power BI の視覚エフェクト内の結果。...in the Power BI visualization.

前提条件Prerequisites

  • このチュートリアルのパート 1:For Part 1 of this tutorial:

    • Azure サブスクリプションが必要です。You must have an Azure subscription. Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。If you don't have an Azure subscription, create a free account before you begin.
  • このチュートリアルのパート 2:For Part 2 of this tutorial:

    • このチュートリアルのパート 1 を完了し、リソースが引き続き利用可能である必要があります。You must have completed Part 1 of this tutorial, and have the resources still available.
    • Visual Studio のインストール。Install Visual Studio.
    • 既定のエンドポイントの Stream Analytics を分析するために Power BI アカウントにアクセスできる。Have access to a Power BI account to analyze the default endpoint's stream analytics. (Power BI を無料で試す)(Try Power BI for free.)
    • 通知メールを送信するための Office 365 アカウントを持っている。Have an Office 365 account for sending notification e-mails.

Azure Cloud Shell を使用するUse Azure Cloud Shell

Azure では、ブラウザーを介して使用できる対話型のシェル環境、Azure Cloud Shell がホストされています。Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Cloud Shell で Bash または PowerShell を使用して、Azure サービスを操作できます。You can use either Bash or PowerShell with Cloud Shell to work with Azure services. ローカル環境に何もインストールしなくても、Cloud Shell にプレインストールされているコマンドを使用して、この記事のコードを実行できます。You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Azure Cloud Shell を開始するには:To start Azure Cloud Shell:

オプションOption 例とリンクExample/Link
コード ブロックの右上隅にある [使ってみる] を選択します。Select Try It in the upper-right corner of a code block. [使ってみる] を選択しても、コードは Cloud Shell に自動的にコピーされません。Selecting Try It doesn't automatically copy the code to Cloud Shell. Azure Cloud Shell の [使ってみる] の例
https://shell.azure.com に移動するか、 [Cloud Shell を起動する] ボタンを選択して、ブラウザーで Cloud Shell を開きます。Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. 新しいウィンドウで Cloud Shell を起動するLaunch Cloud Shell in a new window
Azure portal の右上にあるメニュー バーの [Cloud Shell] ボタンを選択します。Select the Cloud Shell button on the top-right menu bar in the Azure portal. Azure Portal の [Cloud Shell] ボタン

Azure Cloud Shell でこの記事のコードを実行するには:To run the code in this article in Azure Cloud Shell:

  1. Cloud Shell を開始します。Start Cloud Shell.

  2. [コピー] ボタンを選択して、コード ブロックをコードにコピーします。Select the Copy button on a code block to copy the code.

  3. Windows と Linux では Ctrl+Shift+V キーを選択し、macOS では Cmd+Shift+V キーを選択して、コードを Cloud Shell セッションに貼り付けます。Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Enter キーを選択して、コードを実行します。Select Enter to run the code.

基本のリソースの作成Create base resources

メッセージ ルーティングを構成するには、IoT ハブ、ストレージ アカウント、および Service Bus キューを事前に作成する必要があります。Before you can configure the message routing, you need to create an IoT hub, a storage account, and a Service Bus queue. これらのリソースは、このチュートリアルのパート 1 にある 4 つの記事 (Azure portal、Azure Resource Manager テンプレート、Azure CLI、または Azure PowerShell) のいずれかを使用して作成できます。These resources can be created using one of the four articles that are available for Part 1 of this tutorial: the Azure portal, an Azure Resource Manager template, the Azure CLI, or Azure PowerShell.

すべてのリソースに同じリソース グループと場所を使います。Use the same resource group and location for all of the resources. 最後に、リソース グループを削除することによって、すべてのリソースを一度に削除できます。Then at the end, you can remove all of the resources in one step by deleting the resource group.

次に、以下のセクションで実行する手順の概要を示します。Below is a summary of the steps to be performed in the following sections:

  1. リソース グループを作成します。Create a resource group.

  2. S1 レベルに IoT ハブを作成します。Create an IoT hub in the S1 tier. コンシューマー グループを IoT ハブに追加します。Add a consumer group to your IoT hub. コンシューマー グループは、データを取得するときに Azure Stream Analytics によって使われます。The consumer group is used by the Azure Stream Analytics when retrieving data.

    注意

    このチュートリアルを完了するには、有料レベルで IoT ハブを使用する必要があります。You must use an Iot hub in a paid tier to complete this tutorial. 無料レベルで設定できるのは 1 つのエンドポイントのみです。このチュートリアルでは複数のエンドポイントが必要です。The free tier only allows you to set up one endpoint, and this tutorial requires multiple endpoints.

  3. Standard_LRS レプリケーションで Standard V1 ストレージ アカウントを作成します。Create a standard V1 storage account with Standard_LRS replication.

  4. Service Bus の名前空間とキューを作成します。Create a Service Bus namespace and queue.

  5. ハブにメッセージを送信するシミュレートされたデバイスのデバイス ID を作成します。Create a device identity for the simulated device that sends messages to your hub. テスト フェーズ用にキーを保存します。Save the key for the testing phase. (Resource Manager テンプレートを作成する場合、これはテンプレートをデプロイした後に行います)。(If creating a Resource Manager template, this is done after deploying the template.)

Azure CLI を使用してベース リソースを作成するUse the Azure CLI to create the base resources

このチュートリアルでは、Azure CLI を使用してベース リソースを作成してから、Azure portal を使用してメッセージ ルーティングを構成する方法およびテスト用の仮想デバイスを設定する方法を説明します。This tutorial uses the Azure CLI to create the base resources, then uses the Azure portal to show how to configure message routing and set up the virtual device for testing.

以下のスクリプトをコピーして Cloud Shell に貼り付け、Enter キーを押してください。Copy and paste the script below into Cloud Shell and press Enter. スクリプトが 1 行ずつ実行されます。It runs the script one line at a time. これで、ストレージ アカウント、IoT ハブ、Service Bus 名前空間、Service Bus キューなど、このチュートリアルのベース リソースが作成されます。This will create the base resources for this tutorial, including the storage account, IoT Hub, Service Bus Namespace, and Service Bus queue.

IoT ハブ名やストレージ アカウント名など、いくつかのリソース名はグローバルに一意であることが必要です。There are several resource names that must be globally unique, such as the IoT Hub name and the storage account name. それを簡単にするために、それらのリソース名には、randomValue という英数字のランダム値が追加されます。To make this easier, those resource names are appended with a random alphanumeric value called randomValue. randomValue はスクリプトの冒頭で 1 度生成され、スクリプト全体で必要に応じてリソース名に追加されます。The randomValue is generated once at the top of the script and appended to the resource names as needed throughout the script. これをランダムにしたくない場合は、空の文字列または特定の値に設定できます。If you don't want it to be random, you can set it to an empty string or to a specific value.

ヒント

デバッグのヒント: このスクリプトでは、読みやすくするために継続記号 (バックスラッシュ \) を使用しています。A tip about debugging: this script uses the continuation symbol (the backslash \) to make the script more readable. スクリプトの実行で問題が生じた場合は、Cloud Shell セッションで bash が実行されていること、およびバックスラッシュの後ろにスペースがないことを確認してください。If you have a problem running the script, make sure your Cloud Shell session is running bash and that there are no spaces after any of the backslashes.

# This retrieves the subscription id of the account 
#   in which you're logged in.
# This field is used to set up the routing queries.
subscriptionID=$(az account show --query id)

# Concatenate this number onto the resources that have to be globally unique.
# You can set this to "" or to a specific value if you don't want it to be random.
# This retrieves a random value.
randomValue=$RANDOM

# Set the values for the resource names that 
#   don't have to be globally unique.
location=westus
resourceGroup=ContosoResources
iotHubConsumerGroup=ContosoConsumers
containerName=contosoresults

# Create the resource group to be used
#   for all the resources for this tutorial.
az group create --name $resourceGroup \
    --location $location

# The IoT hub name must be globally unique, 
#   so add a random value to the end.
iotHubName=ContosoTestHub$randomValue 
echo "IoT hub name = " $iotHubName

# Create the IoT hub.
az iot hub create --name $iotHubName \
    --resource-group $resourceGroup \
    --sku S1 --location $location

# Add a consumer group to the IoT hub for the 'events' endpoint.
az iot hub consumer-group create --hub-name $iotHubName \
    --name $iotHubConsumerGroup

# The storage account name must be globally unique, 
#   so add a random value to the end.
storageAccountName=contosostorage$randomValue
echo "Storage account name = " $storageAccountName

# Create the storage account to be used as a routing destination.
az storage account create --name $storageAccountName \
    --resource-group $resourceGroup \
    --location $location \
    --sku Standard_LRS

# Get the primary storage account key. 
#    You need this to create the container.
storageAccountKey=$(az storage account keys list \
    --resource-group $resourceGroup \
    --account-name $storageAccountName \
    --query "[0].value" | tr -d '"') 

# See the value of the storage account key.
echo "storage account key = " $storageAccountKey

# Create the container in the storage account. 
az storage container create --name $containerName \
    --account-name $storageAccountName \
    --account-key $storageAccountKey \
    --public-access off

# The Service Bus namespace must be globally unique, 
#   so add a random value to the end.
sbNamespace=ContosoSBNamespace$randomValue
echo "Service Bus namespace = " $sbNamespace

# Create the Service Bus namespace.
az servicebus namespace create --resource-group $resourceGroup \
    --name $sbNamespace \
    --location $location

# The Service Bus queue name must be globally unique, 
#   so add a random value to the end.
sbQueueName=ContosoSBQueue$randomValue
echo "Service Bus queue name = " $sbQueueName

# Create the Service Bus queue to be used as a routing destination.
az servicebus queue create --name $sbQueueName \
    --namespace-name $sbNamespace \
    --resource-group $resourceGroup

ベース リソースが設定されたら、Azure portal でメッセージ ルーティングを構成できます。Now that the base resources are set up, you can configure the message routing in the Azure portal.

メッセージ ルーティングを設定するSet up message routing

シミュレートされたデバイスによってメッセージに添付されたプロパティに基づいて、メッセージを異なるリソースにルーティングします。You are going to route messages to different resources based on properties attached to the message by the simulated device. カスタム ルーティングされないメッセージは、既定のエンドポイント (メッセージ/イベント) に送信されます。Messages that are not custom routed are sent to the default endpoint (messages/events). 次のチュートリアルでは、メッセージを IoT Hub に送信して、それらがさまざまな宛先にルーティングされるのを確認します。In the next tutorial, you send messages to the IoT Hub and see them routed to the different destinations.

Value 結果Result
level="storage"level="storage" Azure Storage に書き込みます。Write to Azure Storage.
level="critical"level="critical" Service Bus キューに書き込みます。Write to a Service Bus queue. ロジック アプリがキューからメッセージを取得し、Office 365 を使ってメールでメッセージを送信します。A Logic App retrieves the message from the queue and uses Office 365 to e-mail the message.
defaultdefault Power BI を使ってこのデータを表示します。Display this data using Power BI.

最初の手順では、データのルーティング先のエンドポイントを設定します。The first step is to set up the endpoint to which the data will be routed. 2 番目の手順では、そのエンドポイントを使用するメッセージ ルートを設定します。The second step is to set up the message route that uses that endpoint. ルーティングの設定後、ポータルでエンドポイントとメッセージ ルートを表示できます。After setting up the routing, you can view the endpoints and message routes in the portal.

ストレージ アカウントへのルーティングRoute to a storage account

ストレージ アカウントへのルーティングを設定します。Now set up the routing for the storage account. [メッセージ ルーティング] ウィンドウに移動して、ルートを追加します。You go to the Message Routing pane, then add a route. ルートを追加するときは、ルートに対する新しいエンドポイントを定義します。When adding the route, define a new endpoint for the route. このルーティングを設定した後、level プロパティが storage に設定されているメッセージは、ストレージ アカウントに自動的に書き込まれます。After this routing is set up, messages where the level property is set to storage are written to a storage account automatically.

注意

データは、既定の Apache Avro 形式または JSON (プレビュー) のいずれかで BLOB ストレージに書き込むことができます。The data can be written to blob storage in either the Apache Avro format, which is the default, or JSON (preview).

JSON 形式にエンコードする機能は、IoT Hub が提供されているすべてのリージョンでプレビュー段階です (米国東部、米国西部、西ヨーロッパを除く)。The capability to encode JSON format is in preview in all regions in which IoT Hub is available, except East US, West US and West Europe. エンコード形式は、BLOB ストレージ エンドポイントの構成時にのみ設定できます。The encoding format can be only set at the time the blob storage endpoint is configured. 既に設定されているエンドポイントの形式は変更できません。The format cannot be changed for an endpoint that has already been set up. JSON エンコードを使用する場合は、メッセージのシステム プロパティで contentType を JSON に設定し、contentEncoding を UTF-8 に設定する必要があります。When using JSON encoding, you must set the contentType to JSON and the contentEncoding to UTF-8 in the message system properties.

BLOB ストレージ エンドポイントの使用に関する詳細については、ストレージへのルーティングに関するガイダンスを参照してください。For more detailed information about using a blob storage endpoint, please see guidance on routing to storage.

  1. Azure portal[リソース グループ] を選択し、自分のリソース グループを選択します。In the Azure portal, select Resource Groups, then select your resource group. このチュートリアルでは、ContosoResources を使います。This tutorial uses ContosoResources.

  2. リソースの一覧で IoT ハブを選択します。Select the IoT hub under the list of resources. このチュートリアルでは、ContosoTestHub を使います。This tutorial uses ContosoTestHub.

  3. [メッセージ ルーティング] を選択します。Select Message Routing. [メッセージ ルーティング] ウィンドウで、+ [追加] を選択します。In the Message Routing pane, select +Add. 次の図に示すように、 [Add a Route](ルートの追加) ウィンドウで、[エンドポイント] フィールドの隣にある + [追加] を選択し、サポートされているエンドポイントを表示します。On the Add a Route pane, select +Add next to the Endpoint field to show the supported endpoints, as displayed in the following picture:

    ルートのエンドポイントの追加を開始する

  4. [Blob ストレージ] を選択します。Select Blob storage. [Add storage endpoint](ストレージ エンドポイントの追加) ウィンドウが表示されます。You see the Add a storage endpoint pane.

    エンドポイントの追加

  5. エンドポイントの名前を入力します。Enter a name for the endpoint. このチュートリアルでは、ContosoStorageEndpoint を使います。This tutorial uses ContosoStorageEndpoint.

  6. [コンテナーを選択します] を選択します。Select Pick a container. ストレージ アカウントの一覧が表示されます。This takes you to a list of your storage accounts. 準備ステップで設定したものを選択します。Select the one you set up in the preparation steps. このチュートリアルでは、contosostorage を使います。This tutorial uses contosostorage. そのストレージ アカウント内のコンテナーの一覧が表示されます。It shows a list of containers in that storage account. 準備ステップで設定したコンテナーを選択します。Select the container you set up in the preparation steps. このチュートリアルでは、contosoresults を使います。This tutorial uses contosoresults. [ストレージ エンドポイントの追加] ウィンドウに戻り、選択した内容が表示されます。You return to the Add a storage endpoint pane and see the selections you made.

  7. エンコードを AVRO または JSON に設定します。Set the encoding to AVRO or JSON. このチュートリアルでは、残りのフィールドには既定値を使用します。For the purpose of this tutorial, use the defaults for the rest of the fields. 選択したリージョンが JSON エンコードをサポートしていない場合、このフィールドは灰色表示されます。This field will be greyed out if the region selected does not support JSON encoding.,

    注意

    BLOB 名の形式は、 [BLOB ファイル名形式] を使用して設定することができます。You can set the format of the blob name using the Blob file name format. 既定では、 {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}です。The default is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. 形式には任意の順序で {iothub}、{partition}、{YYYY}、{MM}、{DD}、{HH}、および {mm} を含める必要があります。The format must contain {iothub}, {partition}, {YYYY}, {MM}, {DD}, {HH}, and {mm} in any order.

    たとえば、既定の BLOB ファイル名形式を使用して、ハブ名が ContosoTestHub であり、日付/時刻が 2018 年 10 月 30 日午前 10:56 である場合、BLOB 名は ContosoTestHub/0/2018/10/30/10/56 のようになります。For example, using the default blob file name format, if the hub name is ContosoTestHub, and the date/time is October 30, 2018 at 10:56 a.m., the blob name will look like this: ContosoTestHub/0/2018/10/30/10/56.

    BLOB は、Avro 形式で書き込まれます。The blobs are written in the Avro format.

  8. [作成] を選択してストレージ エンドポイントを作成し、ルートに追加します。Select Create to create the storage endpoint and add it to the route. [Add a route](ルートの追加) ウィンドウに表示が戻ります。You return to the Add a route pane.

  9. ルーティング クエリ情報の残りの部分を完成します。Now complete the rest of the routing query information. このクエリでは、エンドポイントとして追加したストレージ コンテナーにメッセージを送信するための条件を指定します。This query specifies the criteria for sending messages to the storage container you just added as an endpoint. 画面のフィールドを入力します。Fill in the fields on the screen.

    [名前] :ルーティング クエリの名前を入力します。Name: Enter a name for your routing query. このチュートリアルでは、ContosoStorageRoute を使います。This tutorial uses ContosoStorageRoute.

    エンドポイント: ここには、先ほど設定したエンドポイントが表示されます。Endpoint: This shows the endpoint you just set up.

    データ ソース:ドロップダウン リストから [デバイス テレメトリのメッセージ] を選びます。Data source: Select Device Telemetry Messages from the dropdown list.

    ルートの有効化:このフィールドは必ず enabled に設定してください。Enable route: Be sure this field is set to enabled.

    ルーティング クエリ:クエリ文字列として、「level="storage"」と入力します。Routing query: Enter level="storage" as the query string.

    ストレージ アカウントのルーティング クエリを作成する

    [保存] を選択します。Select Save. 完了すると [メッセージ ルーティング] ウィンドウに表示が戻り、そこでストレージの新しいルーティング クエリを確認できます。When it finishes, it returns to the Message Routing pane, where you can see your new routing query for storage. [ルート] ウィンドウを閉じて、[リソース グループ] ページに戻ります。Close the Routes pane, which returns you to the Resource group page.

Service Bus キューへのルーティングRoute to a Service Bus queue

次に、Service Bus キューへのルーティングを設定します。Now set up the routing for the Service Bus queue. [メッセージ ルーティング] ウィンドウに移動して、ルートを追加します。You go to the Message Routing pane, then add a route. ルートを追加するときは、ルートに対する新しいエンドポイントを定義します。When adding the route, define a new endpoint for the route. このルートを設定した後、level プロパティが critical に設定されているメッセージは、Service Bus キューに書き込まれます。それにより、ロジック アプリがトリガーされて、情報を含むメールが送信されます。After this route is set up, messages where the level property is set to critical are written to the Service Bus queue, which triggers a Logic App, which then sends an e-mail with the information.

  1. [リソース グループ] ページで、自分の IoT ハブを選択し、 [メッセージ ルーティング] を選択します。On the Resource group page, select your IoT hub, then select Message Routing.

  2. [メッセージ ルーティング] ウィンドウで、+ [追加] を選択します。In the Message Routing pane, select +Add.

  3. [ルートの追加] ウィンドウで、[エンドポイント] フィールドの隣にある + [追加] を選択します。On the Add a Route pane, Select +Add next to the Endpoint field. [Service Bus キュー] を選択します。Select Service Bus Queue. [Service Bus エンドポイントを追加する] ウィンドウが表示されます。You see the Add Service Bus Endpoint pane.

    Service Bus エンドポイントを追加する

  4. フィールドに入力します。Fill in the fields:

    エンドポイント名:エンドポイントの名前を入力します。Endpoint Name: Enter a name for the endpoint. このチュートリアルでは、ContosoSBQueueEndpoint を使います。This tutorial uses ContosoSBQueueEndpoint.

    Service Bus 名前空間:ドロップダウン リストを使用し、準備ステップで設定したサービス バスの名前空間を選択します。Service Bus Namespace: Use the dropdown list to select the service bus namespace you set up in the preparation steps. このチュートリアルでは、ContosoSBNamespace を使います。This tutorial uses ContosoSBNamespace.

    Service Bus キュー:ドロップダウン リストを使用して Service Bus キューを選択します。Service Bus queue: Use the dropdown list to select the Service Bus queue. このチュートリアルでは、contososbqueue を使います。This tutorial uses contososbqueue.

  5. [作成] を選択して Service Bus キューのエンドポイントを追加します。Select Create to add the Service Bus queue endpoint. [Add a route](ルートの追加) ウィンドウに表示が戻ります。You return to the Add a route pane.

  6. ルーティング クエリ情報の残りの部分を完成します。Now you complete the rest of the routing query information. このクエリでは、エンドポイントとして追加した Service Bus キューにメッセージを送信するための条件を指定します。This query specifies the criteria for sending messages to the Service Bus queue you just added as an endpoint. 画面のフィールドを入力します。Fill in the fields on the screen.

    [名前] :ルーティング クエリの名前を入力します。Name: Enter a name for your routing query. このチュートリアルでは、ContosoSBQueueRoute を使います。This tutorial uses ContosoSBQueueRoute.

    エンドポイント: ここには、先ほど設定したエンドポイントが表示されます。Endpoint: This shows the endpoint you just set up.

    データ ソース:ドロップダウン リストから [デバイス テレメトリのメッセージ] を選びます。Data source: Select Device Telemetry Messages from the dropdown list.

    ルーティング クエリ:クエリ文字列として、「level="critical"」と入力します。Routing query: Enter level="critical" as the query string.

    Service Bus キューのルーティング クエリを作成する

  7. [保存] を選択します。Select Save. [ルート] ウィンドウに戻ると、次のように、新しいルートが両方とも表示されます。When it returns to the Routes pane, you see both of your new routes, as displayed here.

    設定したばかりのルート

  8. [カスタム エンドポイント] タブを選択することで、設定したカスタム エンドポイントを確認できます。You can see the custom endpoints you set up by selecting the Custom Endpoints tab.

    設定したばかりのカスタム エンドポイント

  9. [メッセージ ルーティング] ウィンドウを閉じて、[リソース グループ] ウィンドウに戻ります。Close the Message Routing pane, which returns you to the Resource group pane.

シミュレート対象デバイスを作成しますCreate a simulated device

次に、デバイス ID を作成し、後で使用するのでそのキーを保存します。Next, create a device identity and save its key for later use. このデバイス ID は、IoT ハブにメッセージを送信するためにシミュレーション アプリケーションによって使われます。This device identity is used by the simulation application to send messages to the IoT hub. この機能は、PowerShell では利用できず、また、Azure Resource Manager テンプレートを使用している場合も利用できません。This capability is not available in PowerShell or when using an Azure Resource Manager template. 以降の手順で紹介する方法では、シミュレートされたデバイスを Azure portal を使用して作成しています。The following steps tell you how to create the simulated device using the Azure portal.

  1. Azure portal を開き、Azure アカウントにログインします。Open the Azure portal and log into your Azure account.

  2. [リソース グループ] を選択し、対象のリソース グループを選択します。Select Resource groups and then choose your resource group. このチュートリアルでは、ContosoResources を使います。This tutorial uses ContosoResources.

  3. リソースの一覧から目的の IoT ハブを選択します。In the list of resources, select your IoT hub. このチュートリアルでは、ContosoTestHub を使います。This tutorial uses ContosoTestHub. [ハブ] ウィンドウで [IoT デバイス] を選びます。Select IoT Devices from the Hub pane.

  4. [+ 追加] を選択します。Select + Add. [デバイスの追加] ウィンドウで、デバイス ID を入力します。On the Add Device pane, fill in the device ID. このチュートリアルでは、Contoso-Test-Device を使います。This tutorial uses Contoso-Test-Device. キーは空のままにし、 [キーの自動生成] をオンにします。Leave the keys empty, and check Auto Generate Keys. [デバイスを IoT Hub に接続] を有効にします。Make sure Connect device to IoT hub is enabled. [保存] を選択します。Select Save.

    [デバイスの追加] 画面

  5. デバイスが作成されたので、デバイスを選択して生成されたキーを表示します。Now that it's been created, select the device to see the generated keys. プライマリ キーの [コピー] アイコンを選択し、このチュートリアルのテスト フェーズのために、メモ帳などの場所に保存します。Select the Copy icon on the Primary key and save it somewhere such as Notepad for the testing phase of this tutorial.

    デバイスの詳細 (キーを含む)

次の手順Next steps

リソースを設定してメッセージ ルートを構成したら、次のチュートリアルに進んで、IoT ハブにメッセージを送信する方法と、それらがさまざまな宛先にルーティングされるようすを確認しましょう。Now that you have the resources set up and the message routes configured, advance to the next tutorial to learn how to send messages to the IoT hub and see them be routed to the different destinations.