Partilhar via


Exibir artefato de definição em Aplicativos Gerenciados do Azure

A definição de exibição é um artefato opcional nos Aplicativos Gerenciados do Azure. Ele permite que você personalize a página de visão geral e adicione mais visualizações, como métricas e recursos personalizados.

Este artigo fornece uma visão geral do artefato de definição de exibição e seus recursos.

Artefacto de definição de vista

O artefato de definição de exibição deve ser nomeado viewDefinition.json e colocado no mesmo nível que createUiDefinition.json e mainTemplate.json no pacote de .zip que cria uma definição de aplicativo gerenciado. Para saber como criar o pacote de .zip e publicar uma definição de aplicativo gerenciado, consulte Guia de início rápido: criar e publicar uma definição de aplicativo gerenciado do Azure

Ver esquema de definição

O arquivo viewDefinition.json tem apenas uma propriedade de nível views superior, que é uma matriz de exibições. Cada exibição é mostrada na interface do usuário do aplicativo gerenciado como um item de menu separado no sumário. Cada modo de exibição tem uma kind propriedade que define o tipo de exibição. Ele deve ser definido como um dos seguintes valores: Visão geral, Métricas, Recursos personalizados, Associações. Para obter mais informações, consulte Esquema JSON atual para viewDefinition.json.

Exemplo de JSON para definição de exibição:

{
  "$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 você fornece esse modo de exibição no viewDefinition.json, ele substitui a página Visão geral padrão em seu aplicativo gerenciado.

{
  "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"
      }
    ]
  }
}
Property Necessário Description
header Não O cabeçalho da página de visão geral.
description Não A descrição do seu aplicativo gerenciado.
commands Não A matriz de mais botões da barra de ferramentas da página de visão geral, consulte comandos.

A captura de tela mostra a Visão geral de um aplicativo gerenciado com um controle Test Action para executar um aplicativo de demonstração.

Métricas

"kind": "Metrics"

A vista de métricas permite-lhe recolher e agregar dados dos recursos da sua aplicação gerida no Azure Monitor Metrics.

{
  "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"
          }
        ]
      }
    ]
  }
}
Property Necessário Description
displayName Não O título exibido da exibição.
version Não A versão da plataforma usada para renderizar a exibição.
charts Sim A matriz de gráficos da página de métricas.

Gráfico

Property Necessário Descrição
displayName Sim O título exibido do gráfico.
chartType Não A visualização a ser usada para este gráfico. Por padrão, ele usa um gráfico de linhas. Tipos de gráficos suportados: Bar, Line, Area, Scatter.
metrics Sim A matriz de métricas para plotar neste gráfico. Para saber mais sobre as métricas suportadas no portal do Azure, consulte Métricas suportadas com o Azure Monitor.

Métrica

Property Necessário Descrição
name Sim O nome da métrica.
aggregationType Sim O tipo de agregação a ser usado para essa métrica. Tipos de agregação suportados: none, sum, min, max, avg, unique, percentile, count
namespace Não Mais informações para usar ao determinar o provedor de métricas correto.
resourceTagFilter Não A matriz de tags de recursos é separada por uma or palavra para a qual as métricas seriam exibidas. Aplica-se sobre o filtro de tipo de recurso.
resourceType Sim O tipo de recurso para o qual as métricas seriam exibidas.

A captura de tela mostra uma página de monitoramento chamada Esta é a minha visualização de métricas para um aplicativo gerenciado.

Recursos personalizados

"kind": "CustomResources"

Você pode definir várias visualizações desse tipo. Cada modo de exibição representa um tipo de recurso personalizado exclusivo do provedor personalizado que você definiu no mainTemplate.json. Para obter uma introdução aos provedores personalizados, consulte Visão geral do Azure Custom Providers Preview.

