Azure Sphere CLI

Azure Sphere SDK には、PowerShell、Windows コマンド プロンプト、または Linux コマンド シェルで使用できる Azure Sphere コマンド ライン インターフェイス (CLI) が用意されています。 Azure Sphere CLI は、Azure Sphere リソースの作成と管理に使用される一連のコマンドです。

Azure Sphere CLI は、廃止された Azure Sphere クラシック CLI と共に WindowsLinux の両方にインストールされるため、どちらのインターフェイスにもアクセスできます。 Azure Sphere CLI を使用するには:

  • Windows では、PowerShell または標準の Windows コマンド プロンプトを使用します。
  • Linux では、任意のコマンド シェルを使用します。

Azure Sphere CLI を実行する

Windows コマンド プロンプトまたは PowerShell のコマンドを使用して azsphere 、Azure Sphere CLI を実行できるようになりました。 Windows コマンド プロンプトでは使用できない タブ補完 機能を提供するため、PowerShell をお勧めします。

Linux では、任意のコマンド ライン インターフェイス (CLI) から Azure Sphere CLI を実行できます。 インストール中に、Azure Sphere CLI または Azure Sphere クラシック CLI を推奨される既定の CLI バージョンとして設定できる通知が表示されます。 「」と入力 Yes して Azure Sphere CLI を選択するか、Azure Sphere クラシック CLI を使用するタイプ No を選択します。 詳細については、「 Azure Sphere SDK のインストール 」を参照してください。

メモ

コマンドの短い形式は、Azure Sphere CLI バージョンではサポートされていません。 タブ補完機能を使用して、使用可能なコマンドの一覧を表示することをお勧めします。 Windows では、廃止された Azure Sphere クラシック開発者コマンド プロンプト ショートカットは 、Azure Sphere クラシック CLI でのみ使用できます。

CLI 入力機能

このセクションでは、Azure Sphere CLI で使用できる入力機能について説明します。

コマンド

Azure Sphere CLI のすべてのコマンドは で azsphere始まります。 例えば:

azsphere login
 ---------------------
 Name
 =====================
 bob@contoso.com
 ---------------------

コマンドの検索

CLI のコマンドはグループで編成されます。 Azure Sphere クラシック CLI と Azure Sphere CLI で を使用 --help して、使用可能なコマンドとパラメーターの完全なヘルプ情報を表示できます。

コマンドの完全な一覧を取得するには、 コマンド を実行します azsphere --help

例えば:

  • Azure Sphere クラシック CLI を使用する場合、 azsphere --help または azsphere -?
  • Azure Sphere CLI を使用する場合、 azsphere --help または azsphere -h

パラメーター

パラメーターの名前の前に二重ハイフン (--) が付きます。これは、ハイフンの後の単語がパラメーターであることを示します。 パラメーターの名前と値を区切るためにスペースを使用します。 複合語であるパラメーターは、新しい CLI でハイフン (-) で区切られます。

たとえば、 --component-id または --application-update

簡略化されたオブジェクト識別

Azure Sphere CLI では、各オブジェクトの種類を識別するために 1 つのパラメーターが使用されます。 つまり、そのパラメーターに適用できる ID、名前、IP、または場所のいずれかを指定できます。

たとえば、次のコマンドでテナント ID またはテナント名を使用できます。

azsphere device list --tenant 143adbc9-1bf0-4be2-84a2-084a331d81cb

または

azsphere device list --tenant MyTenant

これは、および パラメーターに--device--tenant--product対して--device-group実装されています。

例えば:

azsphere device-group update --device-group CoffeeMaker/Development
   ------------------------------------ ------------------------------------ ---------- ------------------------------------ --------- ---------------------- ---------------------------------------------------------- -------------------------
   Id                                   TenantId                             OsFeedType ProductId                            Name      Description            UpdatePolicy                                               AllowCrashDumpsCollection
   ===============================================================================================================================================================================================================================================
   7f860cc1-4949-4000-a541-9a988ba4c3cd 143adbc9-1bf0-4be2-84a2-084a331d81cb Retail     6f52bead-700d-4289-bdc2-2f11f774270e Marketing Marketing device group Accept all updates from the Azure Sphere Security Service. False
   ------------------------------------ ------------------------------------ ---------- ------------------------------------ --------- ---------------------- ---------------------------------------------------------- -------------------------

複数の値

一部のコマンドでは、1 つのパラメーターに対して複数の値を使用できます。その場合は、各値でパラメーターを指定するか、単一のパラメーターの後にスペースで区切られた値のリストを指定できます。 たとえば、次の 2 つのコマンドは同等です。

