Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Resource Manager innehåller flera funktioner för att arbeta med objekt i din Azure Resource Manager-mall (ARM-mall):
Tips/Råd
Vi rekommenderar Bicep eftersom det erbjuder samma funktioner som ARM-mallar och syntaxen är enklare att använda. Mer information finns i objektfunktioner .
innehåller
contains(container, itemToFind)
Kontrollerar om en matris innehåller ett värde, ett objekt innehåller en nyckel eller om en sträng innehåller en delsträng. Strängjämförelsen är skiftlägeskänslig. Men när du testar om ett objekt innehåller en nyckel är jämförelsen skiftlägeskänslig.
I Bicep använder du funktionen contains .
Parameterar
| Parameter | Krävs | Typ | Beskrivning | 
|---|---|---|---|
| behållare | Ja | matris, objekt eller sträng | Värdet som innehåller det värde som ska hittas. | 
| itemToFind | Ja | sträng eller int | Värdet som ska hittas. | 
Returvärde
Sant om objektet hittas, annars Falskt.
Exempel
I följande exempel visas hur du använder contains med olika typer:
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "stringToTest": {
      "type": "string",
      "defaultValue": "OneTwoThree"
    },
    "objectToTest": {
      "type": "object",
      "defaultValue": {
        "one": "a",
        "two": "b",
        "three": "c"
      }
    },
    "arrayToTest": {
      "type": "array",
      "defaultValue": [ "one", "two", "three" ]
    }
  },
  "resources": [
  ],
  "outputs": {
    "stringTrue": {
      "type": "bool",
      "value": "[contains(parameters('stringToTest'), 'e')]"
    },
    "stringFalse": {
      "type": "bool",
      "value": "[contains(parameters('stringToTest'), 'z')]"
    },
    "objectTrue": {
      "type": "bool",
      "value": "[contains(parameters('objectToTest'), 'one')]"
    },
    "objectFalse": {
      "type": "bool",
      "value": "[contains(parameters('objectToTest'), 'a')]"
    },
    "arrayTrue": {
      "type": "bool",
      "value": "[contains(parameters('arrayToTest'), 'three')]"
    },
    "arrayFalse": {
      "type": "bool",
      "value": "[contains(parameters('arrayToTest'), 'four')]"
    }
  }
}
Utdata från föregående exempel med standardvärdena är:
| Namn | Typ | Värde | 
|---|---|---|
| stringTrue | Bool | Sann | 
| stringFalse | Bool | Falsk | 
| objectTrue | Bool | Sann | 
| objectFalse | Bool | Falsk | 
| arrayTrue | Bool | Sann | 
| arrayFalse | Bool | Falsk | 
createObject
createObject(key1, value1, key2, value2, ...)
Skapar ett objekt från nycklar och värden.
Funktionen createObject stöds inte av Bicep. Skapa ett objekt med hjälp {}av . Se Objekt.
Parameterar
| Parameter | Krävs | Typ | Beskrivning | 
|---|---|---|---|
| nyckel 1 | Nej | snöre | Namnet på nyckeln. | 
| värde1 | Nej | int, boolesk, sträng, objekt eller matris | Värdet för nyckeln. | 
| fler nycklar | Nej | snöre | Fler namn på nycklarna. | 
| fler värden | Nej | int, boolesk, sträng, objekt eller matris | Fler värden för nycklarna. | 
Funktionen accepterar bara ett jämnt antal parametrar. Varje nyckel måste ha ett matchande värde.
Returvärde
Ett objekt med varje nyckel- och värdepar.
Exempel
I följande exempel skapas ett objekt från olika typer av värden.
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [
  ],
  "outputs": {
    "newObject": {
      "type": "object",
      "value": "[createObject('intProp', 1, 'stringProp', 'abc', 'boolProp', true(), 'arrayProp', createArray('a', 'b', 'c'), 'objectProp', createObject('key1', 'value1'))]"
    }
  }
}
Utdata från föregående exempel med standardvärdena är ett objekt med namnet newObject med följande värde:
{
  "intProp": 1,
  "stringProp": "abc",
  "boolProp": true,
  "arrayProp": ["a", "b", "c"],
  "objectProp": {"key1": "value1"}
}
tom
empty(itemToTest)
Avgör om en matris, ett objekt eller en sträng är tom.
Använd den tomma funktionen i Bicep.
Parameterar
| Parameter | Krävs | Typ | Beskrivning | 
|---|---|---|---|
| itemToTest | Ja | matris, objekt eller sträng | Värdet för att kontrollera om det är tomt. | 
Returvärde
Returnerar Sant om värdet är tomt, annars Falskt.
Exempel
I följande exempel kontrolleras om en matris, ett objekt och en sträng är tomma.
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "testArray": {
      "type": "array",
      "defaultValue": []
    },
    "testObject": {
      "type": "object",
      "defaultValue": {}
    },
    "testString": {
      "type": "string",
      "defaultValue": ""
    }
  },
  "resources": [
  ],
  "outputs": {
    "arrayEmpty": {
      "type": "bool",
      "value": "[empty(parameters('testArray'))]"
    },
    "objectEmpty": {
      "type": "bool",
      "value": "[empty(parameters('testObject'))]"
    },
    "stringEmpty": {
      "type": "bool",
      "value": "[empty(parameters('testString'))]"
    }
  }
}
Utdata från föregående exempel med standardvärdena är:
| Namn | Typ | Värde | 
|---|---|---|
| arrayEmpty | Bool | Sann | 
| objectEmpty | Bool | Sann | 
| stringEmpty | Bool | Sann | 
vägkorsning
intersection(arg1, arg2, arg3, ...)
Returnerar en enskild matris eller ett objekt med de gemensamma elementen från parametrarna.
Använd skärningsfunktionen i Bicep.
Parameterar
| Parameter | Krävs | Typ | Beskrivning | 
|---|---|---|---|
| arg1 | Ja | matris eller objekt | Det första värdet som ska användas för att hitta vanliga element. | 
| arg2 | Ja | matris eller objekt | Det andra värdet som ska användas för att hitta vanliga element. | 
| fler argument | Nej | matris eller objekt | Fler värden att använda för att hitta vanliga element. | 
Returvärde
En matris eller ett objekt med de gemensamma elementen.
Exempel
I följande exempel visas hur du använder intersection med matriser och objekt.
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "firstObject": {
      "type": "object",
      "defaultValue": {
        "one": "a",
        "two": "b",
        "three": "c"
      }
    },
    "secondObject": {
      "type": "object",
      "defaultValue": {
        "one": "a",
        "two": "z",
        "three": "c"
      }
    },
    "firstArray": {
      "type": "array",
      "defaultValue": [ "one", "two", "three" ]
    },
    "secondArray": {
      "type": "array",
      "defaultValue": [ "two", "three" ]
    }
  },
  "resources": [
  ],
  "outputs": {
    "objectOutput": {
      "type": "object",
      "value": "[intersection(parameters('firstObject'), parameters('secondObject'))]"
    },
    "arrayOutput": {
      "type": "array",
      "value": "[intersection(parameters('firstArray'), parameters('secondArray'))]"
    }
  }
}
Utdata från föregående exempel med standardvärdena är:
| Namn | Typ | Värde | 
|---|---|---|
| objectOutput | Objekt | {"one": "a", "three": "c"} | 
| arrayOutput | Samling | ["två", "tre"] | 
artiklar
items(object)
Konverterar ett ordlisteobjekt till en matris. Se toObject om att konvertera en matris till ett objekt.
Använd objekten i Bicep.
Parameterar
| Parameter | Krävs | Typ | Beskrivning | 
|---|---|---|---|
| objekt | Ja | objekt | Ordlisteobjektet som ska konverteras till en matris. | 
Returvärde
En matris med objekt för den konverterade ordlistan. Varje objekt i matrisen har en key egenskap som innehåller nyckelvärdet för ordlistan. Varje objekt har också en value egenskap som innehåller egenskaperna för objektet.
Exempel
I följande exempel konverteras ett ordlisteobjekt till en matris. För varje objekt i matrisen skapas ett nytt objekt med ändrade värden.
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "copy": [
      {
        "name": "modifiedListOfEntities",
        "count": "[length(items(variables('entities')))]",
        "input": {
          "key": "[items(variables('entities'))[copyIndex('modifiedListOfEntities')].key]",
          "fullName": "[items(variables('entities'))[copyIndex('modifiedListOfEntities')].value.displayName]",
          "itemEnabled": "[items(variables('entities'))[copyIndex('modifiedListOfEntities')].value.enabled]"
        }
      }
    ],
    "entities": {
      "item002": {
        "enabled": false,
        "displayName": "Example item 2",
        "number": 200
      },
      "item001": {
        "enabled": true,
        "displayName": "Example item 1",
        "number": 300
      }
    }
  },
  "resources": [],
  "outputs": {
    "modifiedResult": {
      "type": "array",
      "value": "[variables('modifiedListOfEntities')]"
    }
  }
}
Föregående exempel returnerar:
"modifiedResult": {
  "type": "Array",
  "value": [
    {
      "fullName": "Example item 1",
      "itemEnabled": true,
      "key": "item001"
    },
    {
      "fullName": "Example item 2",
      "itemEnabled": false,
      "key": "item002"
    }
  ]
}
I följande exempel visas matrisen som returneras från objektfunktionen.
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "entities": {
      "item002": {
        "enabled": false,
        "displayName": "Example item 2",
        "number": 200
      },
      "item001": {
        "enabled": true,
        "displayName": "Example item 1",
        "number": 300
      }
    },
    "entitiesArray": "[items(variables('entities'))]"
  },
  "resources": [],
  "outputs": {
    "itemsResult": {
      "type": "array",
      "value": "[variables('entitiesArray')]"
    }
  }
}
Exemplet returnerar:
"itemsResult": {
  "type": "Array",
  "value": [
    {
      "key": "item001",
      "value": {
        "displayName": "Example item 1",
        "enabled": true,
        "number": 300
      }
    },
    {
      "key": "item002",
      "value": {
        "displayName": "Example item 2",
        "enabled": false,
        "number": 200
      }
    }
  ]
}
I JSON är ett objekt en osorterad samling med noll eller fler nyckel/värde-par. Beställningen kan variera beroende på implementeringarna. Funktionen Bicep items() sorterar till exempel objekten i alfabetisk ordning. På andra ställen kan den ursprungliga ordningen bevaras. På grund av denna icke-determinism bör du undvika att göra några antaganden om ordningen på objektnycklar när du skriver kod, som interagerar med distributionsparametrar och utdata.
json
json(arg1)
Konverterar en giltig JSON-sträng till en JSON-datatyp.
Använd json-funktionen i Bicep.
Parameterar
| Parameter | Krävs | Typ | Beskrivning | 
|---|---|---|---|
| arg1 | Ja | snöre | Värdet som ska konverteras till JSON. Strängen måste vara en korrekt formaterad JSON-sträng. | 
Returvärde
JSON-datatypen från den angivna strängen eller ett tomt värde när null anges.
Anmärkningar
Om du behöver inkludera ett parametervärde eller en variabel i JSON-objektet använder du formatfunktionen för att skapa strängen som du skickar till funktionen.
Du kan också använda null() för att hämta ett null-värde.
Exempel
I följande exempel visas hur du json använder funktionen. Observera att du kan skicka in null för ett tomt objekt.
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "jsonEmptyObject": {
      "type": "string",
      "defaultValue": "null"
    },
    "jsonObject": {
      "type": "string",
      "defaultValue": "{\"a\": \"b\"}"
    },
    "jsonString": {
      "type": "string",
      "defaultValue": "\"test\""
    },
    "jsonBoolean": {
      "type": "string",
      "defaultValue": "true"
    },
    "jsonInt": {
      "type": "string",
      "defaultValue": "3"
    },
    "jsonArray": {
      "type": "string",
      "defaultValue": "[[1,2,3 ]"
    },
    "concatValue": {
      "type": "string",
      "defaultValue": "demo value"
    }
  },
  "resources": [
  ],
  "outputs": {
    "emptyObjectOutput": {
      "type": "bool",
      "value": "[empty(json(parameters('jsonEmptyObject')))]"
    },
    "objectOutput": {
      "type": "object",
      "value": "[json(parameters('jsonObject'))]"
    },
    "stringOutput": {
      "type": "string",
      "value": "[json(parameters('jsonString'))]"
    },
    "booleanOutput": {
      "type": "bool",
      "value": "[json(parameters('jsonBoolean'))]"
    },
    "intOutput": {
      "type": "int",
      "value": "[json(parameters('jsonInt'))]"
    },
    "arrayOutput": {
      "type": "array",
      "value": "[json(parameters('jsonArray'))]"
    },
    "concatObjectOutput": {
      "type": "object",
      "value": "[json(concat('{\"a\": \"', parameters('concatValue'), '\"}'))]"
    }
  }
}
Utdata från föregående exempel med standardvärdena är:
| Namn | Typ | Värde | 
|---|---|---|
| emptyObjectOutput | Boolean | Sann | 
| objectOutput | Objekt | {"a": "b"} | 
| stringOutput | Sträng | test | 
| booleanOutput | Boolean | Sann | 
| intOutput | Heltal | 3 | 
| arrayOutput | Samling | [ 1, 2, 3 ] | 
| concatObjectOutput | Objekt | { "a": "demo value" } | 
längd
length(arg1)
Returnerar antalet element i en matris, tecken i en sträng eller rotnivåegenskaper i ett objekt.
Använd längdfunktionen i Bicep.
Parameterar
| Parameter | Krävs | Typ | Beskrivning | 
|---|---|---|---|
| arg1 | Ja | matris, sträng eller objekt | Matrisen som ska användas för att hämta antalet element, strängen som ska användas för att hämta antalet tecken eller det objekt som ska användas för att hämta antalet egenskaper på rotnivå. | 
Returvärde
Ett int.
Exempel
I följande exempel visas hur du använder length med en matris och sträng:
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "arrayToTest": {
      "type": "array",
      "defaultValue": [
        "one",
        "two",
        "three"
      ]
    },
    "stringToTest": {
      "type": "string",
      "defaultValue": "One Two Three"
    },
    "objectToTest": {
      "type": "object",
      "defaultValue": {
        "propA": "one",
        "propB": "two",
        "propC": "three",
        "propD": {
          "propD-1": "sub",
          "propD-2": "sub"
        }
      }
    }
  },
  "resources": [],
  "outputs": {
    "arrayLength": {
      "type": "int",
      "value": "[length(parameters('arrayToTest'))]"
    },
    "stringLength": {
      "type": "int",
      "value": "[length(parameters('stringToTest'))]"
    },
    "objectLength": {
      "type": "int",
      "value": "[length(parameters('objectToTest'))]"
    }
  }
}
Utdata från föregående exempel med standardvärdena är:
| Namn | Typ | Värde | 
|---|---|---|
| arraylängd | Int | 3 | 
| stringLength | Int | tretton | 
| objectLength | Int | 4 | 
noll
null()
Returnerar null.
Funktionen null är inte tillgänglig i Bicep. Använd nyckelordet null i stället.
Parameterar
Null-funktionen accepterar inga parametrar.
Returvärde
Ett värde som alltid är null.
Exempel
I följande exempel används null-funktionen.
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "emptyOutput": {
      "type": "bool",
      "value": "[empty(null())]"
    }
  }
}
Utdata från föregående exempel är:
| Namn | Typ | Värde | 
|---|---|---|
| emptyOutput | Bool | Sann | 
objectKeys
objectKeys(object)
Returnerar nycklarna från ett objekt, där ett objekt är en samling nyckel/värde-par.
I Bicep använder du funktionen objectKeys .
Parameterar
| Parameter | Krävs | Typ | Beskrivning | 
|---|---|---|---|
| objekt | Ja | objekt | Objektet, som är en samling nyckel/värde-par. | 
Returvärde
En matris.
Exempel
I följande exempel visas hur du använder objectKeys med ett objekt:
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "obj": {
      "a": 1,
      "b": 2
    }
  },
  "resources": [],
  "outputs": {
    "keyArray": {
      "type": "array",
      "value": "[objectKeys(variables('obj'))]"
    }
  }
}
Utdata från föregående exempel är:
| Namn | Typ | Värde | 
|---|---|---|
| keyArray | Samling | [ "a", "b" ] | 
I JSON är ett objekt en osorterad samling med noll eller fler nyckel/värde-par. Beställningen kan variera beroende på implementeringarna. Funktionen Bicep items() sorterar till exempel objekten i alfabetisk ordning. På andra ställen kan den ursprungliga ordningen bevaras. På grund av denna icke-determinism bör du undvika att göra några antaganden om ordningen på objektnycklar när du skriver kod, som interagerar med distributionsparametrar och utdata.
shallowMerge
shallowMerge(inputArray)
Kombinerar en matris med objekt, där endast de översta objekten sammanfogas. Det innebär att om objekten som sammanfogas innehåller kapslade objekt sammanfogas inte de kapslade objekten djupt. I stället ersätts de helt av motsvarande egenskap från det sammanfogande objektet.
Använd funktionen shallowMerge i Bicep.
Parameterar
| Parameter | Krävs | Typ | Beskrivning | 
|---|---|---|---|
| inputArray | Ja | array | En matris med objekt. | 
Returvärde
Ett objekt.
Exempel
I följande exempel visas hur du använder shallowMerge:
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "firstArray": [
      {
        "one": "a"
      },
      {
        "two": "b"
      },
      {
        "two": "c"
      }
    ],
    "secondArray": [
      {
        "one": "a",
        "nested": {
          "a": 1,
          "nested": {
            "c": 3
          }
        }
      },
      {
        "two": "b",
        "nested": {
          "b": 2
        }
      }
    ]
  },
  "resources": [],
  "outputs": {
    "firstOutput": {
      "type": "object",
      "value": "[shallowMerge(variables('firstArray'))]"
    },
    "secondOutput": {
      "type": "object",
      "value": "[shallowMerge(variables('secondArray'))]"
    }
  }
}
Utdata från föregående exempel med standardvärdena är:
| Namn | Typ | Värde | 
|---|---|---|
| firstOutput | objekt | {"en":"a","två":"c"} | 
| secondOutput | objekt | {"en":"a","kapslad":{"b":2},"två":"b"} | 
firstOutput visar att egenskaperna från de sammanfogade objekten kombineras till ett nytt objekt. Om det finns motstridiga egenskaper (dvs. egenskaper med samma namn) har egenskapen från det sista objektet som sammanfogades vanligtvis företräde.
secondOutput visar att den grunda sammanfogningen inte rekursivt sammanfogar dessa kapslade objekt. I stället ersätts hela det kapslade objektet med motsvarande egenskap från det sammanfogande objektet.
tryGet
tryGet(itemToTest, keyOrIndex)
              tryGet hjälper dig att undvika distributionsfel när du försöker komma åt en obefintlig egenskap eller ett index i ett objekt eller en matris. Om den angivna nyckeln eller indexet inte finns tryGet returnerar null i stället för att utlösa ett fel.
