Artefato de definição de exibição nos Aplicativos Gerenciados do Azure
A definição de exibição é um artefato opcional nos Aplicativos Gerenciados do Azure. Ela permite que você personalize a página de visão geral e adicione mais exibições, como Métricas e Recursos personalizados.
Este artigo fornece uma visão geral do artefato de definição de exibição e recursos relacionados.
Exibir artefato de definição
O artefato da definição de exibição deve ser nomeado como viewDefinition.json e colocado no mesmo nível que createUiDefinition.json e mainTemplate.json no pacote .zip que cria uma definição de aplicativo gerenciado. Para saber como criar o pacote .zip e publicar uma definição de aplicativo gerenciado, confira Início Rápido: criar e publicar uma definição de aplicativo gerenciado do Azure
Esquema da definição de exibição
O arquivo viewDefinition.json tem apenas uma propriedade views
de nível 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 exibição tem uma propriedade kind
que define o tipo da exibição. Ela deve ser definida como um dos seguintes valores: Overview, Metrics, CustomResources, Associations. Para obter mais informações, confira o atual Esquema JSON 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": {}
}
}
]
}
Visão geral
"kind": "Overview"
Quando você fornece essa exibição no viewDefinition.json, ela substitui a página de visão geral padrão no 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"
}
]
}
}
Propriedade | Obrigatório | Descrição |
---|---|---|
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 botões adicionais da barra de ferramentas da página de visão geral, confira comandos. |
Métricas
"kind": "Metrics"
A exibição de métricas permite coletar e agregar dados dos seus recursos de aplicativo gerenciado em 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 | Obrigatório | Descrição |
---|---|---|
displayName |
Não | O título mostrado 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
Propriedade | Obrigatório | Descrição |
---|---|---|
displayName |
Sim | O título mostrado do gráfico. |
chartType |
Não | A visualização a ser usada para esse gráfico. Por padrão, ela usa um gráfico de linhas. Tipos de gráfico compatíveis: Bar, Line, Area, Scatter . |
metrics |
Sim | A matriz de métricas a ser plotada nesse gráfico. Para saber mais sobre as métricas com suporte no portal do Azure, confira Métricas com suporte do Azure Monitor. |
Metric
Propriedade | Obrigató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 com suporte: none, sum, min, max, avg, unique, percentile, count |
namespace |
Não | Informações adicionais a serem usadas ao determinar o provedor de métricas correto. |
resourceTagFilter |
Não | A matriz de marcas de recurso é separada por uma palavra or para a qual as métricas seriam exibidas. Aplica-se na parte superior do filtro de tipo de recurso. |
resourceType |
Sim | O tipo de recurso para o qual as métricas seriam exibidas. |
Recursos personalizados
"kind": "CustomResources"
Você pode definir várias exibições desse tipo. Cada exibição representa um tipo de recurso personalizado e exclusivo do provedor personalizado que você definiu no mainTemplate.json. Para obter uma introdução aos provedores personalizados, confira Visão geral da Visualização de Provedores Personalizados do Azure.
Nessa exibição, você pode executar 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 em um contexto de 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 | Obrigatório | Descrição |
---|---|---|
displayName |
Sim | O título mostrado da exibição. O título deve ser exclusivo para cada exibição de CustomResources no 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 e exclusivo do seu provedor personalizado. |
icon |
Não | O ícone da exibição. A lista de exemplos de ícones é definida no esquema JSON. |
createUIDefinition |
Não | Crie um esquema de definição de interface do usuário para o comando criar recurso personalizado. Para obter uma introdução à criação de definições de interface do usuário, consulte Introdução ao CreateUiDefinition. |
commands |
Não | A matriz de botões adicionais da barra de ferramentas da exibição CustomResources. Confira comandos. |
columns |
Não | A matriz de colunas do recurso personalizado. Se não estiver definida, a coluna name é mostrada por padrão. A coluna deve ter "key" e "displayName" . Para key, forneça a chave da propriedade a ser exibida em uma exibição. Se estiver aninhada, use um ponto como delimitador, por exemplo, "key": "name" ou "key": "properties.property1" . Para nome de exibição, forneça o nome de exibição da propriedade a ser mostrada em uma exibição. Você também pode fornecer uma propriedade "optional" . Quando definida como true, a coluna é oculta em uma exibição por padrão. |
Comandos
A propriedade commands
é uma matriz de botões adicionais da barra de ferramentas exibidos na página. Cada comando representa uma ação POST de seu provedor personalizado do Azure definido no mainTemplate.json. Para obter uma introdução aos provedores personalizados, confira Visão geral dos Provedores Personalizados do Azure.
{
"commands": [
{
"displayName": "Start Test Action",
"path": "testAction",
"icon": "Start",
"createUIDefinition": {}
},
]
}
Propriedade | Obrigatório | Descrição |
---|---|---|
displayName |
Sim | O nome exibido do botão de comando. |
path |
Sim | Deve ser um nome de ação do provedor personalizado. A ação deve ser definida no 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 exemplos de ícones é definida no esquema JSON. |
createUIDefinition |
Não | Crie o esquema de definição da 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 ao CreateUiDefinition. |
Associações
"kind": "Associations"
Você pode definir várias exibições desse tipo. Essa exibição permite vincular recursos existentes ao aplicativo gerenciado por meio do provedor personalizado que você definiu no mainTemplate.json. Para obter uma introdução aos provedores personalizados, confira Visão geral da Visualização de Provedores Personalizados do Azure.
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 ao 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": {}
}
}
Propriedade | Obrigatório | Descrição |
---|---|---|
displayName |
Sim | O título mostrado da exibição. O título deve ser exclusivo para cada exibição de Associations no 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 a integração de recursos. |
createUIDefinition |
Não | Crie um esquema de definição de interface do usuário para o comando criar recurso de associação. Para obter uma introdução à criação de definições de interface do usuário, consulte Introdução ao CreateUiDefinition. |
Procurando ajuda
Se você tiver dúvidas ou precisar de uma resposta sobre os Aplicativos Gerenciados do Azure, tente perguntar no Stack Overflow. Use a marca azure-managed-app
ao postar uma pergunta.
Próximas etapas
- Para obter uma introdução aos aplicativos gerenciados, consulte Visão geral de aplicativos gerenciados do Azure.
- Para obter uma introdução aos provedores personalizados, confira Visão geral dos Provedores Personalizados do Azure.
- Para criar um aplicativo gerenciado do Azure com provedores personalizados do Azure, confira Tutorial: criar um aplicativo gerenciado com ações de provedor personalizado e tipos de recursos