azsphere image-package pack-application --package-directory myDirectory --destination myImagePackage --executables filepath-1 --executables filepath-2
azsphere image-package pack-application --package-directory myDirectory --destination myImagePackage --executables filepath-1 filepath-2

必須パラメーターと省略可能なパラメーター

実行すると azsphere <command> <sub-command> --help 、そのコマンドに適用できるパラメーターの一覧が表示されます。 [必須] 設定は、コマンドを正常に実行するためにパラメーターが必須かどうかを示します。 その他のパラメーターはすべて省略可能です。

必要なパラメーターが見つからない場合は、パラメーターの値の入力を求められます。

例えば:

azsphere role delete --help

Command
    azsphere role delete : Deletes a role from a user in the current Azure Sphere tenant.

Arguments
    --role -r [Required] : Role to be deleted. Values from: azsphere role show-types.
    --user -u [Required] : The user from whom the role is being deleted. Specify user e-mail.
                           Values from: azsphere role list.

Tenant Selection Arguments
    --tenant -t          : The tenant to perform this operation in. Overrides the default selected
                           tenant. Specify tenant ID or tenant name. Values from: azsphere tenant
                           list.

Global Arguments
    --debug              : Increase logging verbosity to show all debug logs.
    --help -h            : Show this help message and exit.
    --only-show-errors   : Only show errors, suppressing warnings.
    --output -o          : Output format. Allowed values: json, jsonc, none, table, tsv, yaml,
                           yamlc. Default: table.
    --query              : JMESPath query string. See http://jmespath.org/ for more information and
                           examples.
    --verbose            : Increase logging verbosity. Use --debug for full debug logs.

入力パスと出力パス

Azure Sphere CLI では、パスとファイル名を指定するために使用されるパラメーター名が、コマンドのコンテキストに関連するように更新されています。

例えば:

azsphere image-package pack-application --package-directory C:\AppSamples\LocalSamples\HelloWorld\HelloWorld_HighLevelApp\out\ARM-Debug\approotHelloWorld_HighLevelApp --destination myimage.imagepackage

ここでは、 --package-directory パッケージの入力ディレクトリを指定し、 --destination 結果のイメージ パッケージのパスとファイル名をパラメーターで指定します。

タブ入力候補

タブ入力候補は、コマンド ライン インターフェイスでコマンド エントリを自動的に完了するのに役立ちます。 Azure Sphere CLI タブの入力候補は、グループ、コマンド、パラメーター名、およびパラメーター値でサポートされています。 コマンドのいくつかの文字を入力し、 Tab キー を押して目的の完了テキストを選択します。 最初に入力したテキストで始まる項目が複数ある場合は、目的の項目が表示されるまで Tab キー を押し続けます。

Windows では、PowerShell 7.1 には、Windows コマンド プロンプトから使用できないタブ補完機能が用意されています。

Windows PowerShellでタブ補完を有効にするには、 を実行Import-Module -name AzsphereCliします。 このコマンドは、セッションに対してのみタブ補完を有効にします。 PowerShell プロファイルにスクリプトを追加して、環境をカスタマイズし、開始するすべての PowerShell セッションでタブ補完を有効にすることができます。

Linux では、Azure Sphere CLI では、Bash シェルの下のコマンドのタブ補完機能がサポートされています。

さらに、オートコンプリートは、使用できるコマンド、パラメーター、およびパラメーター値を検出するのに役立ちます。 これは、Windows PowerShellで Ctrl キーを押しながら Space キーを押すか、Linux Bash シェルで Tab キーを 2 回押すことで使用できます。

たとえば、「 azsphere product update command 」と入力し、オートコンプリートを使用して使用可能なパラメーターの一覧を表示します。

PowerShell オートコンプリート パラメーター

同様に、「 azsphere product update --product 」と入力し、autocompletion を使用してテナントで使用可能な製品の一覧を表示します。

PowerShell オートコンプリート製品

対話型モード (プレビュー)

大事な

この機能はプレビュー段階です。 将来のリリースで変更または削除される可能性があります。

新しい CLI では、ヘルプ情報を自動的に表示し、コマンド、サブコマンド、パラメーター、パラメーターの値を簡単に選択できる対話型モードが提供されます。 azsphere interactive コマンドを使用して対話型モードに入ります。 コマンド プロンプトが に azsphere>> 変わり、対話型シェルでコマンドが実行されていることを示します。 詳細については、「 Azure Sphere CLI 対話型モード」を参照してください。

