Strukturen för Azure-instrumentpaneler
Det här dokumentet går igenom strukturen för en Azure-instrumentpanel med hjälp av följande instrumentpanel som exempel:
Eftersom delade Azure-instrumentpaneler är resurser kan den här instrumentpanelen representeras som JSON. Du kan ladda ned JSON-representationen av en instrumentpanel genom att välja Exportera och sedan Ladda ned i Azure Portal.
Exempel på JSON för instrumentpanelen
Följande JSON representerar exempelinstrumentpanelen som visas i föregående avsnitt.
{
"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"
}
Vanliga resursegenskaper
Nu ska vi dela upp de relevanta avsnitten i JSON. De vanliga resursegenskaperna visas i slutet av JSON-exemplet. De här egenskaperna delas mellan alla Azure-resurstyper och de relaterar inte specifikt till instrumentpanelens innehåll.
ID
ID
Representerar instrumentpanelens Azure-resurs-ID, med förbehåll för namngivningskonventionerna för Azure-resurser. När portalen skapar en instrumentpanel väljer den vanligtvis ett ID i form av ett guid, men du kan använda valfritt giltigt namn när du skapar en instrumentpanel programmatiskt.
När du exporterar en instrumentpanel från Azure Portal inkluderas inte fältetid
. Om du skapar en ny instrumentpanel genom att importera en JSON-fil som innehåller id
fältet ignoreras värdet och ett nytt ID-värde tilldelas till varje ny instrumentpanel.
Name
Resursnamnet som Azure Portal använder för instrumentpanelen.
Typ
Alla instrumentpaneler är av typen Microsoft.Portal/dashboards
.
Plats
Till skillnad från andra resurser har instrumentpaneler ingen körningskomponent. För instrumentpaneler location
anger den primära geografiska platsen som lagrar instrumentpanelens JSON-representation. Värdet ska vara en av de platskoder som kan hämtas med hjälp av plats-API:et för prenumerationsresursen.
Taggar
Taggar är en vanlig funktion i Azure-resurser som gör att du kan organisera din resurs efter godtyckliga namnvärdepar. Instrumentpaneler innehåller en särskild tagg med namnet hidden-title
. Om din instrumentpanel har den här egenskapen ifylld används det värdet som visningsnamn för instrumentpanelen i portalen. Den här taggen ger dig ett sätt att ha ett namn på visningsnamnet för instrumentpanelen
Egenskaper
Objektet properties
innehåller två egenskaper och lenses
metadata
. Egenskapen lenses
innehåller information om panelerna på instrumentpanelen. Egenskapen metadata
är reserverad för potentiella framtida funktioner.
Linser
Egenskapen lenses
innehåller instrumentpanelen.
Delar
Egenskapen lenses
innehåller två egenskaper och order
parts
. order
För närvarande är alltid inställt på 0. Egenskapen parts
innehåller ett objekt som definierar de enskilda delarna (kallas även paneler) på instrumentpanelen.
Objektet parts
innehåller en egenskap för varje del, där namnet på egenskapen är ett tal. Talet är inte signifikant.
Varje enskilt delobjekt innehåller position
och metadata
.
Position
Egenskapen position
innehåller storleks- och platsinformationen för delen uttryckt som x
, y
, rowSpan
och colSpan
. Värdena är i termer av rutnätsenheter. Dessa rutnätsenheter visas när instrumentpanelen är i redigerbart läge, som du ser här.
Om du till exempel vill att en panel ska ha en bredd på två rutnätsenheter, en höjd på en rutnätsenhet och en plats i instrumentpanelens övre vänstra hörn ser positionsobjektet ut så här:
position: { x: 0, y: 0, rowSpan: 2, colSpan: 1 }
Metadata
Varje del har en metadataegenskap. Ett objekt har bara en nödvändig egenskap inom metadata: type
. Den här strängen anger vilken paneltyp som ska visas i portalen. Vår exempelinstrumentpanel använder följande typer av paneler:
Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart
– Används för att visa övervakningsmåttExtension[azure]/HubsExtension/PartType/MarkdownPart
– Används för att visa anpassat markdown-innehåll, till exempel text eller bilder, med grundläggande formatering för listor, länkar osv.Extension[azure]/HubsExtension/PartType/VideoPart
– Används för att visa videor från YouTube, Channel 9 och andra typer av video som fungerar i en HTML-videotagg.
Varje typ av del har sina egna alternativ för konfiguration. De möjliga konfigurationsegenskaperna kallas inputs
, settings
och asset
.
Indata
Indataobjektet innehåller vanligtvis information som binder en panel till en resursinstans.
Var MetricsChartPart
och en i vårt exempel har en enda indata som uttrycker resursen att binda till, som representerar den virtuella datorns Azure-resurs-ID, tillsammans med information om de data som visas. Här är inputs
till exempel objektet för panelen som visar måtten Totalt nätverk och Totalt nätverk.
"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"
}
]
}
}
]
Inställningar
Inställningsobjektet innehåller de konfigurerbara elementen i en del. I vår exempelinstrumentpanel MarkdownPart
använder inställningarna för att lagra det anpassade markdown-innehållet, tillsammans med en konfigurerbar rubrik och underrubrik.
"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
}
}
}
VideoPart
På samma sätt har de egna inställningarna som innehåller en pekare till videon som ska spelas upp, en inställning för automatisk uppspelning och valfri rubrikinformation.
"settings": {
"content": {
"settings": {
"src": "https://www.youtube.com/watch?v=rOiSRkxtTeU",
"autoplay": false
}
}
}
Tillgång
Paneler som är bundna till förstklassiga hanterbara portalobjekt (kallas tillgångar) har den här relationen uttryckt via asset
objektet. I vår exempelinstrumentpanel innehåller panelen för den virtuella datorn den här tillgångsbeskrivningen. Egenskapen idInputName
anger för portalen att ID-indata innehåller den unika identifieraren för tillgången, i det här fallet resurs-ID:t. De flesta Azure-resurstyper har tillgångar som definierats i portalen.
"asset": {
"idInputName": "id",
"type": "VirtualMachine"
}
Nästa steg
- Lär dig hur du skapar en instrumentpanel i Azure Portal eller programmatiskt.
- Lär dig hur du använder markdown-paneler på Azure-instrumentpaneler för att visa anpassat innehåll.