Compartir por


Artefacto de definición de vistas en Azure Managed Applications

La definición de vistas es un artefacto opcional en Azure Managed Applications. Permite personalizar la página de información general y agregar más vistas, tales como métricas y recursos personalizados.

En este artículo se proporciona una introducción al artefacto de definición de vistas y sus capacidades.

Ver definición de artefacto

El artefacto de definición de vistas debe denominarse viewDefinition.json y debe colocarse en el mismo nivel que createUiDefinition.json y mainTemplate.json en el paquete .zip que crea la definición de una aplicación administrada. Para obtener información sobre cómo crear el paquete .zip y publicar una definición de aplicación administrada, consulte Inicio rápido: Creación y publicación de una definición de aplicación administrada de Azure

Esquema de la definición de vistas

El archivo viewDefinition.json solo tiene una propiedad views de nivel superior, que es una matriz de vistas. Cada vista se muestra en la interfaz de usuario de la aplicación administrada como un elemento de menú independiente en la tabla de contenidos. Cada vista tiene una propiedad kind que establece el tipo de vista. Debe establecerse en uno de los siguientes valores: Introducción, Métricas, Recursos personalizados, Asociaciones. Para obtener más información, consulte el esquema JSON actual para viewDefinition.json.

Ejemplo de JSON para la definición de vistas:

{
  "$schema": "https://schema.management.azure.com/schemas/viewdefinition/0.0.1-preview/ViewDefinition.json#",
  "contentVersion": "0.0.0.1",
  "views": [
    {
      "kind": "Overview",
      "properties": {
        "header": "Welcome to your Azure Managed Application",
        "description": "This managed application is for demo purposes only.",
        "commands": [
          {
            "displayName": "Test Action",
            "path": "testAction"
          }
        ]
      }
    },
    {
      "kind": "Metrics",
      "properties": {
        "displayName": "This is my metrics view",
        "version": "1.0.0",
        "charts": [
          {
            "displayName": "Sample chart",
            "chartType": "Bar",
            "metrics": [
              {
                "name": "Availability",
                "aggregationType": "avg",
                "resourceTagFilter": [
                  "tag1"
                ],
                "resourceType": "Microsoft.Storage/storageAccounts",
                "namespace": "Microsoft.Storage/storageAccounts"
              }
            ]
          }
        ]
      }
    },
    {
      "kind": "CustomResources",
      "properties": {
        "displayName": "Test custom resource type",
        "version": "1.0.0",
        "resourceType": "testCustomResource",
        "createUIDefinition": {},
        "commands": [
          {
            "displayName": "Custom Context Action",
            "path": "testCustomResource/testContextAction",
            "icon": "Stop",
            "createUIDefinition": {}
          }
        ],
        "columns": [
          {
            "key": "name",
            "displayName": "Name"
          },
          {
            "key": "properties.myProperty1",
            "displayName": "Property 1"
          },
          {
            "key": "properties.myProperty2",
            "displayName": "Property 2",
            "optional": true
          }
        ]
      }
    },
    {
      "kind": "Associations",
      "properties": {
        "displayName": "Test association resource type",
        "version": "1.0.0",
        "targetResourceType": "Microsoft.Compute/virtualMachines",
        "createUIDefinition": {}
      }
    }
  ]
}

Información general

"kind": "Overview"

Cuando proporciona esta vista en viewDefinition.json, esta reemplaza la página de introducción predeterminada en la aplicación administrada.

{
  "kind": "Overview",
  "properties": {
    "header": "Welcome to your Azure Managed Application",
    "description": "This managed application is for demo purposes only.",
    "commands": [
      {
        "displayName": "Test Action",
        "path": "testAction"
      }
    ]
  }
}
Propiedad Obligatorio Descripción
header No El encabezado de la página de introducción.
description No La descripción de la aplicación administrada.
commands No La matriz de botones adicionales de la barra de herramientas de la página de información general; vea comandos.

Captura de pantalla que muestra la información general de una aplicación administrada con un control de acción de prueba para ejecutar una aplicación de demostración.

Métricas

"kind": "Metrics"

La vista de métricas le permite recopilar y agregar datos de los recursos de la aplicación administrada a las métricas de Azure Monitor.

{
  "kind": "Metrics",
  "properties": {
    "displayName": "This is my metrics view",
    "version": "1.0.0",
    "charts": [
      {
        "displayName": "Sample chart",
        "chartType": "Bar",
        "metrics": [
          {
            "name": "Availability",
            "aggregationType": "avg",
            "resourceTagFilter": [
              "tag1"
            ],
            "resourceType": "Microsoft.Storage/storageAccounts",
            "namespace": "Microsoft.Storage/storageAccounts"
          }
        ]
      }
    ]
  }
}
Propiedad Obligatorio Descripción
displayName No El título de visualización de la vista.
version No La versión de la plataforma utilizada para representar la vista.
charts La matriz de los gráficos de la página de métricas.

Gráfico

Propiedad Obligatorio Descripción
displayName El título de visualización del gráfico.
chartType No La visualización que se utilizará para este gráfico. De forma predeterminada, se utiliza un gráfico de líneas. Tipos de gráficos compatibles: Bar, Line, Area, Scatter.
metrics La matriz de métricas que se trazarán en el gráfico. Para obtener más información acerca de las métricas compatibles con Azure Portal, consulte Métricas compatibles con Azure Monitor.

Métrica

Propiedad Obligatorio Descripción
name El nombre de la métrica.
aggregationType El tipo de agregación que se usará para esta métrica. Tipos de agregación compatibles: none, sum, min, max, avg, unique, percentile, count.
namespace No Más información que se usará al determinar el proveedor de métricas adecuado.
resourceTagFilter No La matriz de etiquetas de recursos se separa con una palabra or para la que se mostrarán las métricas. Se aplica encima del filtro de tipo de recurso.
resourceType El tipo de recurso para el que se mostrarán métricas.

