Funzioni logiche nei modelli di Azure Resource ManagerLogical functions for Azure Resource Manager templates

Resource Manager include numerose funzioni per l'esecuzione di confronti nei modelli.Resource Manager provides several functions for making comparisons in your templates.

eand

and(arg1, arg2)

Controlla se i valori di entrambi i parametri sono true.Checks whether both parameter values are true.

ParametriParameters

ParametroParameter ObbligatoriaRequired typeType DESCRIZIONEDescription
arg1arg1 Yes booleanboolean Primo valore da controllare per verificare se è true.The first value to check whether is true.
arg2arg2 Yes booleanboolean Secondo valore da controllare per verificare se è true.The second value to check whether is true.

Valore restituitoReturn value

Restituisce True se entrambi i valori sono true. In caso contrario, restituisce False.Returns True if both values are true; otherwise, False.

EsempiExamples

Il modello di esempio seguente mostra come usare le funzioni logiche.The following example template shows how to use logical functions.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [ ],
    "outputs": {
        "andExampleOutput": {
            "value": "[and(bool('true'), bool('false'))]",
            "type": "bool"
        },
        "orExampleOutput": {
            "value": "[or(bool('true'), bool('false'))]",
            "type": "bool"
        },
        "notExampleOutput": {
            "value": "[not(bool('true'))]",
            "type": "bool"
        }
    }
}

L'output dell'esempio precedente è:The output from the preceding example is:

NOMEName typeType ValoreValue
andExampleOutputandExampleOutput BooleanoBool FalseFalse
orExampleOutputorExampleOutput BooleanoBool True True
notExampleOutputnotExampleOutput BooleanoBool FalseFalse

Per distribuire questo modello di esempio con l'interfaccia della riga di comando di Azure, usare:To deploy this example template with Azure CLI, use:

az group deployment create -g functionexamplegroup --template-uri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/andornot.json

Per distribuire questo modello di esempio con PowerShell, usare:To deploy this example template with PowerShell, use:

New-AzureRmResourceGroupDeployment -ResourceGroupName functionexamplegroup -TemplateUri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/andornot.json

boolbool

bool(arg1)

Converte il parametro in un valore booleano.Converts the parameter to a boolean.

ParametriParameters

ParametroParameter ObbligatoriaRequired typeType DESCRIZIONEDescription
arg1arg1 Yes stringa o numero interostring or int Valore da convertire in un valore booleano.The value to convert to a boolean.

Valore restituitoReturn value

Valore booleano del valore convertito.A boolean of the converted value.

EsempiExamples

Il modello di esempio seguente illustra come usare il parametro bool con un numero intero o una stringa.The following example template shows how to use bool with a string or integer.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [],
    "outputs": {
        "trueString": {
            "value": "[bool('true')]",
            "type" : "bool"
        },
        "falseString": {
            "value": "[bool('false')]",
            "type" : "bool"
        },
        "trueInt": {
            "value": "[bool(1)]",
            "type" : "bool"
        },
        "falseInt": {
            "value": "[bool(0)]",
            "type" : "bool"
        }
    }
}

L'output dell'esempio precedente con i valori predefiniti è il seguente:The output from the preceding example with the default values is:

NOMEName typeType ValoreValue
trueStringtrueString BooleanoBool True True
falseStringfalseString BooleanoBool FalseFalse
trueInttrueInt BooleanoBool True True
falseIntfalseInt BooleanoBool FalseFalse

Per distribuire questo modello di esempio con l'interfaccia della riga di comando di Azure, usare:To deploy this example template with Azure CLI, use:

az group deployment create -g functionexamplegroup --template-uri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/bool.json

Per distribuire questo modello di esempio con PowerShell, usare:To deploy this example template with PowerShell, use:

New-AzureRmResourceGroupDeployment -ResourceGroupName functionexamplegroup -TemplateUri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/bool.json

ifif

if(condition, trueValue, falseValue)

Restituisce un valore in base a un condizione true o false.Returns a value based on whether a condition is true or false.

ParametriParameters

ParametroParameter ObbligatoriaRequired typeType DESCRIZIONEDescription
conditioncondition Yes booleanboolean Valore da controllare per verificare se è true.The value to check whether it is true.
trueValuetrueValue Yes string, int, object o arraystring, int, object, or array Valore da restituire quando la condizione è true.The value to return when the condition is true.
falseValuefalseValue Yes string, int, object o arraystring, int, object, or array Valore da restituire quando la condizione è false.The value to return when the condition is false.

Valore restituitoReturn value

Restituisce il secondo parametro, quando il primo parametro è True. In caso contrario, restituisce il terzo parametro.Returns second parameter when first parameter is True; otherwise, returns third parameter.

OsservazioniRemarks

È possibile usare questa funzione per impostare in modo condizionale una proprietà di una risorsa.You can use this function to conditionally set a resource property. L'esempio seguente non è un modello completo, ma mostra le sezioni rilevanti per l'impostazione condizionale del set di disponibilità.The following example is not a full template, but it shows the relevant portions for conditionally setting the availability set.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        ...
        "availabilitySet": {
            "type": "string",
            "allowedValues": [
                "yes",
                "no"
            ]
        }
    },
    "variables": {
        ...
        "availabilitySetName": "availabilitySet1",
        "availabilitySet": {
            "id": "[resourceId('Microsoft.Compute/availabilitySets',variables('availabilitySetName'))]"
        }
    },
    "resources": [
        {
            "condition": "[equals(parameters('availabilitySet'),'yes')]",
            "type": "Microsoft.Compute/availabilitySets",
            "name": "[variables('availabilitySetName')]",
            ...
        },
        {
            "apiVersion": "2016-03-30",
            "type": "Microsoft.Compute/virtualMachines",
            "properties": {
                "availabilitySet": "[if(equals(parameters('availabilitySet'),'yes'), variables('availabilitySet'), json('null'))]",
                ...
            }
        },
        ...
    ],
    ...
}

