Артефакт определения представления в управляемых приложениях Azure
Определение представления является необязательным артефактом в управляемых приложениях Azure. Оно позволяет настраивать страницу общих сведений и добавлять дополнительные представления, например "Метрики" или "Настраиваемые ресурсы".
В этой статье представлены общие сведения об артефакте определения представления и его возможностях.
Просмотр артефакта определения
Артефакт определения представления должен иметь имя viewDefinition.json и размещаться на том же уровне, что и файлы createUiDefinition.json и mainTemplate.json в ZIP-файле с пакетом, который создает определение управляемого приложения. Сведения о создании пакета .zip и публикации определения управляемого приложения см. в кратком руководстве по созданию и публикации определения управляемого приложения Azure.
Схема определения представления
Файл viewDefinition.json содержит только одно свойство верхнего уровня views
, являющееся массивом представлений. Каждое представление отображается в пользовательском интерфейсе управляемого приложения как отдельный пункт меню в содержании. Каждое представление обладает свойством kind
, которое задает тип представления. Для него необходимо задать одно из следующих значений: Overview (обзор), Metrics(метрики), CustomResources (настраиваемые ресурсы), Associations (связи). Дополнительные сведения см. в текущей схеме JSON для viewDefinition.json.
Пример JSON для определения представления:
{
"$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": {}
}
}
]
}
Обзор
"kind": "Overview"
Это представление, предоставленное в viewDefinition.json, переопределяет страницу "Обзор" по умолчанию в управляемом приложении.
{
"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"
}
]
}
}
Свойство | Обязательное поле | Описание |
---|---|---|
header |
No | Заголовок страницы обзора. |
description |
No | Описание управляемого приложения. |
commands |
No | Массив дополнительных кнопок на панели инструментов на странице обзора. Подробнее см. в документации по командам. |
Метрики
"kind": "Metrics"
Представление метрик позволяет собирать и объединять данные из ресурсов управляемых приложений в Метрики 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"
}
]
}
]
}
}
Свойство | Обязательное поле | Описание |
---|---|---|
displayName |
No | Отображаемое название представления. |
version |
No | Версия платформы, используемая для визуализации представления. |
charts |
Да | Массив диаграмм страницы метрик. |
Диаграмма
Свойство | Обязательное поле | Описание: |
---|---|---|
displayName |
Да | Отображаемое название диаграммы. |
chartType |
No | Визуализация, используемая для этой диаграммы. По умолчанию используется график. Поддерживаемые типы диаграмм: Bar, Line, Area, Scatter . |
metrics |
Да | Массив метрик для отображения на этой диаграмме. Дополнительные сведения о метриках, поддерживаемых в портал Azure, см. в статье "Поддерживаемые метрики с помощью Azure Monitor". |
Метрика
Свойство | Обязательное поле | Описание: |
---|---|---|
name |
Да | Имя метрики. |
aggregationType |
Да | Тип агрегирования, используемый для этой метрики. Поддерживаемые типы агрегирования: none, sum, min, max, avg, unique, percentile, count |
namespace |
No | Дополнительные сведения, используемые при определении правильного поставщика метрик. |
resourceTagFilter |
No | Массив тегов ресурсов отделен словом or , для которого будут отображаться метрики. Применяется поверх фильтра типов ресурса. |
resourceType |
Да | Тип ресурса, для которого будут отображаться метрики. |
Настраиваемые ресурсы
"kind": "CustomResources"
Можно определить несколько представлений этого типа. Каждое представление представляет уникальный тип настраиваемого ресурса из настраиваемого поставщика, определенного в файле mainTemplate.json. Общие сведения о предварительной версии настраиваемых поставщиков Azure см. в этой статье.
В этом представлении можно выполнять операции GET, PUT, DELETE и POST для пользовательского типа ресурса. Операции POST могут быть глобальными настраиваемыми действиями или настраиваемыми действиями в контексте типа настраиваемого ресурса.
{
"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
}
]
}
}
Свойство | Обязательное поле | Описание: |
---|---|---|
displayName |
Да | Отображаемое название представления. Название должно быть уникальным для каждого представления CustomResources в файле viewDefinition.json. |
version |
No | Версия платформы, используемая для визуализации представления. |
resourceType |
Да | Тип настраиваемого ресурса. Должен быть уникальным типом настраиваемого ресурса настраиваемого поставщика. |
icon |
No | Значок представления. Список примеров значков определен в схеме JSON. |
createUIDefinition |
No | Создайте схему определения пользовательского интерфейса для создания команды настраиваемого ресурса. Общие сведения о создании определений пользовательского интерфейса см. в статье Начало работы с CreateUiDefinition. |
commands |
No | Массив дополнительных кнопок панели инструментов в представлении CustomResources. Подробнее см. в документации по командам. |
columns |
No | Массив столбцов настраиваемого ресурса. Если столбец не определен name по умолчанию. Столбец должен иметь "key" и "displayName" . В качестве ключа укажите ключ свойства, которое будет отображаться в представлении. При вложении используйте точку в качестве разделителя, например "key": "name" или "key": "properties.property1" . В качестве отображаемого имени укажите отображаемое имя свойства, которое будет отображаться в представлении. Можно также указать свойство "optional" . Если задано значение true, по умолчанию столбец скрыт в представлении. |
Команды
Свойство commands
представляет собой массив дополнительных кнопок панели инструментов, отображаемых на странице. Каждая команда представляет действие POST из настраиваемого поставщика Azure, определенного в файле mainTemplate.json. Сведения о настраиваемых поставщиках Azure см. в статье Общие сведения о настраиваемых поставщиках.
{
"commands": [
{
"displayName": "Start Test Action",
"path": "testAction",
"icon": "Start",
"createUIDefinition": {}
},
]
}
Свойство | Обязательное поле | Описание: |
---|---|---|
displayName |
Да | Отображаемое имя кнопки команды. |
path |
Да | Должен содержать имя действия настраиваемого поставщика. Действие должно быть определено в файле mainTemplate.json. Не принимает динамические значения, например URI, создаваемые файлом mainTemplate.json. |
icon |
No | Значок кнопки команды. Список примеров значков определен в схеме JSON. |
createUIDefinition |
No | Создайте схему определения пользовательского интерфейса для команды. Общие сведения о создании определений пользовательского интерфейса см. в статье Начало работы с CreateUiDefinition. |
Сопоставления
"kind": "Associations"
Можно определить несколько представлений этого типа. Это представление позволяет связать существующие ресурсы с управляемым приложением с помощью настраиваемого поставщика, определенного в mainTemplate.json. Общие сведения о предварительной версии настраиваемых поставщиков Azure см. в этой статье.
В этом представлении можно расширить существующие ресурсы Azure на основе targetResourceType
. При выборе ресурса создается запрос на подключение к общедоступному пользовательскому поставщику, который может применить побочный эффект к ресурсу.
{
"kind": "Associations",
"properties": {
"displayName": "Test association resource type",
"version": "1.0.0",
"targetResourceType": "Microsoft.Compute/virtualMachines",
"createUIDefinition": {}
}
}
Свойство | Обязательное поле | Описание: |
---|---|---|
displayName |
Да | Отображаемое название представления. Заголовок должен быть уникальным для каждого представления Ассоциаций в viewDefinition.json. |
version |
No | Версия платформы, используемая для визуализации представления. |
targetResourceType |
Да | Тип целевого ресурса. Этот тип ресурса отображается для подключения ресурсов. |
createUIDefinition |
No | Создайте схему определения пользовательского интерфейса для создания команды ресурса связи. Общие сведения о создании определений пользовательского интерфейса см. в статье Начало работы с CreateUiDefinition. |
Требуется помощь?
Если у вас есть вопросы или вам нужен ответ об управляемых приложениях Azure, попробуйте задать запрос в Stack Overflow. При публикации вопроса используйте тег azure-managed-app
.
Следующие шаги
- Общие сведения об управляемых приложениях Azure см. в этой статье.
- Сведения о настраиваемых поставщиках Azure см. в статье Общие сведения о настраиваемых поставщиках.
- Сведения о создании управляемого приложения Azure с помощью настраиваемых поставщиков Azure см. в статье Учебник. Создание управляемого приложения с помощью действий настраиваемого поставщика и типов ресурсов.