Condividi tramite


Visualizzare l'artefatto della definizione nelle applicazioni gestite di Azure

La definizione di vista è un artefatto facoltativo nelle applicazioni gestite di Azure. Consente di personalizzare la pagina di panoramica e di aggiungere altre visualizzazioni, ad esempio metriche e risorse personalizzate.

Questo articolo offre una panoramica dell'artefatto della definizione di vista e delle relative funzionalità.

Artefatto di definizione delle visualizzazioni

L'artefatto della definizione di vista deve essere denominato viewDefinition.json e posizionato allo stesso livello di createUiDefinition.json e mainTemplate.json nel pacchetto .zip che crea una definizione di applicazione gestita. Per informazioni su come creare il pacchetto .zip e pubblicare una definizione di applicazione gestita, vedere Guida introduttiva: Creare e pubblicare una definizione di applicazione gestita di Azure

Visualizza schema di definizione

Il file viewDefinition.json ha una sola proprietà di livello superiore views, ovvero un array di visualizzazioni. Ogni vista viene visualizzata nell'interfaccia utente dell'applicazione gestita come voce di menu separata nel sommario. Ogni vista ha una proprietà kind che imposta il tipo di vista. Deve essere impostato su uno dei valori seguenti: Panoramica, Metriche, Risorse personalizzate, Associazioni. Per altre informazioni, vedere Schema JSON corrente per viewDefinition.json.

JSON di esempio per la definizione della vista:

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

Panoramica

"kind": "Overview"

Quando si specifica questa vista in viewDefinition.json, viene ignorata la pagina panoramica predefinita nell'applicazione gestita.

{
  "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"
      }
    ]
  }
}
Proprietà Richiesto Descrizione
header No Intestazione della pagina di panoramica.
description No Descrizione dell'applicazione gestita.
commands No L'array di altri pulsanti della barra degli strumenti della pagina di panoramica, vedere comandi.

Screenshot che mostra la scheda Panoramica di un'applicazione gestita con un controllo Azione di test per eseguire un'applicazione demo.

Metrica

"kind": "Metrics"

La vista delle metriche consente di raccogliere e aggregare dati dalle risorse dell'applicazione gestita in Metriche di Monitoraggio di 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"
          }
        ]
      }
    ]
  }
}
Proprietà Richiesto Descrizione
displayName No Titolo visualizzato della vista.
version No Versione della piattaforma usata per eseguire il rendering della vista.
charts Array di grafici della pagina delle metriche.

Grafico

Proprietà Richiesto Descrizione
displayName Titolo visualizzato del grafico.
chartType No Visualizzazione da usare per questo grafico. Per impostazione predefinita, viene usato un grafico a linee. Tipi di grafico supportati: Bar, Line, Area, Scatter.
metrics Array di metriche da tracciare in questo grafico. Per altre informazioni sulle metriche supportate nel portale di Azure, vedere Metriche supportate con Monitoraggio di Azure.

Metric

Proprietà Richiesto Descrizione
name Nome della metrica.
aggregationType Tipo di aggregazione da usare per questa metrica. Tipi di aggregazione supportati: none, sum, min, max, avg, unique, percentile, count
namespace No Altre informazioni da usare per determinare il provider di metriche corretto.
resourceTagFilter No La matrice di tag delle risorse è separata con una parola or per cui verranno visualizzate le metriche. Si applica al filtro del tipo di risorsa.
resourceType Tipo di risorsa per cui verranno visualizzate le metriche.

Screenshot che mostra una pagina di monitoraggio denominata This is my metrics view per un'applicazione gestita.

Risorse personalizzate

"kind": "CustomResources"

È possibile definire viste multiple di questo tipo. Ogni vista rappresenta un tipo di risorsa personalizzato univoco del provider personalizzato definito in mainTemplate.json. Per un'introduzione ai provider personalizzati, vedere Azure Custom Providers Preview overview (Panoramica dell'anteprima di provider personalizzati di Azure).

In questa visualizzazione è possibile eseguire operazioni GET, PUT, DELETE e POST per il tipo di risorsa personalizzata. Le operazioni POST possono essere azioni personalizzate globali o azioni personalizzate in un contesto del tipo di risorsa personalizzato.

