Azure CLI で IoT Hub Device Provisioning Service をセットアップするSet up the IoT Hub Device Provisioning Service with Azure CLI

Azure CLI は、コマンドラインやスクリプトで Azure リソースを作成および管理するために使用します。The Azure CLI is used to create and manage Azure resources from the command line or in scripts. このクイック スタートでは、Azure CLI を使用して IoT ハブと IoT Hub Device Provisioning サービスを作成し、2 つのサービスをリンクする方法について詳しく説明します。This QuickStart details using the Azure CLI to create an IoT hub and an IoT Hub Device Provisioning Service and to link the two services together.

Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。If you don't have an Azure subscription, create a free account before you begin.


このクイック スタートで作成する IoT ハブとプロビジョニング サービスは、どちらも DNS エンドポイントとして公開されます。Both the IoT hub and the provisioning service you create in this QuickStart will be publicly discoverable as DNS endpoints. これらのリソースに使用される名前を変更する場合は、機密性の高い情報を含めないようにしてください。Make sure to avoid any sensitive information if you decide to change the names used for these resources.

リソース グループの作成Create a resource group

az group create コマンドでリソース グループを作成します。Create a resource group with the az group create command. Azure リソース グループとは、Azure リソースのデプロイと管理に使用する論理コンテナーです。An Azure resource group is a logical container into which Azure resources are deployed and managed.

次の例では、my-sample-resource-group という名前のリソース グループを場所 westus に作成します。The following example creates a resource group named my-sample-resource-group in the westus location.

az group create --name my-sample-resource-group --location westus


この例では、米国西部にリソース グループが作成されます。The example creates the resource group in the West US location. az account list-locations -o table コマンドを実行すると、利用できる場所を一覧表示できます。You can view a list of available locations by running the command az account list-locations -o table.

IoT Hub の作成Create an IoT hub

az iot hub create コマンドを使用して、IoT Hub を作成します。Create an IoT hub with the az iot hub create command.

次の例では、my-sample-hub という名前の IoT ハブを場所 westus に作成します。The following example creates an IoT hub named my-sample-hub in the westus location.

az iot hub create --name my-sample-hub --resource-group my-sample-resource-group --location westus

プロビジョニング サービスの作成Create a provisioning service

az iot dps create コマンドを使用して、プロビジョニング サービスを作成します。Create a provisioning service with the az iot dps create command.

次の例では、my-sample-dps という名前のプロビジョニング サービスを場所 westus に作成します。The following example creates an provisioning service named my-sample-dps in the westus location.

az iot dps create --name my-sample-dps --resource-group my-sample-resource-group --location westus


この例では、米国西部にプロビジョニング サービスが作成されます。The example creates the provisioning service in the West US location. 使用可能な場所の一覧を表示するには、az provider show --namespace Microsoft.Devices --query "resourceTypes[?resourceType=='ProvisioningServices'].locations | [0]" --out table コマンドを実行するか、Azure の状態ページに移動して "Device Provisioning Service" を検索します。You can view a list of available locations by running the command az provider show --namespace Microsoft.Devices --query "resourceTypes[?resourceType=='ProvisioningServices'].locations | [0]" --out table or by going to the Azure Status page and searching for "Device Provisioning Service". コマンドでは、場所は 1 単語または複数単語の形式で指定できます。たとえば、westus、West US、WEST US などです。この値で、大文字と小文字は区別されません。In commands, locations can be specified either in one word or multi-word format; for example: westus, West US, WEST US, etc. The value is not case sensitive. 複数単語形式で場所を指定する場合は、値を引用符で囲みます。たとえば、-- location "West US" のようにします。If you use multi-word format to specify location, enclose the value in quotes; for example, -- location "West US".

IoT ハブの接続文字列の取得Get the connection string for the IoT hub

IoT ハブを Device Provisioning サービスとリンクするには、IoT ハブの接続文字列が必要です。You need your IoT hub's connection string to link it with the Device Provisioning Service. az iot hub show-connection-string コマンドを使用して接続文字列を取得し、それを使用して、2 つのリソースをリンクするときに使用する変数を設定します。Use the az iot hub show-connection-string command to get the connection string and use its output to set a variable that you will use when you link the two resources.

