Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Muitos parâmetros da CLI do Azure aceitam valores JSON, mas como pode ser difícil nivelar JSON em uma cadeia de caracteres, a CLI do Azure dá suporte à sintaxe abreviada. A sintaxe abreviada é uma representação simplificada de uma cadeia de caracteres JSON.
Este artigo fornece exemplos de sintaxe abreviada e mostra como passar JSON como um arquivo.
Observação
Você saberá que um parâmetro aceita sintaxe abreviada quando a descrição do parâmetro for semelhante a Support shorthand-syntax, JSON-file and YAML-file. Try "??" to show more.
Sintaxe abreviada de valor completo
A sintaxe abreviada no Full Value formato é JSON cercada por aspas duplas. Aspas duplas fazem com que o valor JSON seja passado como uma cadeia de caracteres na linguagem de script PowerShell e Bash. Aqui está um exemplo de 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"
}
}
}
Quando você passa JSON em um valor de parâmetro, o JSON é achatado e envolvido em aspas duplas.
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'}}}"
Sintaxe abreviada de valor parcial
A sintaxe abreviada para valor parcial é composta por duas partes unidas por um sinal de igual (=) entre o índice key e o value. Eis um exemplo: key=value.
O valor pode ser uma cadeia de caracteres simplificada, formato de valor completo, JSON ou um caminho de arquivo JSON. Usando o exemplo JSON fornecido, passe as propriedades para o parâmetro --contact seguindo estes exemplos:
Use Partial Value para um único par chave-valor.
az some-command --contact name=Bill
Use Partial Value para dois pares chave-valor. Observe o espaço que separa os dois pares.
az some-command --contact age=20 paid=true
Use Partial Value para o segundo elemento.
az some-command --contact emails[1]="Bill@outlook.com"
Use Partial Value para detalhes na propriedade de endereço.
az some-command --contact address.details="{line1:'15590 NE 31st St',line2:'Redmond, WA'}"
Utilizar sintaxe abreviada para combinar valor completo e parcial
Você pode combinar sintaxe de valor total e parcial, mas sempre comece com Full Value seguido por Partial Value. Se inverter a ordem, os dados finais contêm apenas o Full Value sem propriedades definidas em Partial Value.
Use Full Value seguido de 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."
Você também pode aplicar um patch a um novo elemento da propriedade de lista no Full Value. Por exemplo, você pode definir o segundo endereço de e-mail por 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."
Passar JSON em um arquivo
Também é possível passar um arquivo JSON como um valor de parâmetro. Esta é a abordagem recomendada ao trabalhar com JSON complexo.
az some-command --contact address.details=./address_details.JSON
String de aspas simples
Aspas Simples String é usada para passar um valor string com caracteres especiais: :, ,, {, }, [, ], null, ?? e espaço. Esses caracteres geralmente têm outros significados ao analisar a sintaxe taquigráfica. Aspas simples dizem ao analisador de código para tratar tudo como uma string.
Passar um valor de cadeia de caracteres com um espaço e outros caracteres especiais
Aqui está um exemplo de JSON para passar como um valor no --contact parâmetro:
{
"name": "Bill RP",
"age": 20,
"paid": true,
"data": "{a: [1, 2]}"
}
Use aspas simples no Full Value formato:
az some-command --contact "{name:'Bill RP',age:20,paid:true,data:'{a: [1, 2]}'}"
Use aspas simples no Partial Value formato:
az some-command --contact name="'Bill RP'" data="'{a: [1, 2]}'"
No próximo exemplo, também é possível remover as aspas simples para a chave name. O analisador não distingue entre uma Full Value expressão, um null valor ou o ?? sinalizador.
Utilize o formato Partial Value
az some-command --contact name="Bill RP"
Trabalhar com apóstrofos
O caractere apóstrofo (') precisa de escape especial (/') em Single Quotes String para distinguir o final de uma Single Quotes String. Uma barra (/) é um caractere de escape somente após um apóstrofo (') em Single Quotes String. Se / não estiver na Cadeia de Aspas Simples ou / não estiver depois de ', / é um caractere normal.
Formato do passe Full Value :
az some-command --contact "{name:'bill'/s',age:20,paid:true}"
Formato do passe Partial Value :
az some-command --contact name="'bill'/s'"
Se value não estiver em Cadeia de Aspas Simples, não será necessário adicionar um caractere de escape após '.
Formato do passe Partial Value :
az some-command --contact name="bill's"
Aqui está outro exemplo usando o seguinte JSON:
{
"name": "Bill",
"motto": "One man's bug is another man's lesson.",
"age": 20,
"paid": true,
"emails": [
"Bill@microsoft.com",
"Bill@outlook.com"
]
}
No Full Value formato, use uma cadeia de aspas simples e substitua o ' por '/.
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]}"
No Partial Value formato, um valor contendo um apóstrofo pode ser analisado como string, cercado por aspas duplas.
az some-command --contact motto="One man's bug is another man's lesson."
Trabalhar com valores nulos
Passe a palavra "null" como um valor de cadeia de caracteres
Por vezes, é necessário passar um valor de string "nulo". Para distinguir com o valor null, é necessário ser uma String de aspas simples. Por exemplo, se você quiser passar a string "null" para a propriedade name no --contact parâmetro:
JSON:
{
"name": "null",
"age": 20,
"paid": true
}
Utilize o formato Full Value
az some-command --contact "{name:'null',age:20,paid:true}"
Utilize o formato Partial Value
az some-command --contact name="'null'"
Passe um null valor
Suporte para palavra-chave null de sintaxe abreviada nos formatos Full Value e Partial Value.
Por exemplo, se pretenderes passar o seguinte objeto com um valor null na propriedade no parâmetro --contact:
{
"name": "Bill",
"age": 20,
"paid": true,
"emails": [
"Bill@microsoft.com",
"Bill@outlook.com"
],
"address": null
}
Utilize o formato Full Value
az some-command --contact "{name:Bill,age:20,paid:true,emails:[Bill@microsoft.com,Bill@outlook.com],address:null}"
Utilize o formato Partial Value
az some-command --contact name=Bill address=null
Use um valor null em comandos de atualização
Em comandos de atualização, um null valor geralmente é usado para desdefinir propriedades de um objeto ou remover elementos de uma matriz ou dicionário.
{
"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": {}
}
Se já existir um recurso com os valores JSON mostrados acima, passar um null valor em um comando update redefine o valor da chave.
az some-update-command --contact address=null
Aqui está outro exemplo que remove o primeiro elemento do e-mail de um recurso:
az some-update-command --emails [0]=null
Utilize ?? para mostrar ajuda
O uso de duplo ponto de interrogação ?? é uma palavra-chave específica para indicar a ajuda disponível para um parâmetro ou subpropriedade. Ele também pode ser usado dentro da sintaxe abreviada para obter ajuda.
Observação
O shell Bash usa ? como um curinga. Certifique-se de que os pontos de interrogação duplos ?? estejam envolvidos nas aspas duplas.
Usar ?? para mostrar a mensagem de ajuda de um parâmetro
Mostrar mensagem de ajuda do --contact parâmetro:
az some-command --contact "??"
Utilize ?? no formato Full Value
Mostrar mensagem de ajuda do --contant parâmetro ao escrever Full Value:
az some-command --contact "{??"
az some-command --contact "{name:Bill,??"
Mostrar mensagem de ajuda da --contant.address propriedade ao escrever Full Value:
az some-command --contact "{name:Bill,address:??"
Mostrar mensagem de ajuda da --contant.address.country propriedade ao escrever Full Value:
az some-command --contact "{name:Bill,address:{country:??"
Mostrar mensagem de ajuda da --contant.emails propriedade ao escrever Full Value:
az some-command --contact "{name:Bill,address:{country:USA},emails:??"
Mostrar mensagem de ajuda do elemento de --contant.emails propriedade ao escrever Full Value:
az some-command --contact "{name:Bill,address:{country:USA},emails:[??"
Utilize ?? no formato Partial Value
Mostrar mensagem de ajuda da --contant.address propriedade ao escrever Partial Value:
az some-command --contact address="??"
Mostrar mensagem de ajuda da --contant.emails propriedade ao escrever Partial Value:
az some-command --contact emails="??"
Mostrar mensagem de ajuda do elemento de --contant.emails propriedade ao escrever Partial Value:
az some-command --contact emails[0]="??"