Ich bin eine Vorlage Aufbau einer verknüpften Vorlage n Anzahl, wie oft die copy
Funktion zu implementieren, während die Objektvariable erhöht wird (zB von vmRole1
zu vmRole2
), das ist sein verwendet, aber es scheint, dass, während ich in der Lage bin, eine richtige Variable Zeichenfolge zusammen zu verketten (zB variables('vmRole1').roleInstanceCount
) es wird nie tatsächlich vor der Weiterleitung an die verknüpfte Vorlage ausgewertet.auswerten verketteten Variablennamen in Azure Resource Manager (ARM) Template
Gibt es eine Möglichkeit, dass ich die ARM-Muster tatsächlich zwingen kann, um die verkettete Zeichenfolge innerhalb der Schleife zu bewerten, bevor es zu der verknüpften Vorlage zu senden?
Variable Beispiel:
"vmRole1": {
...
"roleInstanceCount": 2,
...
}
Ressource Beispiel:
{
"apiVersion": "2015-01-01",
"type": "Microsoft.Resources/deployments",
"name": "[concat('DeployRole',copyIndex(1) ,variables('vmRole1Name'))]",
"copy": {
"name": "rolecopy",
"count": 2
},
"properties": {
"mode": "Incremental",
"templateLink": {
"uri": "<proper URL here>",
"contentVersion": "1.0.0.0"
},
"parameters": {
...
"roleInstanceCount": { "value": "[concat('variables(', variables('singleQuote'), 'vmRole', copyIndex(1), variables('singlequote'), ').roleInstanceCount')]" },
...
Ich verbrachte viel zu viele Stunden damit, dies anzustarren. Dein erster Vorschlag ('" value ":" [concat ('vmRole', copyIndex())). RoleInstanceCount] ') hat den Trick perfekt gemacht. Ich habe über das Array nachgedacht, vielleicht werde ich zurückgehen und mich ändern es. – jak119