Udostępnij za pośrednictwem


Wyświetlanie artefaktu definicji w aplikacjach zarządzanych platformy Azure

Definicja widoku jest opcjonalnym artefaktem w aplikacjach zarządzanych platformy Azure. Umożliwia dostosowanie strony przeglądu i dodanie większej liczby widoków, takich jak metryki i zasoby niestandardowe.

Ten artykuł zawiera omówienie artefaktu definicji widoku i jego możliwości.

Wyświetlanie artefaktu definicji

Artefakt definicji widoku musi mieć nazwę viewDefinition.json i umieszczony na tym samym poziomie co createUiDefinition.json i mainTemplate.json w pakiecie .zip , który tworzy definicję aplikacji zarządzanej. Aby dowiedzieć się, jak utworzyć pakiet .zip i opublikować definicję aplikacji zarządzanej, zobacz Szybki start: tworzenie i publikowanie definicji aplikacji zarządzanej platformy Azure

Schemat definicji widoku

Plik viewDefinition.json ma tylko jedną właściwość najwyższego poziomu views , która jest tablicą widoków. Każdy widok jest wyświetlany w interfejsie użytkownika aplikacji zarządzanej jako oddzielny element menu w spisie treści. Każdy widok ma kind właściwość, która ustawia typ widoku. Musi być ustawiona na jedną z następujących wartości: Przegląd, Metryki, CustomResources, Skojarzenia. Aby uzyskać więcej informacji, zobacz bieżący schemat JSON dla viewDefinition.json.

Przykładowy kod JSON dla definicji widoku:

{
  "$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": {}
      }
    }
  ]
}

Omówienie

"kind": "Overview"

Po podaniu tego widoku w viewDefinition.json zastąpi on domyślną stronę Przegląd w aplikacji zarządzanej.

{
  "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"
      }
    ]
  }
}
Właściwości Wymagania opis
header Nie. Nagłówek strony przeglądu.
description Nie. Opis aplikacji zarządzanej.
commands Nie. Tablica większej liczby przycisków paska narzędzi na stronie przeglądu, zobacz polecenia.

Zrzut ekranu przedstawiający przegląd aplikacji zarządzanej z kontrolką Akcja testowa w celu uruchomienia aplikacji demonstracyjnej.

Metryki

"kind": "Metrics"

Widok metryk umożliwia zbieranie i agregowanie danych z zasobów aplikacji zarządzanych w metrykach usługi 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"
          }
        ]
      }
    ]
  }
}
Właściwości Wymagania opis
displayName Nie. Wyświetlany tytuł widoku.
version Nie. Wersja platformy używanej do renderowania widoku.
charts Tak Tablica wykresów strony metryk.

Wykres

Właściwości Wymagania opis
displayName Tak Wyświetlony tytuł wykresu.
chartType Nie. Wizualizacja do użycia dla tego wykresu. Domyślnie używa wykresu liniowego. Obsługiwane typy wykresów: Bar, Line, Area, Scatter.
metrics Tak Tablica metryk do wykreślenia na tym wykresie. Aby dowiedzieć się więcej o metrykach obsługiwanych w witrynie Azure Portal, zobacz Obsługiwane metryki za pomocą usługi Azure Monitor.

Metric

Właściwości Wymagania opis
name Tak Nazwa metryki.
aggregationType Tak Typ agregacji do użycia dla tej metryki. Obsługiwane typy agregacji: none, sum, min, max, avg, unique, percentile, count
namespace Nie. Więcej informacji do użycia podczas określania prawidłowego dostawcy metryk.
resourceTagFilter Nie. Tablica tagów zasobów jest oddzielona or słowem, dla którego będą wyświetlane metryki. Dotyczy filtru typu zasobu.
resourceType Tak Typ zasobu, dla którego będą wyświetlane metryki.

Zrzut ekranu przedstawia stronę Monitorowanie o nazwie Ten widok metryk dla aplikacji zarządzanej.

Zasoby niestandardowe

"kind": "CustomResources"

Można zdefiniować wiele widoków tego typu. Każdy widok reprezentuje unikatowy niestandardowy typ zasobu od dostawcy niestandardowego zdefiniowanego w mainTemplate.json. Aby zapoznać się z wprowadzeniem do dostawców niestandardowych, zobacz Omówienie dostawców niestandardowych platformy Azure w wersji zapoznawczej.

W tym widoku można wykonywać operacje GET, PUT, DELETE i POST dla niestandardowego typu zasobu. Operacje POST mogą być globalnymi akcjami niestandardowymi lub akcjami niestandardowymi w kontekście niestandardowego typu zasobu.

