Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Eine Form view ist eine JSON-Beschreibung einer Erstellungsoberfläche im Azure-Portal. Das Azure Portal rendert das Formular zur Laufzeit aus dem JSON-Code. Es ist kein Clientcode zum Schreiben vorhanden. Formularansichten verwenden das uiFormDefinition.json Format und werden von Vorlagenspezifikationsportalformularen verwendet. Azure Managed Applications verwenden das separate createUiDefinition.json-Format.
Die Mindestdatei sieht wie folgt aus:
{
"$schema": "https://schema.management.azure.com/schemas/2021-09-09/uiFormDefinition.schema.json#",
"view": {
"kind": "Form",
"properties": {
"title": "Create my resource",
"steps": []
},
"outputs": {
"kind": "ResourceGroup",
"resourceGroupId": "",
"location": "",
"parameters": {}
}
}
}
Eine Formularansicht hat immer Folgendes:
| Feld | Required | Description |
|---|---|---|
$schema |
Empfohlen | Heften Sie das 2021-09-09/uiFormDefinition.schema.json-Schema für IntelliSense an. |
view.kind |
Yes | Muss "Form"lauten. |
view.properties.title |
Yes | Der Seitentitel, der oberhalb des Formulars angezeigt wird. |
view.properties.steps |
Yes | Ein oder mehrere Schritte (Registerkarten). Siehe Schritte. |
view.outputs |
Ja (bei der Bereitstellung) | Der Bereitstellungskontext – welche Abonnement-, Ressourcengruppe, Verwaltungsgruppe oder Mandant die Bereitstellungsziele und die Azure Resource Manager Vorlagenparameterwerte sind. Siehe "Ausgaben". |
Schritte
steps ist ein sortiertes Array. Jeder Schritt wird als Registerkarte gerendert. Der Benutzer wechselt zwischen den Schritten mit "Weiter" und "Zurück".
"steps": [
{
"name": "basics",
"label": "Basics",
"description": "Provide the basic settings for the resource.",
"elements": [
{
"name": "name",
"type": "Microsoft.Common.TextBox",
"label": "Resource name",
"toolTip": "Provide a unique name.",
"constraints": {
"required": true,
"regex": "^[a-z0-9]{3,24}$",
"validationMessage": "3-24 lowercase letters or digits."
}
}
]
}
]
Jeder Schritt umfasst:
| Feld | Required | Description |
|---|---|---|
name |
Yes | Schritt-ID. Verweisen Sie in Ausdrücken mit steps('<name>') darauf. |
label |
Yes | Registerkartentitel. |
description |
No | Optionale Beschreibung, die unter dem Titel der Registerkarte angezeigt wird. |
elements |
Yes | Array von Formularsteuerelementen. Siehe Formularansichtselemente. |
Gruppieren Sie verwandte Felder mit Microsoft.Common.Section, statt einen Schritt zu überladen. Abschnitte können nicht geschachtelt werden.
Ausgaben (Bereitstellungskontext)
Wenn eine Formularansicht verwendet wird, um eine Azure Resource Manager-Vorlage (im allgemeinen Fall) bereitzustellen, view.outputs ist der Bereitstellungskontext. Das Portal verwendet dies, um zu bestimmen, wo bereitgestellt werden soll und welche Parameterwerte für die Vorlage übergeben werden sollen. Vier kind Werte werden unterstützt:
kind |
Pflichtfelder | Wird verwendet, wenn |
|---|---|---|
ResourceGroup |
resourceGroupId, locationparameters |
Die meisten Ressourcen. Wird in einer Ressourcengruppe bereitgestellt. |
Subscription |
subscriptionId, locationparameters |
Die Vorlage $schema lautet subscriptionDeploymentTemplate.json. |
ManagementGroup |
managementGroupId, locationparameters |
Die Vorlage $schema lautet managementGroupDeploymentTemplate.json. |
Tenant |
location, parameters |
Die Vorlage $schema lautet tenantDeploymentTemplate.json. |
parameters Schlüssel entsprechen 1:1 den ARM-Vorlagenparametern. Werte sind in der Regel Ausdrücke, die die Ausgabe eines Schritts lesen.
Bei Bereitstellungen auf Ressourcengruppenebene unterstützt das öffentliche Schema Microsoft.Common.ResourceScope, und im Tutorial Erstellen von Portalformularen für Vorlagenspezifikationen wird es für die übliche Auswahl von Abonnement, Ressourcengruppe und Standort verwendet. Im folgenden Beispiel wird davon ausgegangen, dass der basics Schritt ein Microsoft.Common.ResourceScope Element mit dem Namen resourceScopeenthält. Dies ist auch die sicherste Standardeinstellung, wenn das Formular Steuerelemente (wie z. B. Microsoft.Compute.SizeSelector) enthält, die ihr Abonnement und ihren Standort aus dem Bereitstellungsbereich ableiten.
"outputs": {
"kind": "ResourceGroup",
"resourceGroupId": "[steps('basics').resourceScope.resourceGroup.id]",
"location": "[steps('basics').resourceScope.location.name]",
"parameters": {
"keyVaultName": "[steps('basics').name]",
"location": "[steps('basics').resourceScope.location.name]",
"sku": "[steps('keyvault').sku]"
}
}
Wenn ein Formular anstelle von Microsoft.Common.SubscriptionSelector eigenständige Elemente Microsoft.Common.ResourceGroupSelector, Microsoft.Common.LocationSelector und Microsoft.Common.ResourceScope verwendet, stellen Sie sicher, dass bereichsabhängige Steuerelemente über ihre Eigenschaft scope explizit an das ausgewählte Abonnement und den ausgewählten Standort gebunden sind.
Ausdrücke
Zeichenfolgen des Formulars "[ ... ]" werden als Ausdrücke ausgewertet. Die Funktionen sind derselbe Satz, der für CreateUiDefinition-Funktionen dokumentiert ist:
| Funktion | Rücklieferungen |
|---|---|
steps('<stepName>') |
Objekt, das die Ausgaben aller Steuerelemente im angegebenen Schritt enthält. |
basics('<elementName>') |
Ausgabe eines Elements im älteren Basics-Schritt (nur CreateUiDefinition). |
equals, not, and, or, if, , coalesce, empty |
Logische Hilfsfunktionen. |
concat, split, substring, indexOf, , toLower, toUpper, last, first |
String- und Array-Hilfsfunktionen. |
length, min, max, add, sub, , mul, div |
Zahlenhilfen. |
subscription(), resourceGroup()location() |
Ausgewählter Bereich. |
In einem Steuerelement können visible, defaultValue und die meisten constraints.*-Felder entweder ein Literal oder einen Ausdruck enthalten.
Localization
Benutzerorientierte Zeichenfolgen können als Literale inlineiert werden (wie in den obigen Beispielen).
Autorenwerkzeuge
Der Sandkasten der Formularansicht kann ein Standardformular aus einer ARM-Vorlage generieren und das Ergebnis in der Vorschau anzeigen. Eine vollständige Schritt-für-Schritt-Anleitung finden Sie unter Portalformulare für Vorlagenspezifikationen erstellen.
Das Schema wird veröffentlicht unter
https://schema.management.azure.com/schemas/2021-09-09/uiFormDefinition.schema.json. Um IntelliSense in Visual Studio Code zu aktivieren, fügen Sie die Schema-URL als Wert der obersten Ebene$schemain der Formulardatei hinzu:{ "$schema": "https://schema.management.azure.com/schemas/2021-09-09/uiFormDefinition.schema.json#", "view": { "kind": "Form" } }Wenn Visual Studio Code Sie auffordert, der Schema-Domäne zu vertrauen, wählen Sie Vertrauenswürdige Domänen konfigurieren und fügen Sie
https://schema.management.azure.comhinzu. Sie können sie auch später über die Befehlspalette mit Den Einstellungen hinzufügen: Konfigurieren vertrauenswürdiger Domänen.
Nächste Schritte
- Formularansichtselemente
- Erstellen von Portalformularen für Vorlagenspezifikationen
- CreateUiDefinition-Funktionen – dieselben Funktionen gelten für Formularansichtsausdrücke.