Partilhar via


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.