多くの Azure CLI パラメーターは JSON 値を受け入れますが、JSON を文字列にフラット化するのは困難な場合があるため、Azure CLI では短縮構文がサポートされています。 短縮形構文は、JSON 文字列の簡略化された表現です。
この記事では、短縮構文の例を示し、JSON をファイルとして渡す方法を示します。
注
パラメーターの説明が Support shorthand-syntax, JSON-file and YAML-file. Try "??" to show more
のように書かれている場合、そのパラメーターが短縮構文を受け入れることがわかります。
数値の完全な省略記法
Full Value
形式の短縮構文は、二重引用符で囲まれたJSONです。 二重引用符を使用すると、POWERShell と Bash の両方のスクリプト言語で JSON 値が文字列として渡されます。 JSON の例を次に示します。
{
"name": "Bill",
"age": 20,
"paid": true,
"emails": [
"Bill@microsoft.com",
"Bill@outlook.com"
],
"address": {
"country": "USA",
"company": "Microsoft",
"details": {
"line1": "15590 NE 31st St",
"line2": "Redmond, WA"
}
}
}
パラメーター値に JSON を渡すと、JSON はフラット化され、二重引用符で囲まれます。
az some-command --contact "{name:Bill,age:20,paid:true,emails:[Bill@microsoft.com,Bill@outlook.com],address:{country:USA,company:Microsoft,details:{line1:'15590 NE 31st St',line2:'Redmond, WA'}}}"
部分値の略記法構文
部分値の短縮形構文は、インデックス =
とkey
の間に等号 (value
) で結合された 2 つの部分で構成されます。
次に例を示します: key=value
。
値には、簡略化された文字列、完全な値形式、JSON、または JSON ファイル パスを指定できます。 提供された JSON の例を使用して、次の例に従って、 --contact
パラメーターのプロパティを渡します。
1 つのキーと値のペアに対して Partial Value
を使用します。
az some-command --contact name=Bill
2 つのキーと値のペアに対して Partial Value
を使用します。 2 つのペアを区切るスペースに注意してください。
az some-command --contact age=20 paid=true
2 番目の要素には Partial Value
を使用します。
az some-command --contact emails[1]="Bill@outlook.com"
Partial Value
のdetailsプロパティにを使用します。
az some-command --contact address.details="{line1:'15590 NE 31st St',line2:'Redmond, WA'}"
完全な値と部分値の短縮形構文を組み合わせる
完全な値と部分的な値の構文を組み合わせることができますが、常に Full Value
で始まり、その後に Partial Value
が続きます。 順序を逆にした場合、最終的なデータには、Full Value
で定義されたプロパティのないPartial Value
のみが含まれます。
Full Value
の後にPartial Value
を使用します。
az some-command --contact "{name:Bill,age:20,paid:true,emails:[Bill@microsoft.com,Bill@outlook.com]}" motto="One man's bug is another man's lesson."
Full Value
で list プロパティの新しい要素に修正プログラムを適用することもできます。 たとえば、次の Partial Value
で 2 番目のメール アドレスを設定できます。
az some-command --contact "{name:Bill,age:20,paid:true,emails:[Bill@microsoft.com]}" emails[1]="Bill@outlook.com" motto="One man's bug is another man's lesson."
ファイルに JSON を渡す
パラメーター値として JSON ファイルを渡すこともできます。 これは、複雑な JSON を使用する場合に推奨される方法です。
az some-command --contact address.details=./address_details.JSON
単一引用符文字列
単一引用符文字列は、特殊文字 (、:
、,
、{
、}
、[
、]
、null
、およびスペース) を使用して??
値を渡すために使用されます。
これらの文字は、短縮形構文を解析するときに他の意味を持つことがよくあります。 一重引用符は、すべてを文字列として扱うようにパーサーに指示します。
スペースやその他の特殊文字を使用して文字列値を渡す
--contact
パラメーターの値として渡す JSON の例を次に示します。
{
"name": "Bill RP",
"age": 20,
"paid": true,
"data": "{a: [1, 2]}"
}
Full Value
形式で単一引用符を使用します。
az some-command --contact "{name:'Bill RP',age:20,paid:true,data:'{a: [1, 2]}'}"
Partial Value
形式で単一引用符を使用します。
az some-command --contact name="'Bill RP'" data="'{a: [1, 2]}'"
次の例では、 name
キーの単一引用符を削除することもできます。 パーサーは、 Full Value
式、 null
値、または ??
フラグを区別しません。
Partial Value
形式を使用します。
az some-command --contact name="Bill RP"
アポストロフィを扱う
アポストロフィ文字 ('
) は、/'
の末尾を区別するために、Single Quotes String で特殊なエスケープ () を必要とします。 スラッシュ (/
) は Single Quotes String の中で、アポストロフィ ('
) の後に限りエスケープ文字として機能するものです。
/
が Single Quotes String に含まれていない場合または/
が'
の後にない場合、/
は通常の文字です。
Full Value
形式を渡します。
az some-command --contact "{name:'bill'/s',age:20,paid:true}"
Partial Value
形式を渡します。
az some-command --contact name="'bill'/s'"
value
が Single Quotes String に含まれていない場合は、'
の後にエスケープ文字を追加する必要はありません。
Partial Value
形式を渡します。
az some-command --contact name="bill's"
次の JSON を使用する別の例を次に示します。
{
"name": "Bill",
"motto": "One man's bug is another man's lesson.",
"age": 20,
"paid": true,
"emails": [
"Bill@microsoft.com",
"Bill@outlook.com"
]
}
Full Value
形式で、Single Quotes Stringを使用し、'
を'/
に置き換えます。
az some-command --contact "{name:Bill,motto:'One man'/s bug is another man'/s lesson.',age:20,paid:true,emails:[Bill@microsoft.com,Bill@outlook.com]}"
Partial Value
形式では、アポストロフィを含む値を文字列として解析し、二重引用符で囲むことができます。
az some-command --contact motto="One man's bug is another man's lesson."
NULL 値を操作する
文字列値として "null" という単語を渡す
場合によっては、"null" 文字列値を渡す必要があります。
null
値で区別するには、Single Quotes Stringである必要があります。
たとえば、 パラメーターの --contact
プロパティに "null" 文字列を渡す場合は、次のようにします。
JSON:
{
"name": "null",
"age": 20,
"paid": true
}
Full Value
形式を使用します。
az some-command --contact "{name:'null',age:20,paid:true}"
Partial Value
形式を使用します。
az some-command --contact name="'null'"
null
値を渡す
短縮形構文では、キーワードnull
がFull Value
形式とPartial Value
形式の両方でサポートされます。
たとえば、null
パラメーターに値 --contact
プロパティを持つ次のオブジェクトを渡す場合です。
{
"name": "Bill",
"age": 20,
"paid": true,
"emails": [
"Bill@microsoft.com",
"Bill@outlook.com"
],
"address": null
}
Full Value
形式を使用します。
az some-command --contact "{name:Bill,age:20,paid:true,emails:[Bill@microsoft.com,Bill@outlook.com],address:null}"
Partial Value
形式を使用します。
az some-command --contact name=Bill address=null
更新コマンドで null
値を使用する
更新コマンドでは、 null
値は、オブジェクトのプロパティの設定を解除したり、配列またはディクショナリの要素を削除したりするためによく使用されます。
{
"contact": {
"name": "Bill",
"age": 20,
"paid": true,
"emails": [
"Bill@microsoft.com",
"Bill@outlook.com"
],
"address": {
"country": "USA",
"company": "Microsoft",
"details": {
"line1": "15590 NE 31st St",
"line2": "Redmond, WA"
}
}
},
"other_properties": {}
}
上記の JSON 値を持つリソースが既に存在する場合は、更新コマンドで null
値を渡すと、キーの値がリセットされます。
az some-update-command --contact address=null
リソースの電子メールの最初の要素を削除する別の例を次に示します。
az some-update-command --emails [0]=null
??
を使用してヘルプを表示する
二重疑問符 ??
の使用は、パラメーターまたはサブプロパティで使用可能なヘルプを表示するための特別なキーワードです。 また、短縮形構文内でヘルプを取得するために使用することもできます。
注
Bash シェルでは、ワイルドカードとして ?
が使用されます。 二重の疑問符 ??
が 二重引用符で囲まれていることを確認します。
??
を使用してパラメーターのヘルプ メッセージを表示する
--contact
パラメーターのヘルプメッセージを表示します。
az some-command --contact "??"
??
形式でFull Value
を使用する
--contant
を記述するときに、Full Value
パラメーターのヘルプ メッセージを表示します。
az some-command --contact "{??"
az some-command --contact "{name:Bill,??"
--contant.address
を記述するときに、Full Value
プロパティのヘルプ メッセージを表示します。
az some-command --contact "{name:Bill,address:??"
--contant.address.country
を記述するときに、Full Value
プロパティのヘルプ メッセージを表示します。
az some-command --contact "{name:Bill,address:{country:??"
--contant.emails
を記述するときに、Full Value
プロパティのヘルプ メッセージを表示します。
az some-command --contact "{name:Bill,address:{country:USA},emails:??"
--contant.emails
を書き込むときに、Full Value
プロパティの要素のヘルプ メッセージを表示します。
az some-command --contact "{name:Bill,address:{country:USA},emails:[??"
??
形式でPartial Value
を使用する
--contant.address
を記述するときに、Partial Value
プロパティのヘルプ メッセージを表示します。
az some-command --contact address="??"
--contant.emails
を記述するときに、Partial Value
プロパティのヘルプ メッセージを表示します。
az some-command --contact emails="??"
--contant.emails
を書き込むときに、Partial Value
プロパティの要素のヘルプ メッセージを表示します。
az some-command --contact emails[0]="??"
こちらも参照ください
Azure CLI