Артефакт определения представления в управляемых приложениях 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"
}
]
}
}
Свойство | Обязательно | Описание |
---|---|---|
заголовок | Нет | Заголовок страницы обзора. |
description | Нет | Описание управляемого приложения. |
команды | Нет | Массив дополнительных кнопок на панели инструментов на странице обзора. Подробнее см. в документации по командам. |
Метрики
"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 | Нет | Отображаемое название представления. |
version | Нет | Версия платформы, используемая для визуализации представления. |
диаграммы | Да | Массив диаграмм страницы метрик. |
Диаграмма
Свойство | Обязательно | Описание |
---|---|---|
displayName | Да | Отображаемое название диаграммы. |
chartType | Нет | Визуализация, используемая для этой диаграммы. По умолчанию используется график. Поддерживаемые типы диаграмм: Bar, Line, Area, Scatter . |
Метрики | Да | Массив метрик для отображения на этой диаграмме. Дополнительные сведения о метриках, поддерживаемых на портале Azure, см. в разделе Метрики, поддерживаемые Azure Monitor. |
Метрика
Свойство | Обязательно | Описание |
---|---|---|
name | Да | Имя метрики. |
aggregationType | Да | Тип агрегирования, используемый для этой метрики. Поддерживаемые типы агрегирования: none, sum, min, max, avg, unique, percentile, count |
namespace | Нет | Дополнительные сведения, используемые при определении правильного поставщика метрик. |
resourceTagFilter | Нет | Массив тегов ресурсов (будет разделяться словом or ), для которого будут отображаться метрики. Применяется поверх фильтра типов ресурса. |
тип_ресурса | Да | Тип ресурса, для которого будут отображаться метрики. |
Настраиваемые ресурсы
"kind": "CustomResources"
Можно определить несколько представлений этого типа. Каждое представление представляет уникальный тип настраиваемого ресурса из настраиваемого поставщика, определенного в файле mainTemplate.json. Общие сведения о предварительной версии настраиваемых поставщиков Azure см. в этой статье.
В этом представлении можно выполнять операции GET, WHERE, 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 | Нет | Версия платформы, используемая для визуализации представления. |
тип_ресурса | Да | Тип настраиваемого ресурса. Должен быть уникальным типом настраиваемого ресурса настраиваемого поставщика. |
icon | Нет | Значок представления. Список примеров значков определен в схеме JSON. |
createUiDefinition.json | Нет | Создайте схему определения пользовательского интерфейса для создания команды настраиваемого ресурса. Введение в создание определений пользовательского интерфейса см. в статье Начало работы с CreateUiDefinition. |
команды | Нет | Массив дополнительных кнопок панели инструментов в представлении CustomResources. Подробнее см. в документации по командам. |
столбцы | Нет | Массив столбцов настраиваемого ресурса. Если не определено, по умолчанию будет отображаться столбец 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 | Нет | Значок кнопки команды. Список примеров значков определен в схеме JSON. |
createUiDefinition.json | Нет | Создайте схему определения пользовательского интерфейса для команды. Общие сведения о создании определений пользовательского интерфейса см. в статье Начало работы с 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 | Да | Отображаемое название представления. Название должно быть уникальным для каждого представления Associations в файле viewDefinition.json. |
version | Нет | Версия платформы, используемая для визуализации представления. |
targetResourceType | Да | Тип целевого ресурса. Этот тип ресурса будет отображаться для подключения ресурса. |
createUiDefinition.json | Нет | Создайте схему определения пользовательского интерфейса для создания команды ресурса связи. Введение в создание определений пользовательского интерфейса см. в статье Начало работы с CreateUiDefinition. |
Требуется помощь?
Если у вас есть вопросы об Управляемых приложениях Azure, вы можете задать их на этой странице. Подобный вопрос, возможно, уже был задан, поэтому перед его публикацией сначала проверьте наличие ответа. Чтобы быстрее получить ответ, добавьте к вопросу тег azure-managed-app
!
Дальнейшие действия
- Общие сведения об управляемых приложениях Azure см. в этой статье.
- Сведения о настраиваемых поставщиках Azure см. в статье Общие сведения о настраиваемых поставщиках.
- Сведения о создании управляемого приложения Azure с помощью настраиваемых поставщиков Azure см. в статье Учебник. Создание управляемого приложения с помощью действий настраиваемого поставщика и типов ресурсов.