I Bicep använder du operatorn safe-dereference .
Parameterar
| Parameter | Krävs | Typ | Beskrivning | 
|---|---|---|---|
| itemToTest | Ja | matris, objekt | Ett objekt eller en matris att titta på. | 
| keyOrIndex | Ja | sträng, heltal | En nyckel eller ett index som ska hämtas från matrisen eller objektet. Ett egenskapsnamn för objekt eller index för matriser. | 
Returvärde
Returnerar värdet vid nyckeln/indexet om det finns. Returnerar null om nyckeln/indexet saknas eller ligger utanför gränserna.
Exempel
I följande exempel kontrolleras om en matris, ett objekt och en sträng är tomma.
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "languageVersion": "2.0",
  "contentVersion": "1.0.0.0",
  "variables": {
    "users": {
      "name": "John Doe",
      "age": 30
    },
    "colors": [
      "red",
      "green"
    ]
  },
  "resources": [],
  "outputs": {
    "region": {
      "type": "string",
      "nullable": true,
      "value": "[tryGet(variables('users'), 'region')]"
    },
    "name": {
      "type": "string",
      "nullable": true,
      "value": "[tryGet(variables('users'), 'name')]"
    },
    "firstColor": {
      "type": "string",
      "nullable": true,
      "value": "[tryGet(variables('colors'), 0)]"
    }
  }
}
Utdata från föregående exempel är:
| Namn | Typ | Värde | 
|---|---|---|
| region | Sträng | (NULL) | 
| namn | Sträng | John Berg | 
| firstColor | Sträng | Röd | 
fackförbund (if specifically referring to a labor union)
union(arg1, arg2, arg3, ...)
Returnerar en enskild matris eller ett objekt med alla element från parametrarna. För matriser inkluderas duplicerade värden en gång. För objekt inkluderas duplicerade egenskapsnamn bara en gång.
I Bicep använder du unionsfunktionen .
Parameterar
| Parameter | Krävs | Typ | Beskrivning | 
|---|---|---|---|
| arg1 | Ja | matris eller objekt | Det första värdet som ska användas för att koppla element. | 
| arg2 | Ja | matris eller objekt | Det andra värdet som ska användas för att koppla element. | 
| fler argument | Nej | matris eller objekt | Fler värden att använda för att koppla element. | 
Returvärde
En matris eller ett objekt.
Anmärkningar
Union-funktionen använder sekvensen för parametrarna för att fastställa resultatets ordning och värden.
För matriser itererar funktionen genom varje element i den första parametern och lägger till den i resultatet om den inte redan finns. Sedan upprepas processen för den andra parametern och eventuella ytterligare parametrar. Om ett värde redan finns bevaras dess tidigare placering i matrisen.
För objekt läggs egenskapsnamn och värden från den första parametern till i resultatet. För senare parametrar läggs alla nya namn till i resultatet. Om en senare parameter har en egenskap med samma namn skriver det värdet över det befintliga värdet. Ordningen på egenskaperna är inte garanterad.
Union-funktionen sammanfogar inte bara elementen på den översta nivån utan sammanfogar även rekursivt alla kapslade matriser och objekt i dem. Se det andra exemplet i följande avsnitt.
Exempel
I följande exempel visas hur du använder union med matriser och objekt:
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "firstObject": {
      "type": "object",
      "defaultValue": {
        "one": "a",
        "two": "b",
        "three": "c1"
      }
    },
    "secondObject": {
      "type": "object",
      "defaultValue": {
        "three": "c2",
        "four": "d",
        "five": "e"
      }
    },
    "firstArray": {
      "type": "array",
      "defaultValue": [ "one", "two", "three" ]
    },
    "secondArray": {
      "type": "array",
      "defaultValue": [ "three", "four" ]
    }
  },
  "resources": [
  ],
  "outputs": {
    "objectOutput": {
      "type": "object",
      "value": "[union(parameters('firstObject'), parameters('secondObject'))]"
    },
    "arrayOutput": {
      "type": "array",
      "value": "[union(parameters('firstArray'), parameters('secondArray'))]"
    }
  }
}
Utdata från föregående exempel med standardvärdena är:
| Namn | Typ | Värde | 
|---|---|---|
| objectOutput | Objekt | {"one": "a", "two": "b", "three": "c2", "four": "d", "five": "e"} | 
| arrayOutput | Samling | ["en", "två", "tre", "fyra"] | 
I följande exempel visas funktionen för djupsammanslagning:
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "firstObject": {
      "property": {
        "one": "a",
        "two": "b",
        "three": "c1"
      },
      "nestedArray": [
        1,
        2
      ]
    },
    "secondObject": {
      "property": {
        "three": "c2",
        "four": "d",
        "five": "e"
      },
      "nestedArray": [
        3,
        4
      ]
    },
    "firstArray": [
      [
        "one",
        "two"
      ],
      [
        "three"
      ]
    ],
    "secondArray": [
      [
        "three"
      ],
      [
        "four",
        "two"
      ]
    ]
  },
  "resources": [],
  "outputs": {
    "objectOutput": {
      "type": "Object",
      "value": "[union(variables('firstObject'), variables('secondObject'))]"
    },
    "arrayOutput": {
      "type": "Array",
      "value": "[union(variables('firstArray'), variables('secondArray'))]"
    }
  }
}
Utdata från föregående exempel är:
| Namn | Typ | Värde | 
|---|---|---|
| objectOutput | Objekt | {"property":{"one":"a","two":"b","three":"c2","four":"d","five":"e"},"nestedArray":[3,4]} | 
| arrayOutput | Samling | [["one","two"],["three"],["four","two"]] | 
Om kapslade matriser sammanfogades skulle värdet för objectOutput.nestedArray vara [1, 2, 3, 4], och värdet för arrayOutput skulle vara [["one", "two", "three"], ["three", "four", "two"]].
Nästa steg
- En beskrivning av avsnitten i en ARM-mall finns i Förstå strukturen och syntaxen för ARM-mallar.