Sdílet prostřednictvím


Logické funkce CreateUiDefinition

Tyto funkce lze použít v podmíněných výrazech. Některé funkce nemusí podporovat všechny datové typy JSON.

a

Vrátí true , pokud se všechny parametry vyhodnotí jako true. Tato funkce podporuje pouze dva nebo více parametrů typu boolean.

Následující příklad vrátí true:

"[and(equals(0, 0), equals('web', 'web'), less(1, 2))]"

Následující příklad vrátí false:

"[and(equals(0, 0), greater(1, 2))]"

splynout

Vrátí hodnotu prvního parametru, který není null. Tato funkce podporuje všechny datové typy JSON.

Předpokládejme element1 , že nejsou element2 definovány. Následující příklad vrátí "Contoso":

"[coalesce(steps('demoStep').element1, steps('demoStep').element2, 'Contoso')]"

Tato funkce je zvlášť užitečná v kontextu volitelného vyvolání, ke kterému dochází kvůli akci uživatele po načtení stránky. Příkladem je, že omezení umístěná na jednom poli v uživatelském rozhraní závisí na aktuálně vybrané hodnotě jiného, zpočátku neviditelného pole. V tomto případě lze použít k tomu, coalesce() aby funkce byla syntakticky platná v době načtení stránky a měla požadovaný efekt, když uživatel pracuje s polem.

Vezměte v úvahu tuto DropDownmožnost, která uživateli umožňuje vybrat si z několika různých typů databází:

{
  "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
  },

Chcete-li podmínit akci jiného pole pro aktuální zvolenou hodnotu tohoto pole, použijte coalesce(), jak je znázorněno zde:

"regex": "[concat('^jdbc:', coalesce(steps('section_database').databaseConnectionInfo.databaseType, ''), '.*$')]",

Tato funkce je nezbytná, protože databaseType zpočátku není viditelná, a proto nemá hodnotu, která způsobí, že se celý výraz nevyhodnotí správně.

rovná se

Vrátí true , pokud oba parametry mají stejný typ a hodnotu. Tato funkce podporuje všechny datové typy JSON.

Následující příklad vrátí true:

"[equals(0, 0)]"

Následující příklad vrátí true:

"[equals('web', 'web')]"

Následující příklad vrátí false:

"[equals('abc', ['a', 'b', 'c'])]"

greater

Vrátí true , pokud je první parametr přísně větší než druhý parametr. Tato funkce podporuje pouze parametry typu číslo a řetězec.

Následující příklad vrátí false:

"[greater(1, 2)]"

Následující příklad vrátí true:

"[greater('9', '10')]"

greaterOrEquals

Vrátí true , pokud je první parametr větší nebo roven druhému parametru. Tato funkce podporuje pouze parametry typu číslo a řetězec.

Následující příklad vrátí true:

"[greaterOrEquals(2, 2)]"

if

Vrátí hodnotu na základě toho, jestli je podmínka pravdivá nebo nepravda. Prvním parametrem je podmínka, která se má testovat. Druhý parametr je hodnota, která se má vrátit, pokud je podmínka pravdivá. Třetí parametr je hodnota, která se má vrátit, pokud je podmínka nepravda.

Následující ukázka vrátí yes.

"[if(equals(42, mul(6, 7)), 'yes', 'no')]"

less

Vrátí true , pokud je první parametr přísně menší než druhý parametr. Tato funkce podporuje pouze parametry typu číslo a řetězec.

Následující příklad vrátí true:

"[less(1, 2)]"

Následující příklad vrátí false:

"[less('9', '10')]"

lessOrEquals

Vrátí true , pokud je první parametr menší nebo roven druhému parametru. Tato funkce podporuje pouze parametry typu číslo a řetězec.

Následující příklad vrátí true:

"[lessOrEquals(2, 2)]"

not

Vrátí true , pokud se parametr vyhodnotí jako false. Tato funkce podporuje pouze parametry typu Boolean.

Následující příklad vrátí true:

"[not(false)]"

Následující příklad vrátí false:

"[not(equals(0, 0))]"

nebo

Vrátí true , pokud se alespoň jeden z parametrů vyhodnotí jako true. Tato funkce podporuje pouze dva nebo více parametrů typu Boolean.

Následující příklad vrátí true:

"[or(equals(0, 0), equals('web', 'web'), less(1, 2))]"

Následující příklad vrátí true:

"[or(equals(0, 0), greater(1, 2))]"

Další kroky

  • Úvod do Azure Resource Manageru najdete v přehledu Azure Resource Manageru.