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 witrynie Azure Portal.
Przykładowy kod JSON pulpitu nawigacyjnego
Poniższy kod JSON reprezentuje przykładowy pulpit nawigacyjny pokazany w poprzedniej sekcji.
{
"properties": {
"lenses": [
{
"order": 0,
"parts": [
{
"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
}
}
}
}
},
{
"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
}
}
}
}
},
{
"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
}
}
}
}
},
{
"position": {
"x": 0,
"y": 4,
"colSpan": 11,
"rowSpan": 3
},
"metadata": {
"inputs": [
{
"name": "queryInputs",
"value": {
"timespan": {
"duration": "PT1H"
},
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine",
"chartType": 0,
"metrics": [
{
"name": "Percentage CPU",
"resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine"
}
]
}
}
],
"type": "Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart"
}
},
{
"position": {
"x": 0,
"y": 7,
"colSpan": 3,
"rowSpan": 2
},
"metadata": {
"inputs": [
{
"name": "queryInputs",
"value": {
"timespan": {
"duration": "PT1H"
},
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine",
"chartType": 0,
"metrics": [
{
"name": "Disk Read Operations/Sec",
"resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine"
},
{
"name": "Disk Write Operations/Sec",
"resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine"
}
]
}
}
],
"type": "Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart"
}
},
{
"position": {
"x": 3,
"y": 7,
"colSpan": 3,
"rowSpan": 2
},
"metadata": {
"inputs": [
{
"name": "queryInputs",
"value": {
"timespan": {
"duration": "PT1H"
},
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine",
"chartType": 0,
"metrics": [
{
"name": "Disk Read Bytes",
"resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine"
},
{
"name": "Disk Write Bytes",
"resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine"
}
]
}
}
],
"type": "Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart"
}
},
{
"position": {
"x": 6,
"y": 7,
"colSpan": 3,
"rowSpan": 2
},
"metadata": {
"inputs": [
{
"name": "queryInputs",
"value": {
"timespan": {
"duration": "PT1H"
},
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine",
"chartType": 0,
"metrics": [
{
"name": "Network In Total",
"resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine"
},
{
"name": "Network Out Total",
"resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine"
}
]
}
}
],
"type": "Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart"
}
},
{
"position": {
"x": 9,
"y": 7,
"colSpan": 2,
"rowSpan": 2
},
"metadata": {
"inputs": [
{
"name": "id",
"value": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine"
}
],
"type": "Extension/Microsoft_Azure_Compute/PartType/VirtualMachinePart",
"asset": {
"idInputName": "id",
"type": "VirtualMachine"
}
}
}
]
}
],
"metadata": {
"model": {}
}
},
"name": "Simple VM Dashboard",
"type": "Microsoft.Portal/dashboards",
"location": "INSERT LOCATION",
"tags": {
"hidden-title": "Simple VM Dashboard"
},
"apiVersion": "2022-12-01-preview"
}
Typowe właściwości zasobu
Przeanalizujmy odpowiednie sekcje kodu JSON. Typowe właściwości zasobu są wyświetlane na końcu przykładowego kodu JSON. Te właściwości są współużytkowane we wszystkich typach zasobów platformy Azure i nie odnoszą się one specjalnie do zawartości pulpitu nawigacyjnego.
ID
Element ID
reprezentuje identyfikator zasobu platformy Azure pulpitu nawigacyjnego, zgodnie z konwencjami nazewnictwa zasobów platformy Azure. Gdy portal tworzy pulpit nawigacyjny, zazwyczaj wybiera identyfikator w postaci identyfikatora GUID, ale można użyć dowolnej prawidłowej nazwy podczas programowego tworzenia pulpitu nawigacyjnego.
Podczas eksportowania pulpitu nawigacyjnego z witryny 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.
Nazwisko
Nazwa zasobu używana przez witrynę Azure Portal dla pulpitu nawigacyjnego.
Typ
Wszystkie pulpity nawigacyjne mają typ Microsoft.Portal/dashboards
.
Lokalizacja
W przeciwieństwie do innych zasobów pulpity nawigacyjne nie mają składnika środowiska uruchomieniowego. W przypadku pulpitów nawigacyjnych wskazuje podstawową lokalizację geograficzną, location
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 i lenses
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.
generatora
Właściwość lenses
zawiera dwie właściwości i order
parts
. order
Obecnie zawsze jest ustawiona wartość 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 obiekt części zawiera position
element 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 edytowalnym, jak pokazano tutaj.
Na przykład jeśli chcesz, aby kafelek miał szerokość dwóch jednostek siatki, wysokość jednej jednostki siatki i lokalizację w lewym górnym rogu pulpitu nawigacyjnego, obiekt position 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ść w metadanych: 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 wyświetlania metryk monitorowaniaExtension[azure]/HubsExtension/PartType/MarkdownPart
— służy do wyświetlania 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 wyświetlania filmów wideo z serwisu YouTube, kanału 9 i dowolnego innego typu wideo, który 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 zawiera pojedyncze dane wejściowe, które wyrażają zasób do powiązania, reprezentując 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 liczba w sieci.
"inputs":
[
{
"name": "queryInputs",
"value": {
"timespan": {
"duration": "PT1H"
},
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine",
"chartType": 0,
"metrics": [
{
"name": "Network In Total",
"resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine"
},
{
"name": "Network Out Total",
"resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine"
}
]
}
}
]
Ustawienia
Obiekt ustawień zawiera konfigurowalne elementy części. Na naszym przykładowym pulpicie nawigacyjnym MarkdownPart
ustawienia używają ustawień do przechowywania niestandardowej zawartości 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",
"markdownUri": null
}
}
}
Podobnie ma VideoPart
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
}
}
}
Asset
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 witrynie Azure Portal lub programowo.
- Dowiedz się, jak używać kafelków markdown na pulpitach nawigacyjnych platformy Azure do wyświetlania zawartości niestandardowej.