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"
}
]
}
}
プロパティ | 必須 | 説明 |
---|---|---|
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"
}
]
}
]
}
}
プロパティ | 必須 | 説明 |
---|---|---|
displayName | いいえ | ビューの表示タイトル。 |
version | いいえ | ビューのレンダリングに使用されるプラットフォームのバージョン。 |
charts | はい | メトリック ページのグラフの配列。 |
グラフ
プロパティ | 必須 | 説明 |
---|---|---|
displayName | はい | グラフの表示タイトル。 |
chartType | いいえ | このグラフに使用する視覚エフェクト。 既定では、折れ線グラフが使用されます。 サポートされるグラフの種類: Bar, Line, Area, Scatter 。 |
metrics | はい | このグラフにプロットするメトリックの配列。 Azure portal でサポートされるメトリックの詳細については、「Azure Monitor のサポートされるメトリック」を参照してください。 |
メトリック
プロパティ | 必須 | 説明 |
---|---|---|
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
}
]
}
}
プロパティ | 必須 | 説明 |
---|---|---|
displayName | はい | ビューの表示タイトル。 タイトルは viewDefinition.json内の各 CustomResources ビューに対して一意である必要があります。 |
version | いいえ | ビューのレンダリングに使用されるプラットフォームのバージョン。 |
resourceType | はい | カスタム リソースの種類。 カスタム プロバイダーの一意のカスタム リソースの種類とする必要があります。 |
icon | いいえ | ビューのアイコン。 例のアイコンの一覧は、JSON スキーマで定義されています。 |
createUIDefinition | いいえ | カスタム リソースの作成コマンド用の UI 定義作成スキーマ。 UI 定義の作成の概要については、CreateUiDefinition の基本概念に関する記事を参照してください。 |
commands | いいえ | CustomResources ビューの追加のツールバーのボタンの配列。「コマンド」を参照してください。 |
列 | いいえ | カスタム リソースの列の配列。 定義されていない場合、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": {}
},
]
}
プロパティ | 必須 | 説明 |
---|---|---|
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": {}
}
}
プロパティ | 必須 | 説明 |
---|---|---|
displayName | はい | ビューの表示タイトル。 タイトルは viewDefinition.json 内の各 Associations ビューに対して一意である必要があります。 |
version | いいえ | ビューのレンダリングに使用されるプラットフォームのバージョン。 |
targetResourceType | はい | ターゲット リソースの種類。 このリソースの種類は、リソースのオンボードに表示されます。 |
createUIDefinition | いいえ | 関連付けリソース作成コマンド用の UI 定義スキーマを作成します。 UI 定義の作成の概要については、CreateUiDefinition の基本概念に関する記事を参照してください。 |
ヘルプを探しています
Azure Managed Applications に関して不明な点がある場合には、Stack Overflow で質問してみてください。 同様の質問が既に質問され回答されているため、投稿する前にまず確認してください。 azure-managed-app
タグを追加して早く応答を受け取りましょう。
次のステップ
- マネージド アプリケーションの概要については、「Azure マネージド アプリケーションの概要」を参照してください。
- カスタム プロバイダーの概要については、「Azure Custom Providers プレビューの概要」を参照してください。
- Azure カスタム プロバイダーを使用した Azure マネージド アプリケーションの作成については、カスタム プロバイダー アクションとリソースの種類を備えたマネージド アプリケーションを作成する方法に関するチュートリアルを参照してください。