檢視 Azure 受控應用程式中的定義成品
檢視定義是 Azure 受控應用程式中的選擇性成品。 它可讓您自訂概觀頁面,以及新增更多檢視,例如計量和自訂資源。
本文提供自訂角色定義成品及其功能的概觀。
檢視定義成品
檢視定義成品必須命名為 viewDefinition.json,並放在建立受控應用程式定義 .zip 套件中 createUiDefinition.json 和 mainTemplate.json 的相同層級上。 若要了解如何建立 .zip 套件及發佈受控應用程式定義,請參閱快速入門:建立和發佈 Azure 受控應用程式定義 (部分機器翻譯)
檢視定義結構描述
viewDefinition.json 檔案只有一個最上層 views
屬性,為一組檢視陣列。 每個檢視都會在受控應用程式使用者介面中顯示為目錄中的個別功能表項目。 每個檢視都有一個 kind
屬性,可設定檢視的型別。 它必須設定為下列其中一個值:概觀、計量、CustomResources 和關聯。 如需詳細資訊,請參閱目前 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 |
No | 概觀頁面的標頭。 |
description |
No | 受控應用程式的說明。 |
commands |
No | 概觀頁面的其他工具列按鈕陣列,請參閱命令。 |
計量
"kind": "Metrics"
計量檢視可讓您從 Azure 監視器計量中的受控應用程式資源收集並彙總資料。
{
"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 |
Yes | 計量頁面的圖表陣列。 |
圖表
屬性 | 必要 | 描述: |
---|---|---|
displayName |
Yes | 圖表的顯示標題。 |
chartType |
No | 要用於此圖表的視覺效果。 根據預設會採用折線圖。 支援的圖表類型:Bar, Line, Area, Scatter 。 |
metrics |
Yes | 要在此圖表上繪製的計量陣列。 若要深入了解 Azure 入口網站中支援的計量,請參閱Azure 監視器所支援的計量 (部分機器翻譯)。 |
計量
屬性 | 必要 | 描述: |
---|---|---|
name |
Yes | 計量的名稱。 |
aggregationType |
Yes | 要用於此計量的彙總類型。 支援的彙總類型:none, sum, min, max, avg, unique, percentile, count |
namespace |
No | 判斷正確的計量提供者時所使用的其他資訊。 |
resourceTagFilter |
No | 要顯示其計量的資源標籤陣列使用 or 字組進行分隔。 適用於資源類型篩選條件的最上層。 |
resourceType |
Yes | 要顯示計量的資源類型。 |
自訂資源
"kind": "CustomResources"
您可以定義這種類型的多個檢視。 每個檢視都代表您在 mainTemplate.json 中定義的自訂提供者所提供的唯一自訂資源類型。 如需自訂提供者的簡介,請參閱 Azure Custom Providers Preview 概觀\(英文\)。
在此檢視中,您可以針對自訂資源類型執行 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 |
Yes | 檢視的顯示標題。 在您的 viewDefinition.json 中,每個 CustomResources 檢視的標題都應該是唯一的。 |
version |
No | 用來呈現檢視的平台版本。 |
resourceType |
Yes | 自訂資源類型。 必須是自訂提供者的唯一自訂資源類型。 |
icon |
No | 檢視的圖示。 範例圖示清單是在 JSON 結構描述中定義。 |
createUIDefinition |
No | 建立用於建立自訂資源命令的 UI 定義結構描述。 如需建立 UI 定義的簡介,請參閱開始使用 CreateUiDefinition。 |
commands |
No | CustomResources 檢視的其他工具列按鈕陣列,請參閱命令。 |
columns |
No | 自訂資源的資料行陣列。 如果未定義,則會預設顯示 name 資料行。 資料行必須具有 "key" 和 "displayName" 。 在 [索引碼] 中,提供要顯示在檢視中的屬性索引碼。 如果是巢狀,請使用點做為分隔符號,例如 "key": "name" 或 "key": "properties.property1" 。 針對 [顯示名稱],請提供要在檢視中顯示的屬性顯示名稱。 您也可以提供 "optional" 屬性。 當設為 true 時,該資料行預設會在檢視中隱藏。 |
命令
commands
屬性是頁面上顯示的其他工具列按鈕陣列。 每個命令都代表 mainTemplate.json 中定義的 Azure 自訂提供者 POST 動作。 如需自訂提供者的簡介,請參閱 Azure 自訂提供者概觀。
{
"commands": [
{
"displayName": "Start Test Action",
"path": "testAction",
"icon": "Start",
"createUIDefinition": {}
},
]
}
屬性 | 必要 | 描述: |
---|---|---|
displayName |
Yes | 命令按鈕的顯示名稱。 |
path |
Yes | 必須是自訂提供者動作名稱。 動作必須在 mainTemplate.json 中定義。 不接受動態值,例如來自 mainTemplate.json的輸出 URI。 |
icon |
No | 命令按鈕的圖示。 範例圖示清單是在 JSON 結構描述中定義。 |
createUIDefinition |
No | 建立命令的 UI 定義結構描述。 如需建立 UI 定義的簡介,請參閱開始使用 CreateUiDefinition。 |
關聯
"kind": "Associations"
您可以定義這種類型的多個檢視。 此檢視讓您可透過在 mainTemplate.json 中定義的自訂提供者,將現有資源連結至受控應用程式。 如需自訂提供者的簡介,請參閱 Azure Custom Providers Preview 概觀\(英文\)。
在此檢視中,您可以根據 targetResourceType
來擴充現有的 Azure 資源。 當您選取資源時,它會為公用自訂提供者建立上線要求,這可將副作用套用至資源。
{
"kind": "Associations",
"properties": {
"displayName": "Test association resource type",
"version": "1.0.0",
"targetResourceType": "Microsoft.Compute/virtualMachines",
"createUIDefinition": {}
}
}
屬性 | 必要 | 描述: |
---|---|---|
displayName |
Yes | 檢視的顯示標題。 在您的 viewDefinition.json 中每個「關聯」檢視的標題應該是唯一的。 |
version |
No | 用來呈現檢視的平台版本。 |
targetResourceType |
Yes | 目標資源類型。 此資源類型是在將資源上線時所顯示。 |
createUIDefinition |
No | 建立用於建立關聯資源命令的 UI 定義結構描述。 如需建立 UI 定義的簡介,請參閱開始使用 CreateUiDefinition。 |
尋求協助
如果您對 Azure 受控應用程式有任何疑問或需要解答,請嘗試在 Stack Overflow (英文) 提問。 當您張貼問題時,請使用標籤 azure-managed-app
。
下一步
- 如需受控應用程式的簡介,請參閱 Azure 受控應用程式概觀。
- 如需自訂提供者的簡介,請參閱 Azure 自訂提供者概觀。
- 如需透過 Azure 自訂提供者建立 Azure 受控應用程式的相關資訊,請參閱教學課程:使用自訂提供者動作和資源類型來建立受控應用程式