Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Una vista de formulario es la descripción JSON de una experiencia de creación del portal de Azure. El portal de Azure representa el formulario en tiempo de ejecución desde json; no hay ningún código de cliente que escribir. Las vistas de formulario usan el formato uiFormDefinition.json y son utilizadas por los formularios del portal de especificaciones de plantillas. Azure Managed Applications usan el formato independiente createUiDefinition.json.
El archivo mínimo tiene este aspecto:
{
"$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": {}
}
}
}
Una vista de formulario siempre tiene:
| Campo | Obligatorio | Description |
|---|---|---|
$schema |
Recomendado | Ancle el esquema 2021-09-09/uiFormDefinition.schema.json para IntelliSense. |
view.kind |
Yes | Debe ser "Form". |
view.properties.title |
Yes | Título de la página que se muestra encima del formulario. |
view.properties.steps |
Yes | Uno o varios pasos (pestañas). Consulte Pasos. |
view.outputs |
Sí (al implementar) | Contexto de implementación: qué suscripción, grupo de recursos, grupo de administración o inquilino tiene como destino la implementación y los valores de parámetro de plantilla de Azure Resource Manager. Consulte Salidas. |
Steps
steps es una matriz ordenada. Cada paso se representa como una pestaña. El usuario se mueve entre los pasos con Siguiente y Anterior.
"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."
}
}
]
}
]
Cada paso tiene:
| Campo | Obligatorio | Description |
|---|---|---|
name |
Yes | Id. del paso. Haga referencia a ella desde expresiones como steps('<name>'). |
label |
Yes | Título de la pestaña. |
description |
No | Descripción opcional representada en el título de la pestaña. |
elements |
Yes | Matriz de controles de formulario. Consulte Elementos de la vista de formulario. |
Agrupa los campos relacionados con Microsoft.Common.Section en lugar de sobrecargar un paso. Las secciones no se pueden anidar.
Salidas (el contexto de implementación)
Cuando se usa una vista Formulario para implementar una plantilla de Azure Resource Manager (el caso común), view.outputs es el contexto de implementación. El portal lo usa para averiguar dónde implementar y qué valores de parámetro se van a pasar a la plantilla. Se admiten cuatro kind valores:
kind |
Campos obligatorios | Se usa cuando |
|---|---|---|
ResourceGroup |
resourceGroupId, , location, parameters |
La mayoría de los recursos. Se implementa en un grupo de recursos. |
Subscription |
subscriptionId, , location, parameters |
El $schema de la plantilla es subscriptionDeploymentTemplate.json. |
ManagementGroup |
managementGroupId, , location, parameters |
El $schema de la plantilla es managementGroupDeploymentTemplate.json. |
Tenant |
location, parameters |
El $schema de la plantilla es tenantDeploymentTemplate.json. |
parameters las claves se corresponden 1:1 con los parámetros de la plantilla de ARM. Los valores suelen ser expresiones que leen la salida de un paso.
En el caso de las implementaciones de grupos de recursos, el esquema público admite Microsoft.Common.ResourceScopey el tutorial Creación de formularios del portal para las especificaciones de plantilla lo usa para el flujo de selección de suscripción, grupo de recursos y ubicación comunes. En el ejemplo siguiente se supone que el basics paso contiene un Microsoft.Common.ResourceScope elemento denominado resourceScope. Este es también el valor predeterminado más seguro cuando el formulario incluye controles (como Microsoft.Compute.SizeSelector) que deducen su suscripción y ubicación desde el ámbito de implementación.
"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]"
}
}
Si un formulario usa elementos independientes Microsoft.Common.SubscriptionSelector, Microsoft.Common.ResourceGroupSelector y Microsoft.Common.LocationSelector en lugar de Microsoft.Common.ResourceScope, asegúrese de que los controles con reconocimiento de ámbito estén vinculados explícitamente a la suscripción y la ubicación seleccionadas a través de su propiedad scope.
Expressions
Las cadenas del formulario "[ ... ]" se evalúan como expresiones. Las funciones son el mismo conjunto documentado para las funciones CreateUiDefinition:
| Function | Devoluciones |
|---|---|
steps('<stepName>') |
Objeto que contiene todas las salidas de control en el paso con nombre. |
basics('<elementName>') |
Salida de un elemento del paso heredado Aspectos básicos (solo para CreateUiDefinition). |
equals, not, and, or, if, , coalesceempty |
Asistentes lógicos. |
concat, split, substring, indexOf, toLower, toUpper, , lastfirst |
Asistentes de cadena y matriz. |
length, min, max, add, sub, , muldiv |
Asistentes numéricos. |
subscription(), , resourceGroup(), location() |
Ámbito seleccionado. |
Dentro de un control, visible, defaultValue y la mayoría de los campos constraints.* aceptan un valor literal o una expresión.
Localization
Las cadenas orientadas al usuario se pueden insertar como literales (como en los ejemplos anteriores).
Herramientas de autoría
El entorno de pruebas de la vista Formulario puede generar un formulario predeterminado a partir de una plantilla ARM y previsualizar el resultado. Consulte Creación de formularios de portal para las especificaciones de plantilla para ver un tutorial completo.
El esquema se publica en
https://schema.management.azure.com/schemas/2021-09-09/uiFormDefinition.schema.json. Para habilitar IntelliSense en Visual Studio Code, agregue la dirección URL del esquema como valor de nivel$schemasuperior en el archivo de formulario:{ "$schema": "https://schema.management.azure.com/schemas/2021-09-09/uiFormDefinition.schema.json#", "view": { "kind": "Form" } }Si Visual Studio Code le pide que confíe en el dominio de esquema, elija Configurar dominios de confianza y agregue
https://schema.management.azure.com. También puede agregarlo más adelante desde la paleta de comandos con Preferencias: Configurar dominios de confianza.
Pasos siguientes
- Elementos de la vista de formulario
- Creación de formularios de portal para especificaciones de plantilla
- Funciones CreateUiDefinition — las mismas funciones se aplican a las expresiones de la vista Formulario.