Share via


檢視 Azure 受控應用程式中的定義成品

檢視定義是 Azure 受控應用程式中的選擇性成品。 它可讓您自訂概觀頁面,以及新增更多檢視,例如計量和自訂資源。

本文提供自訂角色定義成品及其功能的概觀。

檢視定義成品

檢視定義成品必須命名為 viewDefinition.json,並放在建立受控應用程式定義 .zip 套件中 createUiDefinition.jsonmainTemplate.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"
      }
    ]
  }
}
屬性 必要 描述
標頭 No 概觀頁面的標頭。
description No 受控應用程式的說明。
命令 No 概觀頁面的其他工具列按鈕陣列,請參閱命令

Screenshot shows the Overview for a managed application with a Test Action control to run a demo application.

計量

"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 用來呈現檢視的平台版本。
圖表 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
命名空間 No 判斷正確的計量提供者時所使用的其他資訊。
resourceTagFilter No 要顯示計量的資源標記陣列 (會以 or 字組區別)。 適用於資源類型篩選條件的最上層。
resourceType Yes 要顯示計量的資源類型。

Screenshot shows a Monitoring page called This is my metrics view for a managed application.

自訂資源

"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 自訂資源類型。 必須是自訂提供者的唯一自訂資源類型。
圖示 No 檢視的圖示。 範例圖示清單是在 JSON 結構描述中定義。
createUIDefinition No 建立用於建立自訂資源命令的 UI 定義結構描述。 如需建立 UI 定義的簡介,請參閱開始使用 CreateUiDefinition
命令 No CustomResources 檢視的其他工具列按鈕陣列,請參閱命令
No 自訂資源的資料行陣列。 如果未定義,則會預設顯示 name 資料行。 資料行必須具有 "key""displayName"。 在 [索引碼] 中,提供要顯示在檢視中的屬性索引碼。 如果是巢狀,請使用點做為分隔符號,例如 "key": "name""key": "properties.property1"。 針對 [顯示名稱],請提供要在檢視中顯示的屬性顯示名稱。 您也可以提供 "optional" 屬性。 當設為 true 時,該資料行預設會在檢視中隱藏。

Screenshot shows a Resources page called Test custom resource type and the control Custom Context Action.

命令

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。
圖示 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 受控應用程式有任何疑問,請嘗試在堆疊溢位提問。 類似的問題可能已有人詢問和回答,因此請先查看再張貼問題。 新增標記 azure-managed-app 以取得快速回應!

下一步