Funciones lógicas CreateUiDefinition
Estas funciones se pueden usar en las expresiones condicionales. Es posible que algunas funciones no admitan todos los tipos de datos JSON.
y
Devuelve true
si todos los parámetros se evalúan como true
. Esta función admite dos o más parámetros solo de tipo booleano.
El siguiente ejemplo devuelve true
:
"[and(equals(0, 0), equals('web', 'web'), less(1, 2))]"
El siguiente ejemplo devuelve false
:
"[and(equals(0, 0), greater(1, 2))]"
coalesce
Devuelve el valor del primer parámetro no nulo. Algunas funciones admiten todos los tipos de datos JSON.
Asuma que element1
y element2
son indefinidos. El siguiente ejemplo devuelve "Contoso"
:
"[coalesce(steps('demoStep').element1, steps('demoStep').element2, 'Contoso')]"
Esta función es especialmente útil en el contexto de la invocación opcional que se produce debido a una acción del usuario después de que se carga la página. Un ejemplo puede ser si las restricciones colocadas en un campo de la interfaz de usuario dependen del valor seleccionado actualmente en otro campo que no es visible inicialmente. En este caso, se puede usar coalesce()
para permitir que la función sea sintácticamente válida en el momento de la carga de la página y tenga el efecto deseado cuando el usuario interactúa con el campo.
Tenga en cuenta este elemento DropDown
, que permite al usuario elegir entre varios tipos de bases de datos diferentes:
{
"name": "databaseType",
"type": "Microsoft.Common.DropDown",
"label": "Choose database type",
"toolTip": "Choose database type",
"defaultValue": "Oracle Database",
"visible": "[bool(steps('section_database').connectToDatabase)]""constraints": {
"allowedValues": [
{
"label": "Azure Database for PostgreSQL",
"value": "postgresql"
},
{
"label": "Oracle Database",
"value": "oracle"
},
{
"label": "Azure SQL",
"value": "sqlserver"
}
],
"required": true
},
Para condicionar la acción de otro campo según el valor seleccionado actualmente en este campo, use coalesce()
, como se muestra a continuación:
"regex": "[concat('^jdbc:', coalesce(steps('section_database').databaseConnectionInfo.databaseType, ''), '.*$')]",
Esta funcionalidad es necesaria porque inicialmente databaseType
no está visible y, por lo tanto, no tiene un valor, lo que hace que toda la expresión no se evalúe correctamente.
equals
Devuelve true
si ambos parámetros tienen el mismo tipo y valor. Algunas funciones admiten todos los tipos de datos JSON.
El siguiente ejemplo devuelve true
:
"[equals(0, 0)]"
El siguiente ejemplo devuelve true
:
"[equals('web', 'web')]"
El siguiente ejemplo devuelve false
:
"[equals('abc', ['a', 'b', 'c'])]"
greater
Devuelve true
si el primer parámetro es estrictamente mayor que el segundo parámetro. Esta función admite parámetros solo de tipo number y string.
El siguiente ejemplo devuelve false
:
"[greater(1, 2)]"
El siguiente ejemplo devuelve true
:
"[greater('9', '10')]"
greaterOrEquals
Devuelve true
si el primer parámetro es estrictamente mayor o igual que el segundo parámetro. Esta función admite parámetros solo de tipo number y string.
El siguiente ejemplo devuelve true
:
"[greaterOrEquals(2, 2)]"
if
Devuelve un valor dependiendo de si una condición es verdadera o falsa. El primer parámetro es la condición que se va a probar. El segundo, es el valor que se va a devolver si la condición es verdadera. El tercero, es el valor que se va a devolver si la condición es falsa.
En el ejemplo siguiente se devuelve yes
.
"[if(equals(42, mul(6, 7)), 'yes', 'no')]"
less
Devuelve true
si el primer parámetro es estrictamente menor que el segundo parámetro. Esta función admite parámetros solo de tipo number y string.
El siguiente ejemplo devuelve true
:
"[less(1, 2)]"
El siguiente ejemplo devuelve false
:
"[less('9', '10')]"
lessOrEquals
Devuelve true
si el primer parámetro es estrictamente menor o igual que el segundo parámetro. Esta función admite parámetros solo de tipo number y string.
El siguiente ejemplo devuelve true
:
"[lessOrEquals(2, 2)]"
not
Devuelve true
si el parámetro se evalúa como false
. Esta función admite parámetros solo de tipo booleano.
El siguiente ejemplo devuelve true
:
"[not(false)]"
El siguiente ejemplo devuelve false
:
"[not(equals(0, 0))]"
or
Devuelve true
si al menos uno de los parámetros se evalúa como true
. Esta función admite dos o más parámetros solo de tipo booleano.
El siguiente ejemplo devuelve true
:
"[or(equals(0, 0), equals('web', 'web'), less(1, 2))]"
El siguiente ejemplo devuelve true
:
"[or(equals(0, 0), greater(1, 2))]"
Pasos siguientes
- Para ver una introducción a Azure Resource Manager, consulte Información general sobre Azure Resource Manager.