Azure Managed Applications のビュー定義アーティファクト
ビュー定義は Azure Managed Applications のオプションのアーティファクトです。 これを使用すると概要ページをカスタマイズし、メトリックやカスタム リソースなどのビューをさらに追加することができます。
この記事では、ビュー定義アーティファクトとその機能の概要について説明します。
ビュー定義アーティファクト
ビュー定義アーティファクトの名前は viewDefinition.json とし、マネージド アプリケーション定義を作成する .zip パッケージ内で createUiDefinition.json および mainTemplate.json と同じレベルに配置する必要があります。 .zip パッケージを作成してマネージド アプリケーション定義を発行する方法については、「クイックスタート: Azure マネージド アプリケーションの定義を作成および発行する」を参照してください
ビュー定義スキーマ
viewDefinition.json ファイルにあるのは、最上位レベルの views
プロパティ 1 つのみです。これはビューの配列です。 各ビューはマネージド アプリケーションのユーザー インターフェイスに、目次の個別のメニュー項目として表示されます。 各ビューには、ビューの種類をセットする kind
プロパティがあります。 次のいずれかの値を設定する必要があります: Overview、Metrics、CustomResources、Associations。 詳細については、現在の viewDefinition.json の 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"
}
]
}
}
プロパティ | Required | 内容 |
---|---|---|
header |
いいえ | 概要のヘッダー。 |
description |
いいえ | マネージド アプリケーションの説明。 |
commands |
いいえ | 概要ページの追加のツールバーのボタンの配列。「コマンド」を参照してください。 |
メトリック
"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"
}
]
}
]
}
}
プロパティ | Required | 内容 |
---|---|---|
displayName |
いいえ | ビューの表示タイトル。 |
version |
いいえ | ビューのレンダリングに使用されるプラットフォームのバージョン。 |
charts |
はい | メトリック ページのグラフの配列。 |
グラフ
プロパティ | Required | Description |
---|---|---|
displayName |
はい | グラフの表示タイトル。 |
chartType |
いいえ | このグラフに使用する視覚エフェクト。 既定では、折れ線グラフが使用されます。 サポートされるグラフの種類: Bar, Line, Area, Scatter 。 |
metrics |
はい | このグラフにプロットするメトリックの配列。 Azure portal でサポートされるメトリックの詳細については、「Azure Monitor でサポートされているメトリック」を参照してください。 |
メトリック
プロパティ | Required | Description |
---|---|---|
name |
はい | メトリックの名前。 |
aggregationType |
はい | このメトリックに使用する集計の種類。 サポートされている集計の種類: none, sum, min, max, avg, unique, percentile, count |
namespace |
いいえ | 適切なメトリックのプロバイダーを決定するときに使用する追加情報。 |
resourceTagFilter |
いいえ | メトリックが表示されるリソース タグの配列は単語 or で区切られます。 リソースの種類のフィルターの上に適用されます。 |
resourceType |
はい | メトリックが表示されるリソースの種類。 |
カスタム リソース
"kind": "CustomResources"
この種類のビューは複数定義することができます。 各ビューは、mainTemplate.json で定義したカスタム プロバイダーからの一意のカスタム リソースの種類を表します。 カスタム プロバイダーの概要については、「Azure Custom Providers プレビューの概要」を参照してください。
このビューでは、カスタム リソースの種類に対して 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
}
]
}
}
プロパティ | Required | Description |
---|---|---|
displayName |
はい | ビューの表示タイトル。 タイトルは viewDefinition.json内の各 CustomResources ビューに対して一意である必要があります。 |
version |
いいえ | ビューのレンダリングに使用されるプラットフォームのバージョン。 |
resourceType |
はい | カスタム リソースの種類。 カスタム プロバイダーの一意のカスタム リソースの種類とする必要があります。 |
icon |
いいえ | ビューのアイコン。 例のアイコンの一覧は、JSON スキーマで定義されています。 |
createUIDefinition |
いいえ | カスタム リソースの作成コマンド用の UI 定義作成スキーマ。 UI 定義の作成の概要については、「CreateUiDefinition の基本概念」を参照してください。 |
commands |
いいえ | CustomResources ビューの追加のツールバーのボタンの配列。「コマンド」を参照してください。 |
columns |
いいえ | カスタム リソースの列の配列。 定義されていない場合、name 列が既定で表示されます。 この列には "key" と "displayName" を含める必要があります。 キーについては、ビューに表示するプロパティのキーを指定します。 入れ子になっている場合は、"key": "name" や "key": "properties.property1" のように、ドットを区切り記号として使用します。 表示名については、ビューに表示するプロパティの表示名を指定します。 "optional" プロパティを指定することもできます。 true に設定すると、列がビュー内で既定で非表示となります。 |
コマンド
commands
プロパティは、ページ上に表示される追加のツールバーのボタンの配列です。 各コマンドは、mainTemplate.json で定義された Azure Custom Provider からの POST アクションを示します。 カスタム プロバイダーの概要については、「Azure Custom Providers プレビューの概要」を参照してください。
{
"commands": [
{
"displayName": "Start Test Action",
"path": "testAction",
"icon": "Start",
"createUIDefinition": {}
},
]
}
プロパティ | Required | Description |
---|---|---|
displayName |
はい | コマンド ボタンの表示名。 |
path |
はい | カスタム プロバイダーのアクション名である必要があります。 アクション名は mainTemplate.json で定義されている必要があります。 mainTemplate.json から出力される URI のような動的な値は受け入れられません。 |
icon |
いいえ | コマンド ボタンのアイコン。 例のアイコンの一覧は、JSON スキーマで定義されています。 |
createUIDefinition |
いいえ | コマンド用の UI 定義作成スキーマ。 UI 定義の作成の概要については、「CreateUiDefinition の基本概念」を参照してください。 |
Associations
"kind": "Associations"
この種類のビューは複数定義することができます。 このビューを使用すると、mainTemplate.json で定義したカスタム プロバイダーを使用して、既存のリソースをマネージド アプリケーションにリンクすることができます。 カスタム プロバイダーの概要については、「Azure Custom Providers プレビューの概要」を参照してください。
このビューでは、targetResourceType
に基づいて既存の Azure リソースを拡張できます。 リソースを選択すると、パブリック カスタム プロバイダーに対するオンボード要求が作成され、これによりリソースに副作用を適用できます。
{
"kind": "Associations",
"properties": {
"displayName": "Test association resource type",
"version": "1.0.0",
"targetResourceType": "Microsoft.Compute/virtualMachines",
"createUIDefinition": {}
}
}
プロパティ | Required | Description |
---|---|---|
displayName |
はい | ビューの表示タイトル。 タイトルは viewDefinition.json 内の各 Associations ビューに対して一意である必要があります。 |
version |
いいえ | ビューのレンダリングに使用されるプラットフォームのバージョン。 |
targetResourceType |
はい | ターゲット リソースの種類。 このリソースの種類は、リソースのオンボードのために表示されます。 |
createUIDefinition |
いいえ | 関連付けリソース作成コマンド用の UI 定義スキーマを作成します。 UI 定義の作成の概要については、「CreateUiDefinition の基本概念」を参照してください。 |
ヘルプを探しています
Azure Managed Applications に関して不明な点があるか、回答が必要な場合には、Stack Overflow で質問してみてください。 質問を投稿する際には、タグ azure-managed-app
を使用してください。
次のステップ
- マネージド アプリケーションの概要については、「Azure マネージド アプリケーションの概要」を参照してください。
- カスタム プロバイダーの概要については、「Azure Custom Providers プレビューの概要」を参照してください。
- Azure カスタム プロバイダーを使用した Azure マネージド アプリケーションの作成については、カスタム プロバイダー アクションとリソースの種類を備えたマネージド アプリケーションを作成する方法に関するチュートリアルを参照してください。