Funções lógicas CreateUiDefinition
Essas funções podem ser usadas em expressões condicionais. Algumas funções podem não suportar todos os tipos de dados JSON.
e
Retorna true
se todos os parâmetros avaliarem para true
. Esta função suporta dois ou mais parâmetros apenas do tipo booleano.
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. Esta função suporta todos os tipos de dados JSON.
Assumem element1
e element2
são indefinidos. O exemplo a seguir retorna "Contoso"
:
"[coalesce(steps('demoStep').element1, steps('demoStep').element2, 'Contoso')]"
Esta função é especialmente útil no contexto da invocação opcional que acontece 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 atualmente de outro campo, inicialmente não visível . Neste caso, pode ser usado para permitir que a função seja sintaticamente válida no tempo de carregamento da página, coalesce()
tendo o efeito desejado quando o usuário interage com o campo.
Considere este DropDown
, que permite ao usuário escolher 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 ao valor atual escolhido deste campo, use coalesce()
, conforme mostrado aqui:
"regex": "[concat('^jdbc:', coalesce(steps('section_database').databaseConnectionInfo.databaseType, ''), '.*$')]",
Essa funcionalidade é necessária porque o inicialmente não é visível e, portanto, não tem um valor, o databaseType
que faz com que toda a expressão não seja avaliada corretamente.
equals
Retorna true
se ambos os parâmetros tiverem o mesmo tipo e valor. Esta função suporta 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 for estritamente maior que o segundo parâmetro. Esta função suporta parâmetros apenas do tipo, número e string.
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 for maior ou igual ao segundo parâmetro. Esta função suporta parâmetros apenas do tipo, número e string.
O exemplo a seguir retorna true
:
"[greaterOrEquals(2, 2)]"
if
Retorna um valor com base no fato de uma condição ser verdadeira ou falsa. O primeiro parâmetro é a condição para testar. O segundo parâmetro é o valor a ser retornado se a condição for verdadeira. O terceiro parâmetro é o valor a ser retornado se a condição for false.
O exemplo a seguir retorna yes
.
"[if(equals(42, mul(6, 7)), 'yes', 'no')]"
less
Retorna true
se o primeiro parâmetro for estritamente menor que o segundo parâmetro. Esta função suporta parâmetros apenas do tipo, número e string.
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 for menor ou igual ao segundo parâmetro. Esta função suporta parâmetros apenas do tipo, número e string.
O exemplo a seguir retorna true
:
"[lessOrEquals(2, 2)]"
not
Retorna true
se o parâmetro for avaliado como false
. Esta função suporta parâmetros apenas do tipo Boolean.
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 for avaliado como true
. Esta função suporta dois ou mais parâmetros apenas do tipo Boolean.
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óximos passos
- Para obter uma introdução ao Azure Resource Manager, consulte Visão geral do Azure Resource Manager.