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.
Resource Manager ofrece varias funciones para realizar comparaciones en las plantillas de Azure Resource Manager:
Sugerencia
Se recomienda Bicep , ya que ofrece las mismas funcionalidades que las plantillas de ARM y la sintaxis es más fácil de usar. Para más información, consulte la función lógica y los bool operadores lógicos .
y
and(arg1, arg2, ...)
Comprueba si todos los valores de parámetro son true.
La función and no es compatible con Bicep. En su lugar, use el operador &&.
Parámetros
| Parámetro | Obligatorio | Type | Descripción |
|---|---|---|---|
| arg1 | Sí | boolean | Primer valor que se va a comprobar si es true. |
| arg2 | Sí | boolean | Segundo valor para comprobar si es true. |
| más argumentos | No | boolean | Más argumentos para comprobar si son true. |
Valor devuelto
Devuelve True si todos los valores son verdaderos; en caso contrario, devuelve False.
Ejemplos
En el ejemplo siguiente se muestra cómo usar la logical función :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"andExampleOutput": {
"type": "bool",
"value": "[and(bool('true'), bool('false'))]"
},
"orExampleOutput": {
"type": "bool",
"value": "[or(bool('true'), bool('false'))]"
},
"notExampleOutput": {
"type": "bool",
"value": "[not(bool('true'))]"
}
}
}
El resultado del ejemplo anterior es:
| Nombre | Type | Valor |
|---|---|---|
| andExampleOutput | Bool | False |
| orExampleOutput | Bool | True |
| notExampleOutput | Bool | False |
bool
bool(arg1)
Convierte el parámetro en un booleano.
En Bicep, use la función lógica bool.
Parámetros
| Parámetro | Obligatorio | Type | Descripción |
|---|---|---|---|
| arg1 | Sí | cadena o entero | El valor para convertir en booleano. |
Valor devuelto
Valor booleano del valor convertido.
Observaciones
También puede usar true() y false() para obtener valores booleanos.
Ejemplos
En el ejemplo siguiente se muestra cómo usar bool con una cadena o un entero:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"trueString": {
"type": "bool",
"value": "[bool('true')]"
},
"falseString": {
"type": "bool",
"value": "[bool('false')]"
},
"trueInt": {
"type": "bool",
"value": "[bool(1)]"
},
"falseInt": {
"type": "bool",
"value": "[bool(0)]"
}
}
}
La salida de los valores predeterminados del ejemplo anterior es:
| Nombre | Type | Valor |
|---|---|---|
| trueString | Bool | True |
| falseString | Bool | False |
| trueInt | Bool | True |
| falseInt | Bool | False |
false
false()
Devuelve false.
La función false no está disponible en Bicep. En su lugar, use la palabra clave false.
Parámetros
La false función no acepta ningún parámetro.
Valor devuelto
Un valor booleano que siempre es false.
Ejemplo
En el ejemplo siguiente se devuelve un valor de salida falso:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"falseOutput": {
"type": "bool",
"value": "[false()]"
}
}
}
El resultado del ejemplo anterior es:
| Nombre | Type | Valor |
|---|---|---|
| falseOutput | Bool | False |
if
if(condition, trueValue, falseValue)
Devuelve un valor basado en si una condición es true o false.
La función if no es compatible con Bicep. En su lugar, utilice el operador ?:.
Parámetros
| Parámetro | Obligatorio | Type | Descripción |
|---|---|---|---|
| condición | Sí | boolean | Valor que se va a comprobar si es true o false. |
| trueValue | Sí | cadena, int, objeto o matriz | Valor que se devuelve cuando la condición es verdadera. |
| falseValue | Sí | cadena, int, objeto o matriz | Valor que se devuelve cuando la condición es falsa. |
Valor devuelto
Devuelve el segundo parámetro si el primer parámetro es True; en caso contrario, devuelve el tercer parámetro.
Observaciones
Si la condición es True, solo se evalúa el valor true. Si la condición es False, solo se evalúa el valor false. Con la función if, puede incluir expresiones que solo son válidas con ciertas condiciones. Por ejemplo, puede hacer referencia a un recurso que existe bajo una condición, pero no bajo la otra. En la sección siguiente se muestra un ejemplo de las expresiones de evaluación con ciertas condiciones.
Tenga en cuenta que la regla anterior solo se aplica cuando la condición se puede evaluar al principio del proceso de implementación de plantillas. Por ejemplo, no se puede usar en reference() la condición .
Ejemplos
En el ejemplo siguiente se muestra cómo usar la if función :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
],
"outputs": {
"yesOutput": {
"type": "string",
"value": "[if(equals('a', 'a'), 'yes', 'no')]"
},
"noOutput": {
"type": "string",
"value": "[if(equals('a', 'b'), 'yes', 'no')]"
},
"objectOutput": {
"type": "object",
"value": "[if(equals('a', 'a'), json('{\"test\": \"value1\"}'), json('null'))]"
}
}
}
El resultado del ejemplo anterior es:
| Nombre | Type | Valor |
|---|---|---|
| yesOutput | String | sí |
| noOutput | String | no |
| objectOutput | Object | { "test": "value1" } |
En la plantilla de ejemplo siguiente se muestra cómo usar esta función con expresiones que solo son válidas bajo ciertas condiciones.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string"
},
"location": {
"type": "string"
},
"logAnalytics": {
"type": "string",
"defaultValue": ""
}
},
"resources": [
{
"condition": "[not(empty(parameters('logAnalytics')))]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"apiVersion": "2025-04-01",
"name": "[format('{0}/omsOnboarding', parameters('vmName'))]",
"location": "[parameters('location')]",
"properties": {
"publisher": "Microsoft.EnterpriseCloud.Monitoring",
"type": "MicrosoftMonitoringAgent",
"typeHandlerVersion": "1.0",
"autoUpgradeMinorVersion": true,
"settings": {
"workspaceId": "[if(not(empty(parameters('logAnalytics'))), reference(parameters('logAnalytics'), '2015-11-01-preview').customerId, null())]"
},
"protectedSettings": {
"workspaceKey": "[if(not(empty(parameters('logAnalytics'))), listKeys(parameters('logAnalytics'), '2015-11-01-preview').primarySharedKey, null())]"
}
}
}
],
"outputs": {
"mgmtStatus": {
"type": "string",
"value": "[if(not(empty(parameters('logAnalytics'))), 'Enabled monitoring for VM!', 'Nothing to enable')]"
}
}
}
not
not(arg1)
Convierte el valor booleano en su valor opuesto.
La función not no es compatible con Bicep. En su lugar, utilice el operador !.
Parámetros
| Parámetro | Obligatorio | Type | Descripción |
|---|---|---|---|
| arg1 | Sí | boolean | Valor que se va a convertir. |
Valor devuelto
Devuelve True si el parámetro es False. Devuelve False si el parámetro es True.
Ejemplos
En el ejemplo siguiente se muestra cómo usar la logical función :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"andExampleOutput": {
"type": "bool",
"value": "[and(bool('true'), bool('false'))]"
},
"orExampleOutput": {
"type": "bool",
"value": "[or(bool('true'), bool('false'))]"
},
"notExampleOutput": {
"type": "bool",
"value": "[not(bool('true'))]"
}
}
}
El resultado del ejemplo anterior es:
| Nombre | Type | Valor |
|---|---|---|
| andExampleOutput | Bool | False |
| orExampleOutput | Bool | True |
| notExampleOutput | Bool | False |
En el ejemplo siguiente se usa not con iguales:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
],
"outputs": {
"checkNotEquals": {
"type": "bool",
"value": "[not(equals(1, 2))]"
}
}
}
El resultado del ejemplo anterior es:
| Nombre | Type | Valor |
|---|---|---|
| checkNotEquals | Bool | True |
or
or(arg1, arg2, ...)
Comprueba si algún valor de parámetro es true.
La función or no es compatible con Bicep. En su lugar, utilice el operador ||.
Parámetros
| Parámetro | Obligatorio | Type | Descripción |
|---|---|---|---|
| arg1 | Sí | boolean | Primer valor que se va a comprobar si es true. |
| arg2 | Sí | boolean | Segundo valor para comprobar si es true. |
| más argumentos | No | boolean | Más argumentos para comprobar si son true. |
Valor devuelto
Devuelve True si algún valor es verdadero; en caso contrario, devuelve False.
Ejemplos
En el ejemplo siguiente se muestra cómo usar la logical función :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"andExampleOutput": {
"type": "bool",
"value": "[and(bool('true'), bool('false'))]"
},
"orExampleOutput": {
"type": "bool",
"value": "[or(bool('true'), bool('false'))]"
},
"notExampleOutput": {
"type": "bool",
"value": "[not(bool('true'))]"
}
}
}
El resultado del ejemplo anterior es:
| Nombre | Type | Valor |
|---|---|---|
| andExampleOutput | Bool | False |
| orExampleOutput | Bool | True |
| notExampleOutput | Bool | False |
true
true()
Devuelve true.
La función true no está disponible en Bicep. En su lugar, use la palabra clave true.
Parámetros
La true función no acepta ningún parámetro.
Valor devuelto
Un valor booleano que siempre es true.
Ejemplo
En el ejemplo siguiente se devuelve un valor de salida true:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"trueOutput": {
"type": "bool",
"value": "[true()]"
}
}
}
El resultado del ejemplo anterior es:
| Nombre | Type | Valor |
|---|---|---|
| trueOutput | Bool | True |
Pasos siguientes
- Para obtener una descripción de las secciones de una plantilla de ARM, vea Nociones sobre la estructura y la sintaxis de las plantillas de Azure Resource Manager.