Funzioni di confronto per i modelli di Azure Resource Manager

Resource Manager include numerose funzioni per l'esecuzione di confronti nei modelli.

equals

equals(arg1, arg2)

Controlla se due valori sono uguali tra loro.

Parametri

Parametro Obbligatorio Tipo Descrizione
arg1 int, stringa, matrice o oggetto Il primo valore per verificare l'uguaglianza.
arg2 int, stringa, matrice o oggetto Il secondo valore per verificare l'uguaglianza.

Valore restituito

Restituisce True se i valori sono uguali; in caso contrario, restituisce False.

Osservazioni

La funzione uguale a viene spesso usata con l'elemento condition per verificare se la risorsa viene distribuita.

{
    "condition": "[equals(parameters('newOrExisting'),'new')]",
    "type": "Microsoft.Storage/storageAccounts",
    "name": "[variables('storageAccountName')]",
    "apiVersion": "2017-06-01",
    "location": "[resourceGroup().location]",
    "sku": {
        "name": "[variables('storageAccountType')]"
    },
    "kind": "Storage",
    "properties": {}
}

Esempio

Il modello di esempio seguente controlla tipi diversi di valori per verificarne l'uguaglianza. Tutti i valori predefiniti restituiscono True.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "firstInt": {
            "type": "int",
            "defaultValue": 1
        },
        "secondInt": {
            "type": "int",
            "defaultValue": 1
        },
        "firstString": {
            "type": "string",
            "defaultValue": "a"
        },
        "secondString": {
            "type": "string",
            "defaultValue": "a"
        },
        "firstArray": {
            "type": "array",
            "defaultValue": ["a", "b"]
        },
        "secondArray": {
            "type": "array",
            "defaultValue": ["a", "b"]
        },
        "firstObject": {
            "type": "object",
            "defaultValue": {"a": "b"}
        },
        "secondObject": {
            "type": "object",
            "defaultValue": {"a": "b"}
        }
    },
    "resources": [
    ],
    "outputs": {
        "checkInts": {
            "type": "bool",
            "value": "[equals(parameters('firstInt'), parameters('secondInt') )]"
        },
        "checkStrings": {
            "type": "bool",
            "value": "[equals(parameters('firstString'), parameters('secondString'))]"
        },
        "checkArrays": {
            "type": "bool",
            "value": "[equals(parameters('firstArray'), parameters('secondArray'))]"
        },
        "checkObjects": {
            "type": "bool",
            "value": "[equals(parameters('firstObject'), parameters('secondObject'))]"
        }
    }
}

L'output dell'esempio precedente con i valori predefiniti è il seguente:

Nome Tipo Valore
checkInts Booleano True
checkStrings Booleano True
checkArrays Booleano True
checkObjects Booleano True

Per distribuire questo modello di esempio con l'interfaccia della riga di comando di Azure, usare:

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

Per distribuire questo modello di esempio con PowerShell, usare:

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

Il modello di esempio seguente usa not con 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 è:

Nome Tipo Valore
checkNotEquals Booleano True

Per distribuire questo modello di esempio con l'interfaccia della riga di comando di Azure, usare:

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:

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

greater

greater(arg1, arg2)

Controlla se il primo valore è maggiore del secondo.

Parametri

Parametro Obbligatorio Tipo Descrizione
arg1 int o stringa Il primo valore per il confronto del maggiore.
arg2 int o stringa Il secondo valore per il confronto del maggiore.

Valore restituito

Restituisce True se il primo valore è maggiore del secondo; in caso contrario, restituisce False.

Esempio

Il modello di esempio segiente controlla se un valore è maggiore dell'altro.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "firstInt": {
            "type": "int",
            "defaultValue": 1
        },
        "secondInt": {
            "type": "int",
            "defaultValue": 2
        },
        "firstString": {
            "type": "string",
            "defaultValue": "A"
        },
        "secondString": {
            "type": "string",
            "defaultValue": "a"
        }
    },
    "resources": [
    ],
    "outputs": {
        "checkInts": {
            "type": "bool",
            "value": "[greater(parameters('firstInt'), parameters('secondInt') )]"
        },
        "checkStrings": {
            "type": "bool",
            "value": "[greater(parameters('firstString'), parameters('secondString'))]"
        }
    }
}

L'output dell'esempio precedente con i valori predefiniti è il seguente:

Nome Tipo Valore
checkInts Booleano False
checkStrings Booleano True

Per distribuire questo modello di esempio con l'interfaccia della riga di comando di Azure, usare:

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

Per distribuire questo modello di esempio con PowerShell, usare:

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

