Struktura řídicích panelů Azure

Tento dokument vás provede strukturou řídicího panelu Azure a jako příklad použijeme následující řídicí panel:

Snímek obrazovky s ukázkovým řídicím panelem v Azure Portal

Vzhledem k tomu, že sdílené řídicí panely Azure jsou prostředky, může být tento řídicí panel reprezentován jako JSON. Reprezentaci JSON řídicího panelu si můžete stáhnout tak, že v Azure Portal vyberete Exportovat a pak Stáhnout.

Následující kód JSON představuje řídicí panel uvedený výše.

{
{
  "properties": {
    "lenses": {
      "0": {
        "order": 0,
        "parts": {
          "0": {
            "position": {
              "x": 0,
              "y": 0,
              "colSpan": 3,
              "rowSpan": 2
            },
            "metadata": {
              "inputs": [],
              "type": "Extension/HubsExtension/PartType/MarkdownPart",
              "settings": {
                "content": {
                  "settings": {
                    "content": "## Azure Virtual Machines Overview\r\nNew team members should watch this video to get familiar with Azure Virtual Machines.",
                    "markdownUri": null
                  }
                }
              }
            }
          },
          "1": {
            "position": {
              "x": 3,
              "y": 0,
              "colSpan": 8,
              "rowSpan": 4
            },
            "metadata": {
              "inputs": [],
              "type": "Extension/HubsExtension/PartType/MarkdownPart",
              "settings": {
                "content": {
                  "settings": {
                    "content": "This is the team dashboard for the test VM we use on our team. Here are some useful links:\r\n\r\n1. [Create a Linux virtual machine](https://docs.microsoft.com/azure/virtual-machines/linux/quick-create-portal)\r\n1. [Create a Windows virtual machine](https://docs.microsoft.com/azure/virtual-machines/windows/quick-create-portal)\r\n1. [Create a virtual machine scale set](https://docs.microsoft.com/azure/virtual-machine-scale-sets/quick-create-portal)",
                    "title": "Test VM Dashboard",
                    "subtitle": "Contoso",
                    "markdownUri": null
                  }
                }
              }
            }
          },
          "2": {
            "position": {
              "x": 0,
              "y": 2,
              "colSpan": 3,
              "rowSpan": 2
            },
            "metadata": {
              "inputs": [],
              "type": "Extension/HubsExtension/PartType/VideoPart",
              "settings": {
                "content": {
                  "settings": {
                    "src": "https://www.youtube.com/watch?v=rOiSRkxtTeU",
                    "autoplay": false
                  }
                }
              }
            }
          },
          "3": {
            "position": {
              "x": 0,
              "y": 4,
              "colSpan": 11,
              "rowSpan": 3
            },
            "metadata": {
              "inputs": [
                {
                  "name": "queryInputs",
                  "value": {
                    "timespan": {
                      "duration": "PT1H"
                    },
                    "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1",
                    "chartType": 0,
                    "metrics": [
                      {
                        "name": "Percentage CPU",
                        "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1"
                      }
                    ]
                  }
                }
              ],
              "type": "Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart",
              "settings": {}
            }
          },
          "4": {
            "position": {
              "x": 0,
              "y": 7,
              "colSpan": 3,
              "rowSpan": 2
            },
            "metadata": {
              "inputs": [
                {
                  "name": "queryInputs",
                  "value": {
                    "timespan": {
                      "duration": "PT1H"
                    },
                    "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1",
                    "chartType": 0,
                    "metrics": [
                      {
                        "name": "Disk Read Operations/Sec",
                        "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1"
                      },
                      {
                        "name": "Disk Write Operations/Sec",
                        "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1"
                      }
                    ]
                  }
                }
              ],
              "type": "Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart",
              "settings": {}
            }
          },
          "5": {
            "position": {
              "x": 3,
              "y": 7,
              "colSpan": 3,
              "rowSpan": 2
            },
            "metadata": {
              "inputs": [
                {
                  "name": "queryInputs",
                  "value": {
                    "timespan": {
                      "duration": "PT1H"
                    },
                    "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1",
                    "chartType": 0,
                    "metrics": [
                      {
                        "name": "Disk Read Bytes",
                        "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1"
                      },
                      {
                        "name": "Disk Write Bytes",
                        "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1"
                      }
                    ]
                  }
                }
              ],
              "type": "Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart",
              "settings": {}
            }
          },
          "6": {
            "position": {
              "x": 6,
              "y": 7,
              "colSpan": 3,
              "rowSpan": 2
            },
            "metadata": {
              "inputs": [
                {
                  "name": "queryInputs",
                  "value": {
                    "timespan": {
                      "duration": "PT1H"
                    },
                    "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1",
                    "chartType": 0,
                    "metrics": [
                      {
                        "name": "Network In Total",
                        "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1"
                      },
                      {
                        "name": "Network Out Total",
                        "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1"
                      }
                    ]
                  }
                }
              ],
              "type": "Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart",
              "settings": {}
            }
          },
          "7": {
            "position": {
              "x": 9,
              "y": 7,
              "colSpan": 2,
              "rowSpan": 2
            },
            "metadata": {
              "inputs": [
                {
                  "name": "id",
                  "value": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1"
                }
              ],
              "type": "Extension/HubsExtension/PartType/ResourcePart",
              "asset": {
                "idInputName": "id",
                "type": "VirtualMachine"
              }
            }
          }
        }
      }
    },
    "metadata": {
      "model": {
        "timeRange": {
          "value": {
            "relative": {
              "duration": 24,
              "timeUnit": 1
            }
          },
          "type": "MsPortalFx.Composition.Configuration.ValueTypes.TimeRange"
        }
      }
    }
  },
  "name": "Simple VM Dashboard",
  "type": "Microsoft.Portal/dashboards",
  "location": "INSERT LOCATION",
  "tags": {
    "hidden-title": "Simple VM Dashboard"
  },
  "apiVersion": "2015-08-01-preview"
}

Společné vlastnosti prostředku

Pojďme si rozepsat relevantní oddíly JSON. Společné vlastnosti prostředků se zobrazí na konci výše uvedeného příkladu. Tyto vlastnosti se sdílejí napříč všemi typy prostředků Azure. Nesouvisí konkrétně s obsahem řídicího panelu.

ID

Představuje ID ID prostředku Azure řídicího panelu v souladu s konvencemi vytváření názvů prostředků Azure. Když portál vytvoří řídicí panel, obvykle zvolí ID ve formě identifikátoru GUID, ale při vytváření řídicího panelu můžete použít libovolný platný název.

Když exportujete řídicí panel ze Azure Portal, id pole se nezobrazí. Pokud vytvoříte nový řídicí panel importem souboru JSON, který obsahuje id pole, bude hodnota ignorována a každému novému řídicímu panelu se přiřadí nová hodnota ID.

Název

Název prostředku, který Azure Portal používat pro řídicí panel.

Typ

Všechny řídicí panely jsou typu Microsoft.Portal/dashboards.

Umístění

Na rozdíl od jiných prostředků řídicí panely nemají komponentu modulu runtime. U řídicích panelů location označuje primární geografické umístění, ve kterém je uložená reprezentace JSON řídicího panelu. Hodnotou by měl být jeden z kódů umístění, které je možné načíst pomocí rozhraní API pro umístění v prostředku předplatných.

Značky

Značky jsou běžnou funkcí prostředků Azure, která umožňuje uspořádat prostředky podle dvojic hodnot libovolných názvů. Řídicí panely obsahují jednu speciální značku s názvem hidden-title. Pokud má řídicí panel tuto vlastnost vyplněnou, použije se tato hodnota jako zobrazovaný název řídicího panelu na portálu. Tato značka poskytuje způsob, jak mít zobrazovaný název řídicího panelu, který se dá upravit.

Vlastnosti

Objekt properties obsahuje dvě vlastnosti, lenses a metadata. Vlastnost lenses obsahuje informace o dlaždicích na řídicím panelu. Vlastnost metadata je vyhrazená pro potenciální budoucí funkce.

Objektivy

Vlastnost lenses obsahuje řídicí panel. Objekt lens v tomto příkladu obsahuje jednu vlastnost s názvem "0". Objektivy jsou koncept seskupení, který není v současné době implementovaný. Prozatím mají všechny řídicí panely u objektu lens tuto jedinou vlastnost "0".

Součásti

Objekt pod 0 obsahuje dvě vlastnosti, order a parts. order V současné době je hodnota vždy nastavená na hodnotu 0. Vlastnost parts obsahuje objekt, který definuje jednotlivé části (označované také jako dlaždice) na řídicím panelu.

Objekt parts obsahuje vlastnost pro každou část, kde název vlastnosti je číslo. Číslo není významné.

Každý objekt jednotlivé části obsahuje position a metadata.

Position

Vlastnost position obsahuje informace o velikosti a umístění části vyjádřené jako x, y, rowSpana colSpan. Hodnoty jsou z hlediska jednotek mřížky. Tyto jednotky mřížky jsou viditelné, když je řídicí panel v režimu přizpůsobení, jak je znázorněno tady.

Snímek obrazovky znázorňující jednotky mřížky pro řídicí panel v Azure Portal

Pokud například chcete, aby dlaždice měla šířku dvou jednotek mřížky, výšku jedné jednotky mřížky a umístění v levém horním rohu řídicího panelu, objekt position vypadá takto:

position: { x: 0, y: 0, rowSpan: 2, colSpan: 1 }

Metadata

Každá část má vlastnost metadat. Objekt má pouze jednu požadovanou vlastnost: type. Tento řetězec portálu řekne, který typ dlaždice se má zobrazit. Náš ukázkový řídicí panel používá tyto typy dlaždic:

  1. Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart – Slouží k zobrazení metrik monitorování.
  2. Extension[azure]/HubsExtension/PartType/MarkdownPart – Používá se k zobrazení přizpůsobeného obsahu Markdownu, jako je text nebo obrázky, se základním formátováním seznamů, odkazů atd.
  3. Extension[azure]/HubsExtension/PartType/VideoPart – Používá se k zobrazení videí z YouTube, Channel 9 a jakéhokoli jiného typu videa, které funguje ve značce videa HTML.

Každý typ části má své vlastní možnosti konfigurace. Možné vlastnosti konfigurace se nazývají inputs, settingsa asset.

Vstupy

Objekt inputs obvykle obsahuje informace, které sváže dlaždici s instancí prostředku.

Každý MetricsChartPart v našem příkladu má jeden vstup, který vyjadřuje prostředek, ke kterému se má vytvořit vazba, a představuje ID prostředku Azure virtuálního počítače spolu s informacemi o zobrazených datech. Tady je inputs například objekt pro dlaždici, který zobrazuje metriky Network In Total (Celkem sítě) a Network Out Total (Celkový počet síťových odchozích sítí ).

"inputs":
[
  {
    "name": "queryInputs",
    "value": {
      "timespan": {
        "duration": "PT1H"
      },
      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1",
      "chartType": 0,
      "metrics": [
        {
          "name": "Network In Total",
          "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1"
        },
        {
          "name": "Network Out Total",
          "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1"
        }
      ]
    }
  }
]

Nastavení

Objekt settings obsahuje konfigurovatelné prvky části. V našem ukázkovém řídicím panelu používá část Markdown nastavení k uložení vlastního obsahu Markdownu spolu s konfigurovatelným názvem a podnadpisem.

"settings": {
  "content": {
    "settings": {
      "content": "This is the team dashboard for the test VM we use on our team. Here are some useful links:\r\n\r\n1. [Create a Linux virtual machine](https://docs.microsoft.com/azure/virtual-machines/linux/quick-create-portal)\r\n1. [Create a Windows virtual machine](https://docs.microsoft.com/azure/virtual-machines/windows/quick-create-portal)\r\n1. [Create a virtual machine scale set](https://docs.microsoft.com/azure/virtual-machine-scale-sets/quick-create-portal)",
      "title": "Test VM Dashboard",
      "subtitle": "Contoso"
    }
  }
}

Podobně má dlaždice videa vlastní nastavení, která obsahují ukazatel na video, které chcete přehrát, nastavení automatického přehrávání a volitelné informace o názvu.


"settings": {
  "content": {
    "settings": {
      "src": "https://www.youtube.com/watch?v=rOiSRkxtTeU",
      "autoplay": false
    }
  }
}

Prostředek

Dlaždice, které jsou vázané na objekty portálu první třídy spravovatelné (označované jako prostředky), mají tento vztah vyjádřený prostřednictvím objektu asset . V našem příkladu řídicího panelu obsahuje dlaždice virtuálního počítače tento popis prostředku. Vlastnost idInputName portálu říká, že vstup ID obsahuje jedinečný identifikátor prostředku, v tomto případě ID prostředku. Většina typů prostředků Azure má prostředky definované na portálu.

"asset": { "idInputName": "id", "type": "VirtualMachine" }

Další kroky