Ver o artefacto de definição nas Aplicações Geridas do Azure

A definição de vista é um artefacto opcional nas Aplicações Geridas do Azure. Permite-lhe personalizar a página de descrição geral e adicionar mais vistas, como Métricas e Recursos personalizados.

Este artigo fornece uma descrição geral do artefacto de definição de vista e das suas capacidades.

Artefacto de definição de vista

O artefacto de definição de vista tem de ter o nome viewDefinition.json e colocado ao mesmo nível que createUiDefinition.json e mainTemplate.json no pacote de.zip que cria uma definição de aplicação gerida. Para saber como criar o pacote de.zip e publicar uma definição de aplicação gerida, veja Publicar uma definição de Aplicação Gerida do Azure

Ver esquema de definição

O ficheiro viewDefinition.json tem apenas uma propriedade de nível views superior, que é uma matriz de vistas. Cada vista é apresentada na interface de utilizador da aplicação gerida como um item de menu separado no índice. Cada vista tem uma kind propriedade que define o tipo da vista. Tem de ser definido para um dos seguintes valores: Descrição geral, Métricas, CustomResources, Associações. Para obter mais informações, veja o esquema JSON atual para viewDefinition.json.

JSON de exemplo para a definição de vista:

{
  "$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": {}
      }
    }
  ]
}

Descrição Geral

"kind": "Overview"

Quando fornece esta vista em viewDefinition.json, esta substitui a página Descrição Geral predefinida na sua aplicação gerida.

{
  "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"
      }
    ]
  }
}
Propriedade Necessário Descrição
cabeçalho No O cabeçalho da página de descrição geral.
descrição No A descrição da sua aplicação gerida.
comandos No A matriz de mais botões da barra de ferramentas da página de descrição geral, veja comandos.

Captura de ecrã a mostrar a Descrição geral de uma aplicação gerida com um controlo Ação de Teste para executar uma aplicação de demonstração.

Métricas

"kind": "Metrics"

A vista de métricas permite-lhe recolher e agregar dados dos recursos da aplicação gerida nas Métricas do 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"
          }
        ]
      }
    ]
  }
}
Propriedade Necessário Descrição
displayName No O título apresentado da vista.
versão No A versão da plataforma utilizada para compor a vista.
charts Yes A matriz de gráficos da página de métricas.

Gráfico

Propriedade Necessário Descrição
displayName Yes O título apresentado do gráfico.
chartType No A visualização a utilizar para este gráfico. Por predefinição, utiliza um gráfico de linhas. Tipos de gráfico suportados: Bar, Line, Area, Scatter.
metrics Yes A matriz de métricas a desenhar neste gráfico. Para saber mais sobre as métricas suportadas no portal do Azure, veja Métricas suportadas com o Azure Monitor

Metric

Propriedade Necessário Descrição
name Yes O nome da métrica.
aggregationType Yes O tipo de agregação a utilizar para esta métrica. Tipos de agregação suportados: none, sum, min, max, avg, unique, percentile, count
espaço de nomes No Mais informações a utilizar ao determinar o fornecedor de métricas correto.
resourceTagFilter No A matriz de etiquetas de recursos (será separada por or palavra) para a qual as métricas seriam apresentadas. Aplica-se sobre o filtro de tipo de recurso.
resourceType Yes O tipo de recurso para o qual as métricas seriam apresentadas.

Captura de ecrã a mostrar uma página de Monitorização denominada Esta é a minha vista de métricas para uma aplicação gerida.

Recursos personalizados

"kind": "CustomResources"

Pode definir várias vistas deste tipo. Cada vista representa um tipo de recurso personalizado exclusivo do fornecedor personalizado que definiu em mainTemplate.json. Para obter uma introdução aos fornecedores personalizados, veja Descrição geral da Pré-visualização de Fornecedores Personalizados do Azure.

