Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Многие параметры Интерфейса командной строки Azure принимают значения JSON, но так как это может оказаться сложной задачей для выравнивания JSON в строку, Azure CLI поддерживает короткий синтаксис. Сокращенный синтаксис — это упрощенное представление строки JSON.
В этой статье приведены примеры сокращенного синтаксиса и показано, как передать JSON в виде файла.
Замечание
Вы узнаете, что параметр принимает короткий синтаксис, когда описание параметра считывается аналогично Support shorthand-syntax, JSON-file and YAML-file. Try "??" to show more.
Полный синтаксис сокращенной записи значения
Короткий синтаксис в Full Value формате JSON окружен двойными кавычками. Двойные кавычки приводят к передаче значения JSON в виде строки в языке сценариев PowerShell и Bash. Ниже приведен пример 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. Вот пример: key=value.
Это значение может быть упрощенной строкой, форматом полного значения, JSON или пути к JSON-файлу. Используя предоставленный пример JSON, передайте свойства для --contact параметра в следующих примерах:
Используется Partial Value для пары "один ключ-значение".
az some-command --contact name=Bill
Используйте Partial Value для двух пар "ключ-значение". Обратите внимание на пространство, разделяющее две пары.
az some-command --contact age=20 paid=true
Используйте Partial Value для второго элемента.
az some-command --contact emails[1]="Bill@outlook.com"
Используется Partial Value для получения сведений о свойстве адреса.
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. Например, можно задать второй адрес электронной почты:Partial Value
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 и пробел. Эти символы часто имеют другие значения при анализе сокращенного синтаксиса. Одинарные кавычки сообщают синтаксическому анализатору рассматривать все как строку.
Передайте строковое значение с пробелом и другими специальными символами
Ниже приведен пример JSON для передачи в качестве значения в параметре --contact :
{
"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"
Работа с апострофами
Символ апострофа () требует специального escape-обхода ('/') в строке с одними кавычками, чтобы отличить конец одной строки кавычки. Косая черта/ () является escape-символом только после apostrophe (') в строке с одними кавычками. Если / не внутри строки с одними кавычками или / не находится после ', / это обычный символ.
Формат передачи Full Value :
az some-command --contact "{name:'bill'/s',age:20,paid:true}"
Формат передачи Partial Value :
az some-command --contact name="'bill'/s'"
Если value нет в строке с одними кавычками, вам не нужно добавлять escape-символ после '.
Формат передачи 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 используйте строку в одиночных кавычках и замените ' на '/.
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 значение, оно должно быть строкой с одними кавычками. Например, если вы хотите передать строку NULL в свойство name в параметре --contact :
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]="??"