Captura de pantalla que muestra una página de supervisión denominada This is my metrics view (Esta es mi vista de métricas) para una aplicación administrada.

Recursos personalizados

"kind": "CustomResources"

Puede definir varias vistas de este tipo. Cada vista representa un único tipo de recurso personalizado del proveedor personalizado que ha definido en mainTemplate.json. Para consultar una introducción a los proveedores de recursos, vea la introducción a los proveedores personalizados de Azure en versión preliminar.

En esta vista, puede realizar operaciones GET, PUT, DELETE y POST para el tipo de recurso personalizado. Las operaciones POST podrían ser acciones personalizadas globales o acciones personalizadas en un contexto del tipo de recurso personalizado.

{
  "kind": "CustomResources",
  "properties": {
    "displayName": "Test custom resource type",
    "version": "1.0.0",
    "resourceType": "testCustomResource",
    "icon": "Polychromatic.ResourceList",
    "createUIDefinition": {},
    "commands": [
      {
        "displayName": "Custom Context Action",
        "path": "testCustomResource/testContextAction",
        "icon": "Stop",
        "createUIDefinition": {},
      }
    ],
    "columns": [
      {
        "key": "name",
        "displayName": "Name"
      },
      {
        "key": "properties.myProperty1",
        "displayName": "Property 1"
      },
      {
        "key": "properties.myProperty2",
        "displayName": "Property 2",
        "optional": true
      }
    ]
  }
}
Propiedad Obligatorio Descripción
displayName El título de visualización de la vista. El título debe ser único para cada vista CustomResources en su viewDefinition.json.
version No La versión de la plataforma utilizada para representar la vista.
resourceType El tipo de recurso personalizado. Debe ser un tipo de recurso personalizado único del proveedor personalizado.
icon No Icono de la vista. La lista de iconos de ejemplo se define en el esquema JSON.
createUIDefinition No Esquema de creación de definiciones de interfaz de usuario para crear el comando de recurso personalizado. Para ver una introducción sobre la creación de definiciones de interfaz de usuario, consulte Introducción a CreateUiDefinition.
commands No La matriz de botones adicionales de la barra de herramientas de la vista CustomResources; vea comandos.
columns No La matriz de columnas del recurso personalizado. Si no se ha definido, se mostrará la columna name de forma predeterminada. La columna debe tener "key" y "displayName". Para la clave, proporcione la clave de la propiedad que se va a mostrar en una vista. Si es anidada, utilice el punto como delimitador, por ejemplo, "key": "name" o "key": "properties.property1". Como nombre para mostrar, proporcione el nombre de la propiedad que se mostrará en una vista. También puede proporcionar una propiedad "optional". Si se establece en true, la columna se oculta en una vista de forma predeterminada.

Captura de pantalla que muestra una página de recursos llamada Test custom resource type (Tipo de recurso personalizado de prueba) y el control Custom Context Action (Acción de contexto personalizado).

Comandos

La propiedad commands es una matriz de botones adicionales de la barra de herramientas que se muestran en la página. Cada comando representa una acción POST del proveedor personalizado de Azure definida en mainTemplate.json. Para ver una introducción a los proveedores personalizados, consulte la información general sobre proveedores personalizados de Azure.

{
  "commands": [
    {
      "displayName": "Start Test Action",
      "path": "testAction",
      "icon": "Start",
      "createUIDefinition": {}
    },
  ]
}
Propiedad Obligatorio Descripción
displayName El nombre para mostrar del botón de comando.
path Debe ser un nombre de la acción del proveedor personalizado. La acción debe estar definida en mainTemplate.json.

No acepta valores dinámicos como un URI que se genera desde mainTemplate.json.
icon No El icono del botón de comando. La lista de iconos de ejemplo se define en el esquema JSON.
createUIDefinition No Esquema de creación de definiciones de interfaz de usuario del comando. Para ver una introducción sobre la creación de definiciones de interfaz de usuario, consulte Introducción a CreateUiDefinition.

Asociaciones

"kind": "Associations"

Puede definir varias vistas de este tipo. Esta vista permite vincular recursos existentes a la aplicación administrada a través del proveedor personalizado definido en mainTemplate.json. Para consultar una introducción a los proveedores de recursos, vea la introducción a los proveedores personalizados de Azure en versión preliminar.

En esta vista puede extender recursos de Azure existentes en función de targetResourceType. Cuando se selecciona un recurso, se crea una solicitud de incorporación al proveedor personalizado público, lo que puede aplicar un efecto secundario al recurso.

{
  "kind": "Associations",
  "properties": {
    "displayName": "Test association resource type",
    "version": "1.0.0",
    "targetResourceType": "Microsoft.Compute/virtualMachines",
    "createUIDefinition": {}
  }
}
Propiedad Obligatorio Descripción
displayName El título de visualización de la vista. El título debe ser único para cada vista Asociaciones de viewDefinition.json.
version No La versión de la plataforma utilizada para representar la vista.
targetResourceType Tipo de recurso de destino. Este tipo de recurso se va a mostrar para la incorporación de recursos.
createUIDefinition No Esquema de creación de definiciones de interfaz de usuario para crear el comando de recurso de asociación. Para ver una introducción sobre la creación de definiciones de interfaz de usuario, consulte Introducción a CreateUiDefinition.

¿Busca ayuda?

Si tiene alguna pregunta o necesita una respuesta sobre Azure Managed Applications, pregunte en Stack Overflow. Use la etiqueta azure-managed-app cuando publique una pregunta.

Pasos siguientes