Nesta vista, pode realizar operações GET, PUT, DELETE e POST para o seu tipo de recurso personalizado. As operações POST podem ser ações personalizadas globais ou ações personalizadas num contexto do seu 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
      }
    ]
  }
}
Propriedade Necessário Descrição
displayName Yes O título apresentado da vista. O título deve ser exclusivo para cada vista CustomResources na vistaDefinition.json.
versão No A versão da plataforma utilizada para compor a vista.
resourceType Yes O tipo de recurso personalizado. Tem de ser um tipo de recurso personalizado exclusivo do seu fornecedor personalizado.
ícone No O ícone da vista. A lista de ícones de exemplo é definida no Esquema JSON.
createUIDefinition No Crie um esquema de Definição de IU para criar um comando de recurso personalizado. Para obter uma introdução à criação de definições de IU, veja Introdução à CreateUiDefinition
comandos No A matriz de mais botões da barra de ferramentas da vista CustomResources, veja comandos.
colunas No A matriz de colunas do recurso personalizado. Se não estiver definida, a name coluna será apresentada por predefinição. A coluna tem de ter "key" e "displayName". Para chave, forneça a chave da propriedade a apresentar numa vista. Se estiver aninhado, utilize o ponto como delimitador, por exemplo, "key": "name" ou "key": "properties.property1". Para o nome a apresentar, indique o nome a apresentar da propriedade a apresentar numa vista. Também pode fornecer uma "optional" propriedade. Quando definida como verdadeira, a coluna é ocultada numa vista por predefinição.

Captura de ecrã a mostrar uma página recursos denominada Testar tipo de recurso personalizado e o controlo Ação de Contexto Personalizado.

Comandos

A commands propriedade é uma matriz de mais botões de barra de ferramentas que são apresentados na página. Cada comando representa uma ação POST do Fornecedor Personalizado do Azure definida em mainTemplate.json. Para obter uma introdução aos fornecedores personalizados, veja Descrição geral dos Fornecedores Personalizados do Azure.

{
  "commands": [
    {
      "displayName": "Start Test Action",
      "path": "testAction",
      "icon": "Start",
      "createUIDefinition": {}
    },
  ]
}
Propriedade Necessário Descrição
displayName Yes O nome apresentado do botão de comando.
caminho Yes Tem de ser um nome de ação de fornecedor personalizado. A ação tem de ser definida em mainTemplate.json.

Não aceita valores dinâmicos, como um URI que é o resultado de mainTemplate.json.
ícone No O ícone do botão de comando. A lista de ícones de exemplo é definida no Esquema JSON.
createUIDefinition No Crie um esquema de Definição de IU para o comando. Para obter uma introdução à criação de definições de IU, veja Introdução à CreateUiDefinition.

Associações

"kind": "Associations"

Pode definir várias vistas deste tipo. Esta vista permite-lhe ligar recursos existentes à aplicação gerida através do fornecedor personalizado que definiu em mainTemplate.json. Para obter uma introdução aos fornecedores personalizados, veja Descrição geral da Pré-visualização de Fornecedores Personalizados do Azure.

Nesta vista, pode expandir os recursos existentes do Azure com base no targetResourceType. Quando um recurso é selecionado, irá criar um pedido de inclusão para o fornecedor personalizado público , que pode aplicar um efeito colateral ao recurso.

{
  "kind": "Associations",
  "properties": {
    "displayName": "Test association resource type",
    "version": "1.0.0",
    "targetResourceType": "Microsoft.Compute/virtualMachines",
    "createUIDefinition": {}
  }
}
Propriedade Necessário Descrição
displayName Yes O título apresentado da vista. O título deve ser exclusivo para cada vista de Associações na vistaDefinition.json.
versão No A versão da plataforma utilizada para compor a vista.
targetResourceType Yes O tipo de recurso de destino. Este tipo de recurso será apresentado para integração de recursos.
createUIDefinition No Crie um esquema de Definição de IU para criar o comando de recurso de associação. Para obter uma introdução à criação de definições de IU, veja Introdução à CreateUiDefinition

À procura de ajuda

Se tiver dúvidas sobre as Aplicações Geridas do Azure, experimente perguntar no Stack Overflow. Uma pergunta semelhante pode já ter sido feita e respondida, por isso, verifique primeiro antes de publicar. Adicione a etiqueta azure-managed-app para obter uma resposta rápida!

Passos seguintes