Azure Sphere 対話型モード

CLI 出力機能

このセクションでは、Azure Sphere CLI で使用できる出力機能について説明します。

次のセクションでは、新しい CLI で使用できる出力機能について説明します。

サポートされている出力形式

新しい CLI で使用できる出力形式は、jsonjsonc、(色付けされた JSON)、 tsv (タブ区切り値)、 table (人間が判読できる ASCII テーブル)、および yamlです。 既定では、CLI は を出力します table。 使用可能な出力形式の詳細については、「 Azure Sphere CLI でサポートされている出力形式」を参照してください。

リダイレクトと改ページ

Azure Sphere CLI では、対話型の改ページ処理はサポートされていません。 ただし、コマンドの標準出力をファイルにリダイレクトできます。 次の例では、Windows コマンド プロンプト、Windows PowerShell、Linux Bash シェルの場合、標準出力が output.txt に送信され、標準エラーが logs.txt に送信されます。

azsphere device list --verbose > output.txt 2> logs.txt

また、既存の改ページ調整ツールにパイプすることで、画面上の出力を改ページ処理することもできます。

例えば:

  • PowerShell (Windows): azsphere device list | Out-Host –Paging
  • コマンド プロンプト (Windows): azsphere device list | more
  • Bash シェル (Linux): azsphere device list | less

メモ

返されるデータの量によっては、この操作が遅くなる可能性があります。

Azure Azure Sphere クラシック CLI の改ページ処理の詳細については、「 ページングと結果のリダイレクト」を参照してください。

クエリ CLI コマンドの出力

Azure Sphere CLI では、 引数を --query 使用して、コマンドの結果に対して JMESPath クエリを実行します。 JMESPath は JSON のクエリ言語であり、CLI 出力からデータを選択して変更できます。 クエリは、表示書式の前に JSON 出力で実行されます。

引数は --query 、Azure Sphere CLI のすべてのコマンドでサポートされています。 詳細と例については、「 JMESPath チュートリアル 」および 「Azure CLI コマンド出力のクエリ 」を参照してください。

下位互換性

CLI では下位互換性がサポートされています。 各リリースでは、入力 (コマンド名、パラメーター名、パラメーター値) と JSON と YAML での出力の両方の下位互換性を維持することを目指しています。 このような互換性が不可能な場合は、変更を加える前に少なくとも 6 か月分の通知を行います。 詳細については、「 Azure Sphere CLI での重要な変更 (廃止機能)」を参照してください。

終了コード

成功したコマンドは 0 を返します。 0 以外の値は、エラー コードとして解釈できます。 成功すると、 JSONYAML の出力には下位互換性のある契約上の保証があります。

フィードバックを提供する

Azure Sphere でバグが見つかる場合は、 GitHub に問題を報告してください。 コマンド ラインからフィードバックを提供するには、 feedback コマンドを使用します。

Azure Sphere CLI を効果的に使用する

Azure Sphere CLI は、Bash、PowerShell、またはコマンド プロンプト ウィンドウから使用できます。 CLI を使用するためのヒントを次に示します。

  • 値に引用符を使用する: パラメーターにスペースを含む値を指定する場合は、引用符で囲みます。 Bash または PowerShell では、単一引用符と二重引用符の両方が解釈されます。 Windows コマンド プロンプトでは、二重引用符のみが解釈されます。 単一引用符は、値の一部として解釈されます。 たとえば、 azsphere product create --name "My Fridge Product"です。 詳細については、「 引用符とエスケープ文字」を参照してください。
  • 多くの Azure Sphere コマンドでは、既定の形式でコンソールに情報が表示されます table 。 たとえば、 azsphere product device-group list --product DW100です。 表示される情報が本体に正しく適合しない場合があります。 これにより、情報をコピーして貼り付ける場合に問題が発生する可能性があります。 次のオプションを試すことをお勧めします。
    • 本体のサイズを変更し、コマンドをもう一度実行します。
    • 簡潔な出力とスクリプト作成の目的で JSON 出力を使用します。 たとえば、 azsphere product device-group list --product DW100 --output jsonです。
    • コマンド エントリを自動的に完了するには、Windows PowerShell または Bash シェルでタブ補完を使用します。
    • 対話型環境を提供する 対話型モード を使用して、情報を自動的に表示し、コマンドとサブコマンドを簡単に選択できます。 azsphere interactive コマンドを使用して対話型モードに入ります。 コマンド プロンプトが azsphere>> に変更され、対話型シェルでコマンドが実行されていることを示します。

「」も参照してください