Nessa exibição, você pode executar operações GET, PUT, DELETE e POST para seu tipo de recurso personalizado. As operações POST podem ser ações personalizadas globais ou ações personalizadas em um 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
      }
    ]
  }
}
Property Necessário Descrição
displayName Sim O título exibido da exibição. O título deve ser exclusivo para cada visualização de Recursos Personalizados em seu viewDefinition.json.
version Não A versão da plataforma usada para renderizar a exibição.
resourceType Sim O tipo de recurso personalizado. Deve ser um tipo de recurso personalizado exclusivo do seu provedor personalizado.
icon Não O ícone da vista. A lista de ícones de exemplo é definida no esquema JSON.
createUIDefinition Não Crie um esquema de definição de interface do usuário para criar um comando de recurso personalizado. Para obter uma introdução à criação de definições de interface do usuário, consulte Introdução a CreateUiDefinition.
commands Não A matriz de mais botões da barra de ferramentas da visualização CustomResources, consulte comandos.
columns Não A matriz de colunas do recurso personalizado. Se não estiver definida, a coluna será mostrada name por padrão. A coluna deve ter "key" e "displayName". Para chave, forneça a chave da propriedade a ser exibida em uma exibição. Se aninhado, use ponto como delimitador, por exemplo, "key": "name" ou "key": "properties.property1". Para nome para exibição, forneça o nome para exibição da propriedade a ser exibida em um modo de exibição. Você também pode fornecer uma "optional" propriedade. Quando definida como true, a coluna fica oculta em um modo de exibição por padrão.

A captura de tela mostra uma página Recursos chamada Testar tipo de recurso personalizado e o controle Ação de contexto personalizada.

Comandos

A commands propriedade é uma matriz de mais botões da barra de ferramentas que são exibidos na página. Cada comando representa uma ação POST do seu Provedor Personalizado do Azure definido em mainTemplate.json. Para obter uma introdução aos provedores personalizados, consulte Visão geral dos Provedores Personalizados do Azure.

{
  "commands": [
    {
      "displayName": "Start Test Action",
      "path": "testAction",
      "icon": "Start",
      "createUIDefinition": {}
    },
  ]
}
Property Necessário Descrição
displayName Sim O nome exibido do botão de comando.
path Sim Deve ser um nome de ação de provedor personalizado. A ação deve ser definida em mainTemplate.json.

Não aceita valores dinâmicos como um URI que é saída de mainTemplate.json.
icon Não O ícone do botão de comando. A lista de ícones de exemplo é definida no esquema JSON.
createUIDefinition Não Crie um esquema de definição de interface do usuário para o comando. Para obter uma introdução à criação de definições de interface do usuário, consulte Introdução a CreateUiDefinition.

Associações

"kind": "Associations"

Você pode definir várias visualizações desse tipo. Essa exibição permite vincular recursos existentes ao aplicativo gerenciado por meio do provedor personalizado definido no mainTemplate.json. Para obter uma introdução aos provedores personalizados, consulte Visão geral do Azure Custom Providers Preview.

Nessa exibição, você pode estender os recursos existentes do Azure com base no targetResourceType. Quando um recurso é selecionado, ele cria uma solicitação de integração para o provedor 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": {}
  }
}
Property Necessário Descrição
displayName Sim O título exibido da exibição. O título deve ser exclusivo para cada visualização de Associações em seu viewDefinition.json.
version Não A versão da plataforma usada para renderizar a exibição.
targetResourceType Sim O tipo de recurso de destino. Esse tipo de recurso é exibido para integração de recursos.
createUIDefinition Não Crie um esquema de definição de interface do usuário para o comando create association resource. Para obter uma introdução à criação de definições de interface do usuário, consulte Introdução a CreateUiDefinition.

À procura de ajuda

Se você tiver dúvidas ou precisar de uma resposta sobre os Aplicativos Gerenciados do Azure, tente perguntar no Estouro de Pilha. Use a tag azure-managed-app quando postar uma pergunta.

Próximos passos