Funções lógicas CreateUiDefinition
Essas funções podem ser usadas em expressões condicionais. Algumas funções podem não dar suporte a todos os tipos de dados JSON.
e
Retorna true
se todos os parâmetros são avaliados como true
. Essa função dá suporte apenas a dois ou mais parâmetros do tipo booliano.
O exemplo a seguir retorna true
:
"[and(equals(0, 0), equals('web', 'web'), less(1, 2))]"
O exemplo a seguir retorna false
:
"[and(equals(0, 0), greater(1, 2))]"
coalesce
Retorna o valor do primeiro parâmetro não nulo. Essa função dá suporte a todos os tipos de dados JSON.
Suponha que element1
e element2
são indefinidos. O exemplo a seguir retorna "Contoso"
:
"[coalesce(steps('demoStep').element1, steps('demoStep').element2, 'Contoso')]"
Essa função é especialmente útil na invocação opcional que ocorre devido à ação do usuário após o carregamento da página. Um exemplo é se as restrições colocadas em um campo na interface do usuário dependem do valor selecionado no momento de outro campo, inicialmente não visível. Nesse caso, coalesce()
pode ser usado para permitir que a função seja sintaticamente válida no tempo de carregamento da página enquanto tem o efeito desejado quando o usuário interage com o campo.
Considere este DropDown
, que permite que o usuário escolha entre vários tipos de banco de dados 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 a ação de outro campo no valor escolhido atual desse campo, use coalesce()
, conforme mostrado aqui:
"regex": "[concat('^jdbc:', coalesce(steps('section_database').databaseConnectionInfo.databaseType, ''), '.*$')]",
Essa funcionalidade é necessária porque o databaseType
inicialmente não está visível e, portanto, não tem um valor, o que faz com que toda a expressão não seja avaliada corretamente.
equals
Retorna true
se ambos os parâmetros têm o mesmo tipo e valor. Essa função dá suporte a todos os tipos de dados JSON.
O exemplo a seguir retorna true
:
"[equals(0, 0)]"
O exemplo a seguir retorna true
:
"[equals('web', 'web')]"
O exemplo a seguir retorna false
:
"[equals('abc', ['a', 'b', 'c'])]"
greater
Retorna true
se o primeiro parâmetro é estritamente maior que o segundo parâmetro. Essa função dá suporte apenas a parâmetros dos tipos número e cadeia de caracteres.
O exemplo a seguir retorna false
:
"[greater(1, 2)]"
O exemplo a seguir retorna true
:
"[greater('9', '10')]"
greaterOrEquals
Retorna true
se o primeiro parâmetro é maior ou igual ao segundo parâmetro. Essa função dá suporte apenas a parâmetros dos tipos número e cadeia de caracteres.
O exemplo a seguir retorna true
:
"[greaterOrEquals(2, 2)]"
if
Retorna um valor com base em se uma condição é verdadeira ou falsa. O primeiro parâmetro é a condição a ser testada. O segundo parâmetro será o valor a ser retornado se a condição for true. O terceiro parâmetro será o valor a ser retornado se a condição for false.
A amostra a seguir retorna yes
.
"[if(equals(42, mul(6, 7)), 'yes', 'no')]"
less
Retorna true
se o primeiro parâmetro é estritamente menor que o segundo parâmetro. Essa função dá suporte apenas a parâmetros dos tipos número e cadeia de caracteres.
O exemplo a seguir retorna true
:
"[less(1, 2)]"
O exemplo a seguir retorna false
:
"[less('9', '10')]"
lessOrEquals
Retorna true
se o primeiro parâmetro é menor ou igual ao segundo parâmetro. Essa função dá suporte apenas a parâmetros dos tipos número e cadeia de caracteres.
O exemplo a seguir retorna true
:
"[lessOrEquals(2, 2)]"
not
Retorna true
se o parâmetro é avaliado como false
. Essa função dá suporte apenas a parâmetros do tipo booliano.
O exemplo a seguir retorna true
:
"[not(false)]"
O exemplo a seguir retorna false
:
"[not(equals(0, 0))]"
ou
Retorna true
se, pelo menos, um dos parâmetros é avaliado como true
. Essa função dá suporte apenas a dois ou mais parâmetros do tipo booliano.
O exemplo a seguir retorna true
:
"[or(equals(0, 0), equals('web', 'web'), less(1, 2))]"
O exemplo a seguir retorna true
:
"[or(equals(0, 0), greater(1, 2))]"
Próximas etapas
- Para obter uma introdução ao Azure Resource Manager, consulte Visão geral do Azure Resource Manager.