Struktura pulpitów nawigacyjnych platformy Azure
W tym dokumencie przedstawiono strukturę pulpitu nawigacyjnego platformy Azure przy użyciu następującego pulpitu nawigacyjnego jako przykładu:
Ponieważ udostępnione pulpity nawigacyjne platformy Azure są zasobami, ten pulpit nawigacyjny może być reprezentowany jako JSON. Reprezentację JSON pulpitu nawigacyjnego można pobrać, wybierając pozycję Eksportuj, a następnie pozycję Pobierz w Azure Portal.
Poniższy kod JSON reprezentuje pulpit nawigacyjny przedstawiony powyżej.
{
{
"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"
}
Typowe właściwości zasobu
Podzielmy odpowiednie sekcje kodu JSON. Typowe właściwości zasobu są wyświetlane na końcu powyższego przykładu. Te właściwości są współużytkowane we wszystkich typach zasobów platformy Azure. Nie odnoszą się one specjalnie do zawartości pulpitu nawigacyjnego.
ID (Identyfikator)
Reprezentuje ID
identyfikator zasobu platformy Azure pulpitu nawigacyjnego, z zastrzeżeniem konwencji nazewnictwa zasobów platformy Azure. Gdy portal tworzy pulpit nawigacyjny, zazwyczaj wybiera identyfikator w postaci identyfikatora GUID, ale podczas tworzenia pulpitu nawigacyjnego programowo można użyć dowolnej prawidłowej nazwy.
Podczas eksportowania pulpitu nawigacyjnego z Azure Portal id
pole nie jest uwzględniane. Jeśli utworzysz nowy pulpit nawigacyjny przez zaimportowanie pliku JSON zawierającego id
pole, wartość zostanie zignorowana, a nowa wartość identyfikatora zostanie przypisana do każdego nowego pulpitu nawigacyjnego.
Nazwa
Nazwa zasobu używana Azure Portal dla pulpitu nawigacyjnego.
Typ
Wszystkie pulpity nawigacyjne są typu Microsoft.Portal/dashboards
.
Lokalizacja
W przeciwieństwie do innych zasobów pulpity nawigacyjne nie mają składnika środowiska uruchomieniowego. W przypadku pulpitów nawigacyjnych "lokalizacja" wskazuje podstawową lokalizację geograficzną, która przechowuje reprezentację JSON pulpitu nawigacyjnego. Wartość powinna być jednym z kodów lokalizacji, które można pobrać przy użyciu interfejsu API lokalizacji w zasobie subskrypcji.
Tagi
Tagi to typowa funkcja zasobów platformy Azure, która umożliwia organizowanie zasobu według dowolnych par wartości nazw. Pulpity nawigacyjne zawierają jeden specjalny tag o nazwie hidden-title
. Jeśli na pulpicie nawigacyjnym jest wypełniona ta właściwość, ta wartość jest używana jako nazwa wyświetlana pulpitu nawigacyjnego w portalu. Ten tag umożliwia zmianę nazwy wyświetlanej pulpitu nawigacyjnego
Właściwości
Obiekt properties zawiera dwie właściwości lenses
i metadata
. Właściwość lenses
zawiera informacje o kafelkach na pulpicie nawigacyjnym. Właściwość jest zarezerwowana metadata
dla potencjalnych przyszłych funkcji.
Obiektywy
Właściwość lenses
zawiera pulpit nawigacyjny. Obiekt obiektywu w tym przykładzie zawiera pojedynczą właściwość o nazwie "0". Obiektywy są koncepcją grupowania, która nie jest obecnie implementowana. Na razie wszystkie pulpity nawigacyjne mają tę pojedynczą właściwość "0" w obiekcie obiektywu.
Części
Obiekt poniżej ciągu "0" zawiera dwie właściwości order
i parts
. order
Obecnie wartość jest zawsze ustawiona na 0. Właściwość parts
zawiera obiekt, który definiuje poszczególne części (nazywane również kafelkami) na pulpicie nawigacyjnym.
Obiekt parts
zawiera właściwość dla każdej części, gdzie nazwa właściwości jest liczbą. Liczba nie jest znacząca.
Każdy pojedynczy obiekt części zawiera elementy position
i metadata
.
Position
Właściwość position
zawiera informacje o rozmiarze i lokalizacji dla części wyrażonej jako x
, y
, rowSpan
i colSpan
. Wartości są pod względem jednostek siatki. Te jednostki siatki są widoczne, gdy pulpit nawigacyjny jest w trybie dostosowywania, jak pokazano tutaj.
Jeśli na przykład chcesz, aby kafelek miał szerokość dwóch jednostek siatki, wysokość jednej jednostki siatki i lokalizację w lewym górnym rogu pulpitu nawigacyjnego, obiekt pozycji wygląda następująco:
position: { x: 0, y: 0, rowSpan: 2, colSpan: 1 }
Metadane
Każda część ma właściwość metadanych. Obiekt ma tylko jedną wymaganą właściwość: type
. Ten ciąg informuje portal, który typ kafelka ma być wyświetlany. Nasz przykładowy pulpit nawigacyjny używa następujących typów kafelków:
Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart
— służy do pokazywania metryk monitorowaniaExtension[azure]/HubsExtension/PartType/MarkdownPart
— służy do pokazywania dostosowanej zawartości markdown, takiej jak tekst lub obrazy, z podstawowym formatowaniem list, linków itp.Extension[azure]/HubsExtension/PartType/VideoPart
— służy do pokazywania filmów wideo z YouTube, Kanału 9 i dowolnego innego typu wideo, które działa w tagu wideo HTML.
Każdy typ części ma własne opcje konfiguracji. Możliwe właściwości konfiguracji są nazywane inputs
, settings
i asset
.
Dane wejściowe
Obiekt inputs zazwyczaj zawiera informacje, które wiążą kafelek z wystąpieniem zasobu.
Każdy MetricsChartPart
w naszym przykładzie ma pojedyncze dane wejściowe, które wyrażają zasób, z którego ma być powiązany, reprezentujący identyfikator zasobu platformy Azure maszyny wirtualnej, wraz z informacjami o wyświetlanych danych. Na przykład oto inputs
obiekt kafelka, który pokazuje metryki Łączna liczba sieci i Łączna suma sieci .
"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"
}
]
}
}
]
Ustawienia
Obiekt settings zawiera konfigurowalne elementy części. Na naszym przykładowym pulpicie nawigacyjnym część języka Markdown używa ustawień do przechowywania niestandardowej zawartości języka Markdown wraz z konfigurowalnym tytułem i podtytułem.
"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"
}
}
}
Podobnie kafelek wideo ma własne ustawienia, które zawierają wskaźnik do odtwarzania wideo, ustawienie autoodtwarzania i opcjonalne informacje o tytule.
"settings": {
"content": {
"settings": {
"src": "https://www.youtube.com/watch?v=rOiSRkxtTeU",
"autoplay": false
}
}
}
Zasób
Kafelki powiązane z obiektami portalu zarządzanymi przez pierwszą klasę (nazywane zasobami) mają tę relację wyrażoną asset
za pośrednictwem obiektu. Na naszym przykładowym pulpicie nawigacyjnym kafelek maszyny wirtualnej zawiera ten opis zasobu. Właściwość idInputName
informuje portal, że dane wejściowe identyfikatora zawierają unikatowy identyfikator zasobu, w tym przypadku identyfikator zasobu. Większość typów zasobów platformy Azure ma zasoby zdefiniowane w portalu.
"asset": { "idInputName": "id", "type": "VirtualMachine" }
Następne kroki
- Dowiedz się, jak utworzyć pulpit nawigacyjny w Azure Portal lub programowo.
- Dowiedz się, jak używać kafelków markdown na pulpitach nawigacyjnych platformy Azure do wyświetlania zawartości niestandardowej.