Azure Portal で Azure Digital Twins インスタンスを管理する以外に、Azure Digital Twins には、サービスでほとんどの主要なアクションを実行するために使用できる Azure CLI 用のコマンド セットもあります。 この記事では、Azure Digital Twins の Azure CLI コマンド セットについて説明します。これには、その使用方法、取得方法、使用要件が含まれます。
コマンド セットを使用して実行できるアクションには、次のようなものがあります。
- Azure Digital Twins インスタンスの管理
- モデルの管理
- デジタル ツインの管理
- ツイン リレーションシップの管理
- エンドポイントの構成
- ルートの管理
- Azure ロールベースのアクセス制御 (Azure RBAC) を使用した セキュリティ の構成
コマンド セットは az dt
と呼ばれ、 Azure CLI 用の Azure IoT 拡張機能の一部です。 コマンドとその用途の完全な一覧は、az iot
コマンド セット az dt コマンド参照の参照ドキュメントで参照できます。
使用 (デプロイと検証)
CLI は、インスタンスの一般的な管理とは別に、デプロイと検証に役立つツールでもあります。
- コントロール プレーン コマンドを使用すると、新しいインスタンスのデプロイを反復可能にしたり、自動化したりすることができます。
- データ プレーン コマンドを使用すると、インスタンスの値をすばやく確認し、操作が期待どおりに完了したことを確認できます。
コマンド セットを取得する
Azure Digital Twins コマンドは Azure CLI (azure-iot) 用の Azure IoT 拡張機能の一部であるため、次の手順に従って、azure-iot
コマンドを使用して最新のaz dt
拡張機能を使用していることを確認します。
CLI のバージョン要件
PowerShell で Azure CLI を使用している場合は、拡張機能パッケージの要件として Azure CLI バージョンが 2.3.1 以上である必要があります。
次の CLI コマンドを使用して、Azure CLI のバージョンを確認できます。
az --version
Azure CLI をインストールまたは新しいバージョンに更新する方法については、「 Azure CLI をインストールする方法」を参照してください。
拡張機能を取得する
Azure CLI では、拡張機能を必要とするコマンドを最初に使用するときに、拡張機能のインストールを求めるメッセージが自動的に表示されます。
それ以外の場合は、次のコマンドを使用して、いつでも拡張機能を自分でインストールできます (または、古いバージョンが既にあることがわかった場合は更新してください)。 このコマンドは、 Azure Cloud Shell または ローカルの Azure CLI で実行できます。
az extension add --upgrade --name azure-iot
異なるシェルで特殊文字を使用する
一部の az dt
コマンドでは、特定のシェル環境で適切に解析するためにエスケープする必要がある特殊文字を使用します。 このセクションのヒントを使用して、選択したシェルで特殊文字をエスケープするタイミングを把握できます。
Bash (バッシュ)
Bash 環境では、次の特殊文字のヒントを使用します。
クエリ
多くのツイン クエリでは、ツインの $
プロパティを参照するために $dtId
文字が使用されます。
az dt twin query コマンドを使用して Cloud Shell Bash 環境でクエリを実行する場合は、バックスラッシュ ($
) を使用して\
文字をエスケープします。
Cloud Shell Bash 環境で CLI コマンドを使用してツインのクエリを実行する例を次に示します。
az dt twin query --dt-name <instance-hostname-or-name> --query-command "SELECT * FROM DigitalTwins T Where T.\$dtId = 'room0'"
PowerShell
PowerShell 環境で特殊文字を扱う際のヒントを参考にしてください。
インライン JSON
az dt twin create などの一部のコマンドでは、インライン JSON の形式でツイン情報を入力できます。 PowerShell 環境でインライン JSON を入力するときは、バックスラッシュ ("
) を使用して JSON 内の二重引用符文字 (\
) をエスケープします。
PowerShell で CLI コマンドを使用してツインを作成する例を次に示します。
az dt twin create --dt-name <instance-hostname-or-name> --dtmi "dtmi:contosocom:DigitalTwins:Thermostat;1" --twin-id thermostat67 --properties '{\"Temperature\": 0.0}'
ヒント
インライン JSON をサポートするコマンドの多くは、ファイル パスとしての入力もサポートしているため、シェル固有のテキスト要件を回避するのに役立ちます。
クエリ
多くのツイン クエリでは、ツインの $
プロパティを参照するために $dtId
文字が使用されます。
az dt twin query コマンドを使用して PowerShell 環境でクエリを実行する時には、$
文字をバックティック文字でエスケープします。
PowerShell の CLI コマンドを使用してデジタル ツインに対しクエリを実行する例を次に示します。
az dt twin query --dt-name <instance-hostname-or-name> --query-command "SELECT * FROM DigitalTwins T Where T.`$dtId = 'room0'"
Windows コマンドプロンプト
ローカルの Windows CMD には、次の特殊文字のヒントを使用します。
インライン JSON
az dt twin create などの一部のコマンドでは、インライン JSON の形式でツイン情報を入力できます。 ローカルの Windows CMD ウィンドウにインライン JSON を入力する場合は、パラメーター値を単一引用符 ("
) ではなく二重引用符 ('
) で囲み、JSON 内の二重引用符 (\
) でエスケープします。
ローカルの Windows CMD で CLI コマンドを使用してツインを作成する例を次に示します。
az dt twin create --dt-name <instance-hostname-or-name> --dtmi "dtmi:contosocom:DigitalTwins:Thermostat;1" --twin-id thermostat67 --properties "{\"Temperature\": 0.0}"
ヒント
インライン JSON をサポートするコマンドの多くは、ファイル パスとしての入力もサポートしているため、シェル固有のテキスト要件を回避するのに役立ちます。
次のステップ
リファレンス ドキュメントを使用して、CLI とそのコマンドの完全なセットを確認します。