次の例では、hubConnectionString 変数を、ハブの iothubowner ポリシーの主キーの接続文字列の値に設定します。The following example sets the hubConnectionString variable to the value of the connection string for the primary key of the hub's iothubowner policy. --policy-name パラメーターを使用して、別のポリシーを指定することができます。You can specify a different policy with the --policy-name parameter. このコマンドでは、Azure CLI の queryoutput オプションを使用して、コマンド出力から接続文字列を抽出します。The command uses the Azure CLI query and output options to extract the connection string from the command output.

hubConnectionString=$(az iot hub show-connection-string --name my-sample-hub --key primary --query connectionString -o tsv)

接続文字列を表示するには、echo コマンドを使用します。You can use the echo command to see the connection string.

echo $hubConnectionString


この 2 つのコマンドは、Bash で実行されているホストに対して有効です。These two commands are valid for a host running under Bash. ローカルの Windows/CMD シェルまたは PowerShell ホストを使用している場合は、その環境での正しい構文を使用するようにコマンドを変更する必要があります。If you are using a local Windows/CMD shell or a PowerShell host, you need to modify the commands to use the correct syntax for that environment.

IoT ハブとプロビジョニング サービスをリンクするには、az iot dps linked-hub create コマンドを使用します。Link the IoT hub and your provisioning service with the az iot dps linked-hub create command.

次の例では、場所 westusmy-sample-hub という名前の IoT ハブと、my-sample-dps という名前の Device Provisioning サービスをリンクします。The following example links an IoT hub named my-sample-hub in the westus location and a Device Provisioning service named my-sample-dps. 前の手順で hubConnectionString 変数に格納した my-sample-hub の接続文字列を使用します。It uses the connection string for my-sample-hub stored in the hubConnectionString variable in the previous step.

az iot dps linked-hub create --dps-name my-sample-dps --resource-group my-sample-resource-group --connection-string $hubConnectionString --location westus

プロビジョニング サービスの確認Verify the provisioning service

az iot dps show コマンドを使用して、プロビジョニング サービスの詳細を取得します。Get the details of your provisioning service with the az iot dps show command.

次の例では、my-sample-dps という名前のプロビジョニング サービスの詳細を取得します。The following example gets the details of a provisioning service named my-sample-dps. リンクされた IoT ハブは、properties.iotHubs コレクションに表示されます。The linked IoT hub is shown in the properties.iotHubs collection.

az iot dps show --name my-sample-dps

リソースのクリーンアップClean up resources

このコレクションの他のクイックスタートは、このクイックスタートに基づいています。Other Quickstarts in this collection build upon this Quickstart. 引き続きクイックスタートまたはチュートリアルの作業を行う場合は、このクイックスタートで作成したリソースをクリーンアップしないでください。If you plan to continue on to work with subsequent Quickstarts or with the tutorials, do not clean up the resources created in this Quickstart. 作業を続けない場合は、以下のコマンドを使用して、プロビジョニング サービス、IoT ハブ、またはリソース グループとそのすべてのリソースを削除することができます。If you do not plan to continue, you can use the following commands to delete the provisioning service, the IoT hub or the resource group and all of its resources.

プロビジョニング サービスを削除するには、az iot dps delete コマンドを実行します。To delete the provisioning service, run the az iot dps delete command:

az iot dps delete --name my-sample-dps --resource-group my-sample-resource-group

IoT ハブを削除するには、az iot hub delete コマンドを実行します。To delete the IoT hub, run the az iot hub delete command:

az iot hub delete --name my-sample-hub --resource-group my-sample-resource-group

リソース グループとそのすべてのリソースを削除するには、az group delete コマンドを実行します。To delete a resource group and all its resources, run the az group delete command:

az group delete --name my-sample-resource-group

次の手順Next steps

このクイックスタートでは、IoT ハブと Device Provisioning Service インスタンスをデプロイし、この 2 つのリソースをリンクさせました。In this Quickstart, you’ve deployed an IoT hub and a Device Provisioning Service instance, and linked the two resources. ここで行った設定を使用して、シミュレートされたデバイスをプロビジョニングする方法については、シミュレートされたデバイスの作成に関するクイックスタートを参照してください。To learn how to use this set up to provision a simulated device, continue to the Quickstart for creating simulated device.