{
  "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
      }
    ]
  }
}
Właściwości Wymagania opis
displayName Tak Wyświetlany tytuł widoku. Tytuł powinien być unikatowy dla każdego widoku CustomResources w viewDefinition.json.
version Nie. Wersja platformy używanej do renderowania widoku.
resourceType Tak Niestandardowy typ zasobu. Musi być unikatowym niestandardowym typem zasobu dostawcy niestandardowego.
icon Nie. Ikona widoku. Lista przykładowych ikon jest definiowana w schemacie JSON.
createUIDefinition Nie. Utwórz schemat definicji interfejsu użytkownika dla polecenia create custom resource. Aby zapoznać się z wprowadzeniem do tworzenia definicji interfejsu użytkownika, zobacz Wprowadzenie do metody CreateUiDefinition.
commands Nie. Tablica większej liczby przycisków paska narzędzi widoku CustomResources, zobacz polecenia.
columns Nie. Tablica kolumn zasobu niestandardowego. Jeśli kolumna nie jest zdefiniowana name , jest wyświetlana domyślnie. Kolumna musi mieć wartości "key" i "displayName". W przypadku klucza podaj klucz właściwości do wyświetlenia w widoku. W przypadku zagnieżdżenia użyj kropki jako ogranicznika, na przykład "key": "name" lub "key": "properties.property1". W polu Nazwa wyświetlana podaj nazwę wyświetlaną właściwości do wyświetlenia w widoku. Możesz również podać "optional" właściwość. Po ustawieniu wartości true kolumna jest domyślnie ukryta w widoku.

Zrzut ekranu przedstawia stronę Zasoby o nazwie Test niestandardowy typ zasobu i kontrolkę Akcja kontekstu niestandardowego.

Polecenia

Właściwość commands to tablica większej liczby przycisków paska narzędzi, które są wyświetlane na stronie. Każde polecenie reprezentuje akcję POST od dostawcy niestandardowego platformy Azure zdefiniowaną w mainTemplate.json. Aby zapoznać się z wprowadzeniem do dostawców niestandardowych, zobacz Omówienie dostawców niestandardowych platformy Azure.

{
  "commands": [
    {
      "displayName": "Start Test Action",
      "path": "testAction",
      "icon": "Start",
      "createUIDefinition": {}
    },
  ]
}
Właściwości Wymagania opis
displayName Tak Wyświetlana nazwa przycisku polecenia.
path Tak Musi być niestandardową nazwą akcji dostawcy. Akcja musi być zdefiniowana w mainTemplate.json.

Nie akceptuje wartości dynamicznych, takich jak identyfikator URI, który pochodzi z mainTemplate.json.
icon Nie. Ikona przycisku polecenia. Lista przykładowych ikon jest definiowana w schemacie JSON.
createUIDefinition Nie. Utwórz schemat definicji interfejsu użytkownika dla polecenia . Aby zapoznać się z wprowadzeniem do tworzenia definicji interfejsu użytkownika, zobacz Wprowadzenie do metody CreateUiDefinition.

Stowarzyszenia

"kind": "Associations"

Można zdefiniować wiele widoków tego typu. Ten widok umożliwia łączenie istniejących zasobów z aplikacją zarządzaną za pośrednictwem niestandardowego dostawcy zdefiniowanego w mainTemplate.json. Aby zapoznać się z wprowadzeniem do dostawców niestandardowych, zobacz Omówienie dostawców niestandardowych platformy Azure w wersji zapoznawczej.

W tym widoku można rozszerzyć istniejące zasoby platformy Azure na podstawie elementu targetResourceType. Po wybraniu zasobu tworzy żądanie dołączania do publicznego dostawcy niestandardowego, które może zastosować efekt uboczny do zasobu.

{
  "kind": "Associations",
  "properties": {
    "displayName": "Test association resource type",
    "version": "1.0.0",
    "targetResourceType": "Microsoft.Compute/virtualMachines",
    "createUIDefinition": {}
  }
}
Właściwości Wymagania opis
displayName Tak Wyświetlany tytuł widoku. Tytuł powinien być unikatowy dla każdego widoku Skojarzeń w viewDefinition.json.
version Nie. Wersja platformy używanej do renderowania widoku.
targetResourceType Tak Typ zasobu docelowego. Ten typ zasobu jest wyświetlany dla dołączania zasobów.
createUIDefinition Nie. Utwórz schemat definicji interfejsu użytkownika dla polecenia tworzenia zasobu skojarzenia. Aby zapoznać się z wprowadzeniem do tworzenia definicji interfejsu użytkownika, zobacz Wprowadzenie do metody CreateUiDefinition.

Szukasz pomocy

Jeśli masz pytania lub potrzebujesz odpowiedzi na temat aplikacji zarządzanych platformy Azure, spróbuj zadać pytanie w witrynie Stack Overflow. Użyj tagu azure-managed-app podczas publikowania pytania.

Następne kroki