greaterOrEquals

greaterOrEquals(arg1, arg2)

Controlla se il primo valore è maggiore o uguale al secondo valore.

Parametri

Parametro Obbligatorio Tipo Descrizione
arg1 int o stringa Il primo valore per il confronto del maggiore e dell'uguaglianza.
arg2 int o stringa Il secondo valore per il confronto del maggiore e dell'uguaglianza.

Valore restituito

Restituisce True se il primo valore è maggiore o uguale al secondo; in caso contrario, restituisce False.

Esempio

Il modello di esempio seguente controlla se un valore è maggiore o uguale all'altro.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "firstInt": {
            "type": "int",
            "defaultValue": 1
        },
        "secondInt": {
            "type": "int",
            "defaultValue": 2
        },
        "firstString": {
            "type": "string",
            "defaultValue": "A"
        },
        "secondString": {
            "type": "string",
            "defaultValue": "a"
        }
    },
    "resources": [
    ],
    "outputs": {
        "checkInts": {
            "type": "bool",
            "value": "[greaterOrEquals(parameters('firstInt'), parameters('secondInt') )]"
        },
        "checkStrings": {
            "type": "bool",
            "value": "[greaterOrEquals(parameters('firstString'), parameters('secondString'))]"
        }
    }
}

L'output dell'esempio precedente con i valori predefiniti è il seguente:

Nome Tipo Valore
checkInts Booleano False
checkStrings Booleano True

Per distribuire questo modello di esempio con l'interfaccia della riga di comando di Azure, usare:

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

Per distribuire questo modello di esempio con PowerShell, usare:

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

less

less(arg1, arg2)

Controlla se il primo valore è minore del secondo.

Parametri

Parametro Obbligatorio Tipo Descrizione
arg1 int o stringa Il primo valore per il confronto del minore.
arg2 int o stringa Il secondo valore per il confronto del minore.

Valore restituito

Restituisce True se il primo valore è inferiore al secondo; in caso contrario, restituisce False.

Esempio

Il modello di esempio seguente controlla se un valore è minore dell'altro.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "firstInt": {
            "type": "int",
            "defaultValue": 1
        },
        "secondInt": {
            "type": "int",
            "defaultValue": 2
        },
        "firstString": {
            "type": "string",
            "defaultValue": "A"
        },
        "secondString": {
            "type": "string",
            "defaultValue": "a"
        }
    },
    "resources": [
    ],
    "outputs": {
        "checkInts": {
            "type": "bool",
            "value": "[less(parameters('firstInt'), parameters('secondInt') )]"
        },
        "checkStrings": {
            "type": "bool",
            "value": "[less(parameters('firstString'), parameters('secondString'))]"
        }
    }
}

L'output dell'esempio precedente con i valori predefiniti è il seguente:

Nome Tipo Valore
checkInts Booleano True
checkStrings Booleano False

Per distribuire questo modello di esempio con l'interfaccia della riga di comando di Azure, usare:

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

Per distribuire questo modello di esempio con PowerShell, usare:

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

lessOrEquals

lessOrEquals(arg1, arg2)

Controlla se il primo valore è minore o uguale al secondo valore.

Parametri

Parametro Obbligatorio Tipo Descrizione
arg1 int o stringa Il primo valore per il confronto del minore o dell'uguaglianza.
arg2 int o stringa Il secondo valore per il confronto del minore o dell'uguaglianza.

Valore restituito

Restituisce True se il primo valore è minore o uguale al secondo; in caso contrario, restituisce False.

Esempio

Il modello di esempio seguente controlla se un valore è minore o uguale all'altro.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "firstInt": {
            "type": "int",
            "defaultValue": 1
        },
        "secondInt": {
            "type": "int",
            "defaultValue": 2
        },
        "firstString": {
            "type": "string",
            "defaultValue": "A"
        },
        "secondString": {
            "type": "string",
            "defaultValue": "a"
        }
    },
    "resources": [
    ],
    "outputs": {
        "checkInts": {
            "type": "bool",
            "value": "[lessOrEquals(parameters('firstInt'), parameters('secondInt') )]"
        },
        "checkStrings": {
            "type": "bool",
            "value": "[lessOrEquals(parameters('firstString'), parameters('secondString'))]"
        }
    }
}

L'output dell'esempio precedente con i valori predefiniti è il seguente:

Nome Tipo Valore
checkInts Booleano True
checkStrings Booleano False

Per distribuire questo modello di esempio con l'interfaccia della riga di comando di Azure, usare:

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

Per distribuire questo modello di esempio con PowerShell, usare:

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

Passaggi successivi