2017-12-19 4 views
0

Ich versuche, ein Array von Parametern - insbesondere eine Liste von E-Mail-Empfängern - und schreibe diese in den App-Einstellungen meiner Web-App.Azure Ressource Manager Vorlage Website App-Einstellungen von Parameter-Array

Die folgende Vorlage funktioniert, aber - offensichtlich - schreibt nur das erste und zweite Element aus dem Array.

Ich habe die Kopierfunktion untersucht, aber dies scheint nur die Erstellung eines Objekts zu behandeln, aber ich muss zu einer vorhandenen Liste von Schlüsselwertpaaren hinzufügen.

{ 
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", 
    ... 
    "parameters": { 
    "Email:Recipients": { 
    "type": "array" 
    }, 
    ... 
    "resources": [ 
    { 
     "apiVersion": "2015-08-01", 
     "type": "Microsoft.Web/sites", 
     ... 
     "resources": [ 
     { 
      "apiVersion": "2015-08-01", 
      "name": "appsettings", 
      "type": "config", 
      "properties": { 
      ... 
      "Email:Recipients:0": "[parameters('Email:Recipients')[0]]", 
      "Email:Recipients:1": "[parameters('Email:Recipients')[1]]", 
      ... 
      } 
     } 
    ] 
} 

Antwort

0

Sie können die Kopierfunktion in den Eigenschaften-Objekt verwenden - siehe: https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-multiple#property-iteration

Betrachten Sie dies als copy/paste Art der Operation, bevor die Vorlage bereitgestellt wird.

+0

Ich kann nicht sehen, wie die Kopierfunktion verwendet werden könnte. Es braucht drei Argumente. Der erste ist ein Name. Der Name wird zum Namen der "eingefügten" Eigenschaft. Aber ich will keine neue Immobilie. Ich möchte die vorhandene Eigenschaft "Eigenschaften" hinzufügen. Das dritte Argument ist eine Klasse. Aber ich will keine Klasse. Ich möchte ein Schlüsselwertpaar. – Frodo

+0

Sie haben Recht Ich glaube nicht, dass das hier funktioniert - Sie versuchen, von einem Array zu einem Misc Blob von JSON zu konvertieren. Ich kann mir keine einfache Möglichkeit vorstellen, dies in der Template-Sprache zu tun (nicht sicher, ob es sogar bei verschachtelten Bereitstellungen möglich ist, weil der Eigenschaftsname nicht deterministisch ist). Eine Option wäre, das gesamte Eigenschaftenobjekt als Parameter zu übergeben und die "Mathematik" außerhalb der Vorlage auszuführen. –

Verwandte Themen