Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Muchos parámetros de la CLI de Azure aceptan valores JSON, pero dado que puede ser difícil aplanar JSON en una cadena, la CLI de Azure admite la sintaxis abreviada. La sintaxis abreviada es una representación simplificada de una cadena JSON.
En este artículo se proporcionan ejemplos de sintaxis abreviada y se muestra cómo pasar JSON como un archivo.
Nota:
Sabrá que un parámetro acepta la sintaxis abreviada cuando la descripción del parámetro lee de forma similar a Support shorthand-syntax, JSON-file and YAML-file. Try "??" to show more.
Sintaxis abreviada de valor completo
La sintaxis abreviada en Full Value formato es JSON rodeada de comillas dobles. Las comillas dobles hacen que el valor JSON se pase como una cadena en el lenguaje de scripting de PowerShell y Bash. Este es un ejemplo 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"
}
}
}
Cuando se pasa JSON en un valor de parámetro, el JSON se aplana y se envuelve entre comillas dobles.
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'}}}"
Sintaxis abreviada de valor parcial
La sintaxis abreviada para el valor parcial se compone de dos partes unidas por un signo igual (=) entre el índice key y .value Por ejemplo: key=value.
El valor puede ser una cadena simplificada, formato de valor completo, JSON o una ruta de acceso del archivo JSON. Con el ejemplo JSON proporcionado, pase las propiedades del --contact parámetro siguiendo estos ejemplos:
Se usa Partial Value para un único par clave-valor.
az some-command --contact name=Bill
Utilice Partial Value para dos pares de clave-valor. Observe el espacio que separa los dos pares.
az some-command --contact age=20 paid=true
Use Partial Value para el segundo elemento.
az some-command --contact emails[1]="Bill@outlook.com"
Use Partial Value para la propiedad detalles de dirección.
az some-command --contact address.details="{line1:'15590 NE 31st St',line2:'Redmond, WA'}"
Combinar la sintaxis abreviada de valor completo y parcial
Puede combinar la sintaxis de valor completo y parcial, pero siempre comienza con Full Value seguido de Partial Value. Si invierte el orden, los datos finales solo contienen el Full Value sin propiedades definidas en 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."
También puede aplicar revisiones a un nuevo elemento de la propiedad list en Full Value. Por ejemplo, puede establecer la segunda dirección de correo electrónico 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."
Pasar JSON en un archivo
También es posible pasar un archivo JSON como un valor de parámetro. Este es el enfoque recomendado al trabajar con JSON complejo.
az some-command --contact address.details=./address_details.JSON
Cadena de comillas simples
Cadena de comillas simples se usa para pasar un valor de cadena con caracteres especiales: :, ,, {, }, [, ], null, ?? y espacio. Estos caracteres suelen tener otros significados al analizar la sintaxis abreviada. Las comillas simples indican al analizador que trate todo como una cadena.
Pasar un valor de cadena con un espacio y otros caracteres especiales
Este es el ejemplo json para pasar como un valor en el --contact parámetro :
{
"name": "Bill RP",
"age": 20,
"paid": true,
"data": "{a: [1, 2]}"
}
Use comillas simples en Full Value formato:
az some-command --contact "{name:'Bill RP',age:20,paid:true,data:'{a: [1, 2]}'}"
Use comillas simples en Partial Value formato:
az some-command --contact name="'Bill RP'" data="'{a: [1, 2]}'"
En el ejemplo siguiente, también es posible quitar comillas simples para la name clave. El analizador no distingue entre una Full Value expresión, un null valor o la ?? bandera.
Usa el formato Partial Value:
az some-command --contact name="Bill RP"
Trabajar con apóstrofos
El carácter apóstrofo (') necesita un escape especial (/') en la cadena de comillas simples para distinguir el final de una cadena de comillas simples. Una barra diagonal (/) es un carácter de escape solo después de un apóstrofo (') en cadena de comillas simples. Si / no está en Cadena de Comillas Simples o / no está después de ', / es un carácter normal.
Formato de paso Full Value :
az some-command --contact "{name:'bill'/s',age:20,paid:true}"
Formato de paso Partial Value :
az some-command --contact name="'bill'/s'"
Si value no está en la cadena 'Single Quotes', no es necesario agregar un carácter de escape después de '.
Formato de paso Partial Value :
az some-command --contact name="bill's"
Este es otro ejemplo mediante el siguiente json:
{
"name": "Bill",
"motto": "One man's bug is another man's lesson.",
"age": 20,
"paid": true,
"emails": [
"Bill@microsoft.com",
"Bill@outlook.com"
]
}
En Full Value formato, use una cadena de comillas simples y reemplace el ' 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]}"
En Partial Value formato, un valor que contiene un apóstrofo se puede analizar como cadena, rodeado de comillas dobles.
az some-command --contact motto="One man's bug is another man's lesson."
Trabajar con valores NULL
Pasar la palabra "null" como un valor de cadena
En algún momento, debe pasar un valor de cadena "null". Para distinguir el valor de null, debe ser una cadena de comillas simples. Por ejemplo, si desea pasar la cadena "null" a la propiedad name en el parámetro --contact:
JSON:
{
"name": "null",
"age": 20,
"paid": true
}
Usa el formato Full Value:
az some-command --contact "{name:'null',age:20,paid:true}"
Usa el formato Partial Value:
az some-command --contact name="'null'"
Pasar un valor null
La sintaxis abreviada admite la null palabra clave tanto en los formatos Full Value como Partial Value.
Por ejemplo, si desea pasar el siguiente objeto con una null propiedad de dirección de valor en el --contact parámetro :
{
"name": "Bill",
"age": 20,
"paid": true,
"emails": [
"Bill@microsoft.com",
"Bill@outlook.com"
],
"address": null
}
Usa el formato Full Value:
az some-command --contact "{name:Bill,age:20,paid:true,emails:[Bill@microsoft.com,Bill@outlook.com],address:null}"
Usa el formato Partial Value:
az some-command --contact name=Bill address=null
Uso de un null valor en los comandos de actualización
En los comandos de actualización, a menudo se usa un null valor para anular el conjunto de propiedades de un objeto o quitar elementos de una matriz o un diccionario.
{
"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": {}
}
Si ya existe un recurso con los valores JSON mostrados anteriormente, pasar un null valor en un comando de actualización restablece el valor de la clave.
az some-update-command --contact address=null
Este es otro ejemplo que elimina el primer elemento en la dirección de correo electrónico de un recurso.
az some-update-command --emails [0]=null
Uso ?? para mostrar ayuda
El uso de signos ?? de interrogación doble es una palabra clave especial para mostrar la ayuda disponible para un parámetro o subpropiedad. También se puede usar dentro de la sintaxis abreviada para obtener ayuda.
Nota:
El shell de Bash usa ? como carácter comodín. Asegúrese de que los signos de interrogación ?? dobles se encapsulan entre comillas dobles.
Uso ?? para mostrar el mensaje de ayuda de un parámetro
Mostrar mensaje de ayuda del --contact parámetro:
az some-command --contact "??"
Utilice ?? en el formato Full Value
Mostrar mensaje de ayuda del --contant parámetro al escribir Full Value:
az some-command --contact "{??"
az some-command --contact "{name:Bill,??"
Mostrar mensaje de ayuda de la --contant.address propiedad al escribir Full Value:
az some-command --contact "{name:Bill,address:??"
Mostrar mensaje de ayuda de la --contant.address.country propiedad al escribir Full Value:
az some-command --contact "{name:Bill,address:{country:??"
Mostrar mensaje de ayuda de la --contant.emails propiedad al escribir Full Value:
az some-command --contact "{name:Bill,address:{country:USA},emails:??"
Mostrar el mensaje de ayuda del elemento de la propiedad --contant.emails cuando se escribe Full Value.
az some-command --contact "{name:Bill,address:{country:USA},emails:[??"
Utilice ?? en el formato Partial Value
Mostrar mensaje de ayuda de la --contant.address propiedad al escribir Partial Value:
az some-command --contact address="??"
Mostrar mensaje de ayuda de la --contant.emails propiedad al escribir Partial Value:
az some-command --contact emails="??"
Mostrar el mensaje de ayuda del elemento de la propiedad --contant.emails cuando se escribe Partial Value.
az some-command --contact emails[0]="??"