Logische functies CreateUiDefinition
Deze functies kunnen worden gebruikt in voorwaardelijke expressies. Sommige functies ondersteunen mogelijk niet alle JSON-gegevenstypen.
en
Retourneert true
als alle parameters resulteren in true
. Deze functie ondersteunt slechts twee of meer parameters van het type Booleaanse waarde.
Het volgende voorbeeld retourneert true
:
"[and(equals(0, 0), equals('web', 'web'), less(1, 2))]"
Het volgende voorbeeld retourneert false
:
"[and(equals(0, 0), greater(1, 2))]"
samensmelten
Retourneert de waarde van de eerste niet-null-parameter. Deze functie ondersteunt alle JSON-gegevenstypen.
Stel dat element1
en element2
niet gedefinieerd zijn. Het volgende voorbeeld retourneert "Contoso"
:
"[coalesce(steps('demoStep').element1, steps('demoStep').element2, 'Contoso')]"
Deze functie is vooral handig in de context van optionele aanroep die wordt uitgevoerd als gevolg van gebruikersactie nadat de pagina is geladen. Een voorbeeld is als de beperkingen die voor het ene veld in de gebruikersinterface zijn geplaatst, afhankelijk zijn van de momenteel geselecteerde waarde van een ander, in eerste instantie niet-zichtbaar veld. In dit geval coalesce()
kan worden gebruikt om toe te staan dat de functie syntactisch geldig is tijdens het laden van pagina's en tegelijkertijd het gewenste effect heeft wanneer de gebruiker met het veld communiceert.
Overweeg dit DropDown
, waardoor de gebruiker uit verschillende databasetypen kan kiezen:
{
"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
},
Als u de actie van een ander veld wilt instellen op de huidige gekozen waarde van dit veld, gebruikt coalesce()
u , zoals hier wordt weergegeven:
"regex": "[concat('^jdbc:', coalesce(steps('section_database').databaseConnectionInfo.databaseType, ''), '.*$')]",
Deze functionaliteit is nodig omdat de databaseType
functie in eerste instantie niet zichtbaar is en daarom geen waarde heeft, waardoor de hele expressie niet correct wordt geëvalueerd.
equals
Retourneert true
als beide parameters hetzelfde type en dezelfde waarde hebben. Deze functie ondersteunt alle JSON-gegevenstypen.
Het volgende voorbeeld retourneert true
:
"[equals(0, 0)]"
Het volgende voorbeeld retourneert true
:
"[equals('web', 'web')]"
Het volgende voorbeeld retourneert false
:
"[equals('abc', ['a', 'b', 'c'])]"
greater
Retourneert true
als de eerste parameter strikt groter is dan de tweede parameter. Deze functie ondersteunt alleen parameters van het type getal en de tekenreeks.
Het volgende voorbeeld retourneert false
:
"[greater(1, 2)]"
Het volgende voorbeeld retourneert true
:
"[greater('9', '10')]"
greaterOrEquals
Retourneert true
als de eerste parameter groter is dan of gelijk is aan de tweede parameter. Deze functie ondersteunt alleen parameters van het type getal en de tekenreeks.
Het volgende voorbeeld retourneert true
:
"[greaterOrEquals(2, 2)]"
if
Retourneert een waarde op basis van of een voorwaarde waar of onwaar is. De eerste parameter is de voorwaarde die moet worden getest. De tweede parameter is de waarde die moet worden geretourneerd als de voorwaarde waar is. De derde parameter is de waarde die moet worden geretourneerd als de voorwaarde onwaar is.
Het volgende voorbeeld retourneert yes
.
"[if(equals(42, mul(6, 7)), 'yes', 'no')]"
less
Retourneert true
als de eerste parameter strikt kleiner is dan de tweede parameter. Deze functie ondersteunt alleen parameters van het type getal en de tekenreeks.
Het volgende voorbeeld retourneert true
:
"[less(1, 2)]"
Het volgende voorbeeld retourneert false
:
"[less('9', '10')]"
lessOrEquals
Retourneert true
als de eerste parameter kleiner is dan of gelijk is aan de tweede parameter. Deze functie ondersteunt alleen parameters van het type getal en de tekenreeks.
Het volgende voorbeeld retourneert true
:
"[lessOrEquals(2, 2)]"
not
Retourneert true
als de parameter resulteert in false
. Deze functie ondersteunt alleen parameters van het type Booleaanse waarde.
Het volgende voorbeeld retourneert true
:
"[not(false)]"
Het volgende voorbeeld retourneert false
:
"[not(equals(0, 0))]"
or
Retourneert true
als ten minste één van de parameters resulteert in true
. Deze functie ondersteunt twee of meer parameters alleen van het type Booleaanse waarde.
Het volgende voorbeeld retourneert true
:
"[or(equals(0, 0), equals('web', 'web'), less(1, 2))]"
Het volgende voorbeeld retourneert true
:
"[or(equals(0, 0), greater(1, 2))]"
Volgende stappen
- Zie het overzicht van Azure Resource Manager voor een inleiding tot Azure Resource Manager.