EsempiExamples

Il modello di esempio seguente illustra come usare la funzione if.The following example template shows how to use the if function.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [
    ],
    "outputs": {
        "yesOutput": {
            "type": "string",
            "value": "[if(equals('a', 'a'), 'yes', 'no')]"
        },
        "noOutput": {
            "type": "string",
            "value": "[if(equals('a', 'b'), 'yes', 'no')]"
        }
    }
}

L'output dell'esempio precedente è:The output from the preceding example is:

NOMEName typeType ValoreValue
yesOutputyesOutput stringString yes
noOutputnoOutput stringString nono

Per distribuire questo modello di esempio con l'interfaccia della riga di comando di Azure, usare:To deploy this example template with Azure CLI, use:

az group deployment create -g functionexamplegroup --template-uri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/if.json

Per distribuire questo modello di esempio con PowerShell, usare:To deploy this example template with PowerShell, use:

New-AzureRmResourceGroupDeployment -ResourceGroupName functionexamplegroup -TemplateUri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/if.json

notnot

not(arg1)

Converte il valore booleano nel valore opposto.Converts boolean value to its opposite value.

ParametriParameters

ParametroParameter ObbligatoriaRequired typeType DESCRIZIONEDescription
arg1arg1 Yes booleanboolean Valore da convertire.The value to convert.

Valore restituitoReturn value

Restituisce True quando il parametro è False.Returns True when parameter is False. Restituisce False quando il parametro è True.Returns False when parameter is True.

EsempiExamples

Il modello di esempio seguente mostra come usare le funzioni logiche.The following example template shows how to use logical functions.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [ ],
    "outputs": {
        "andExampleOutput": {
            "value": "[and(bool('true'), bool('false'))]",
            "type": "bool"
        },
        "orExampleOutput": {
            "value": "[or(bool('true'), bool('false'))]",
            "type": "bool"
        },
        "notExampleOutput": {
            "value": "[not(bool('true'))]",
            "type": "bool"
        }
    }
}

L'output dell'esempio precedente è:The output from the preceding example is:

NOMEName typeType ValoreValue
andExampleOutputandExampleOutput BooleanoBool FalseFalse
orExampleOutputorExampleOutput BooleanoBool True True
notExampleOutputnotExampleOutput BooleanoBool FalseFalse

Per distribuire questo modello di esempio con l'interfaccia della riga di comando di Azure, usare:To deploy this example template with Azure CLI, use:

az group deployment create -g functionexamplegroup --template-uri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/andornot.json

Per distribuire questo modello di esempio con PowerShell, usare:To deploy this example template with PowerShell, use:

New-AzureRmResourceGroupDeployment -ResourceGroupName functionexamplegroup -TemplateUri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/andornot.json

Il modello di esempio seguente usa not con equals.The following example template uses not with equals.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [
    ],
    "outputs": {
        "checkNotEquals": {
            "type": "bool",
            "value": "[not(equals(1, 2))]"
        }
    }

L'output dell'esempio precedente è:The output from the preceding example is:

NOMEName typeType ValoreValue
checkNotEqualscheckNotEquals BooleanoBool True True

Per distribuire questo modello di esempio con l'interfaccia della riga di comando di Azure, usare:To deploy this example template with Azure CLI, use:

az group deployment create -g functionexamplegroup --template-uri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/not-equals.json

Per distribuire questo modello di esempio con PowerShell, usare:To deploy this example template with PowerShell, use:

New-AzureRmResourceGroupDeployment -ResourceGroupName functionexamplegroup -TemplateUri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/not-equals.json

oppureor

or(arg1, arg2)

Controlla se il valore di uno dei due parametri è true.Checks whether either parameter value is true.

ParametriParameters

ParametroParameter ObbligatoriaRequired typeType DESCRIZIONEDescription
arg1arg1 Yes booleanboolean Primo valore da controllare per verificare se è true.The first value to check whether is true.
arg2arg2 Yes booleanboolean Secondo valore da controllare per verificare se è true.The second value to check whether is true.

Valore restituitoReturn value

Restituisce True se uno dei due valori è true. In caso contrario, restituisce False.Returns True if either value is true; otherwise, False.

EsempiExamples

Il modello di esempio seguente mostra come usare le funzioni logiche.The following example template shows how to use logical functions.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [ ],
    "outputs": {
        "andExampleOutput": {
            "value": "[and(bool('true'), bool('false'))]",
            "type": "bool"
        },
        "orExampleOutput": {
            "value": "[or(bool('true'), bool('false'))]",
            "type": "bool"
        },
        "notExampleOutput": {
            "value": "[not(bool('true'))]",
            "type": "bool"
        }
    }
}

L'output dell'esempio precedente è:The output from the preceding example is:

NOMEName typeType ValoreValue
andExampleOutputandExampleOutput BooleanoBool FalseFalse
orExampleOutputorExampleOutput BooleanoBool True True
notExampleOutputnotExampleOutput BooleanoBool FalseFalse

Per distribuire questo modello di esempio con l'interfaccia della riga di comando di Azure, usare:To deploy this example template with Azure CLI, use:

az group deployment create -g functionexamplegroup --template-uri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/andornot.json

Per distribuire questo modello di esempio con PowerShell, usare:To deploy this example template with PowerShell, use:

New-AzureRmResourceGroupDeployment -ResourceGroupName functionexamplegroup -TemplateUri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/andornot.json

Passaggi successiviNext steps