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

Definicja widoku jest opcjonalnym artefaktem w aplikacjach zarządzanych platformy Azure. Umożliwia ona dostosowanie strony przeglądu i dodanie kolejnych 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 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 pliku 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 pliku 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ść Wymagane Opis
header Nie Nagłówek strony przeglądu.
description (opis) Nie Opis aplikacji zarządzanej.
polecenia Nie Tablica większej liczby przycisków paska narzędzi na stronie przeglądu, zobacz polecenia.

Zrzut ekranu przedstawia przegląd aplikacji zarządzanej z kontrolką Test Action 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ść Wymagane Opis
displayName Nie Wyświetlany tytuł widoku.
Wersja Nie Wersja platformy używanej do renderowania widoku.
elementy chart Tak Tablica wykresów strony metryk.

Wykres

Właściwość Wymagane Opis
displayName Tak Wyświetlany tytuł wykresu.
typ wykresu 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 Azure Portal, zobacz Obsługiwane metryki w usłudze Azure Monitor

Metric

Właściwość Wymagane 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 poprawnego dostawcy metryk.
resourceTagFilter Nie Tablica tagów zasobów (zostanie oddzielona or słowem), dla której 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 To jest mój 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 pliku 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ść Wymagane Opis
displayName Tak Wyświetlany tytuł widoku. Tytuł powinien być unikatowy dla każdego widoku CustomResources w pliku viewDefinition.json.
Wersja Nie Wersja platformy używanej do renderowania widoku.
resourceType Tak Typ zasobu niestandardowego. Musi być unikatowym niestandardowym typem zasobu dostawcy niestandardowego.
Ikonę Nie Ikona widoku. Lista przykładowych ikon jest zdefiniowana 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
polecenia Nie Tablica większej liczby przycisków paska narzędzi widoku CustomResources, zobacz polecenia.
columns Nie Tablica kolumn zasobu niestandardowego. Jeśli kolumna nie zostanie zdefiniowana, name zostanie wyświetlona domyślnie. Kolumna musi zawierać "key" wartości 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ść . W przypadku ustawienia 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 jest tablicą większej liczby przycisków paska narzędzi, które są wyświetlane na stronie. Każde polecenie reprezentuje akcję POST z niestandardowego dostawcy platformy Azure zdefiniowanego w pliku 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ść Wymagane Opis
displayName Tak Wyświetlana nazwa przycisku polecenia.
path Tak Musi być niestandardową nazwą akcji dostawcy. Akcja musi być zdefiniowana w pliku mainTemplate.json.

Nie akceptuje wartości dynamicznych, takich jak identyfikator URI, który jest wynikiem pliku mainTemplate.json.
Ikonę Nie Ikona przycisku polecenia. Lista przykładowych ikon jest zdefiniowana 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 dostawcy niestandardowego zdefiniowanego w pliku 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 zostanie utworzone żą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ść Wymagane Opis
displayName Tak Wyświetlany tytuł widoku. Tytuł powinien być unikatowy dla każdego widoku Skojarzeń w pliku viewDefinition.json.
Wersja Nie Wersja platformy używanej do renderowania widoku.
targetResourceType Tak Typ zasobu docelowego. Ten typ zasobu będzie wyświetlany dla dołączania zasobów.
createUIDefinition Nie Utwórz schemat definicji interfejsu użytkownika dla polecenia utwórz zasób skojarzenia. Aby zapoznać się z wprowadzeniem do tworzenia definicji interfejsu użytkownika, zobacz Wprowadzenie do metody CreateUiDefinition

Szukasz pomocy

Jeśli masz pytania dotyczące aplikacji zarządzanych platformy Azure, spróbuj zadać pytanie w witrynie Stack Overflow. Podobne pytanie mogło już zostać zadane i udzielono odpowiedzi, więc sprawdź najpierw przed opublikowaniem. Dodaj tag azure-managed-app , aby uzyskać szybką odpowiedź!

Następne kroki