{
  "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
      }
    ]
  }
}
Proprietà Richiesto Descrizione
displayName Titolo visualizzato della vista. Il titolo deve essere univoco per ogni vista Risorse personalizzate in viewDefinition.json.
version No Versione della piattaforma usata per eseguire il rendering della vista.
resourceType Tipo di risorsa personalizzato. Deve essere un tipo di risorsa personalizzato univoco del provider personalizzato.
icon No Icona della vista. L'elenco di icone di esempio è definito nello schema JSON.
createUIDefinition No Creare lo schema di definizione dell'interfaccia utente per creare un comando di risorsa personalizzato. Per un'introduzione alla creazione delle definizioni dell'interfaccia utente, vedere Introduzione a CreateUiDefinition.
commands No Array di altri pulsanti della barra degli strumenti della vista Risorse personalizzate, vedere comandi.
columns No Array di colonne della risorsa personalizzata. Se non è definita, viene visualizzata la colonna name per impostazione predefinita. La colonna deve avere "key" e "displayName". Per la chiave, specificare la chiave della proprietà da visualizzare in una vista. Se annidato, usare il punto come delimitatore, ad esempio "key": "name" o "key": "properties.property1". Per il nome visualizzato, specificare il nome visualizzato della proprietà da visualizzare in una vista. È anche possibile fornire una proprietà "optional". Se impostato su true, la colonna è nascosta in una vista per impostazione predefinita.

Screenshot che mostra una pagina delle risorse denominata Test custom resource type e il controllo Custom Context Action.

Comandi

La proprietà commands è un array di più pulsanti della barra degli strumenti visualizzati nella pagina. Ogni comando rappresenta un'azione POST del provider personalizzato di Azure definito in mainTemplate.json. Per un'introduzione ai provider personalizzati, vedere Panoramica di provider personalizzati di Azure.

{
  "commands": [
    {
      "displayName": "Start Test Action",
      "path": "testAction",
      "icon": "Start",
      "createUIDefinition": {}
    },
  ]
}
Proprietà Richiesto Descrizione
displayName Nome visualizzato del pulsante di comando.
path Deve essere un nome di azione del provider personalizzato. L'azione deve essere definita in mainTemplate.json.

Non accetta valori dinamici come un URI restituito da mainTemplate.json.
icon No Icona del pulsante di comando. L'elenco di icone di esempio è definito nello schema JSON.
createUIDefinition No Creare lo schema di definizione dell'interfaccia utente per il comando. Per un'introduzione alla creazione delle definizioni dell'interfaccia utente, vedere Introduzione a CreateUiDefinition.

Associazioni

"kind": "Associations"

È possibile definire viste multiple di questo tipo. Questa vista consente di collegare le risorse esistenti all'applicazione gestita tramite il provider personalizzato definito in mainTemplate.json. Per un'introduzione ai provider personalizzati, vedere Azure Custom Providers Preview overview (Panoramica dell'anteprima di provider personalizzati di Azure).

In questa vista è possibile estendere le risorse di Azure esistenti in base a targetResourceType. Quando una risorsa è selezionata, crea una richiesta di onboarding per il provider personalizzato public, che può applicare un effetto collaterale alla risorsa.

{
  "kind": "Associations",
  "properties": {
    "displayName": "Test association resource type",
    "version": "1.0.0",
    "targetResourceType": "Microsoft.Compute/virtualMachines",
    "createUIDefinition": {}
  }
}
Proprietà Richiesto Descrizione
displayName Titolo visualizzato della vista. Il titolo deve essere univoco per ogni visualizzazione Associazioni in viewDefinition.json.
version No Versione della piattaforma usata per eseguire il rendering della vista.
targetResourceType Tipo di risorsa di destinazione. Questo tipo di risorsa è visualizzato per l'onboarding delle risorse.
createUIDefinition No Creare lo schema di definizione dell'interfaccia utente per creare un comando di risorsa di associazione. Per un'introduzione alla creazione delle definizioni dell'interfaccia utente, vedere Introduzione a CreateUiDefinition.

Assistenza

Per risposte a eventuali dubbi sulle applicazioni gestite di Azure, provare a pubblicare le domande in Stack Overflow, usando il tag azure-managed-app.

Passaggi successivi