Udostępnij za pośrednictwem


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:

Zrzut ekranu przedstawiający przykładowy pulpit nawigacyjny w witrynie Azure Portal.

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, rowSpani colSpan. Wartości są pod względem jednostek siatki. Te jednostki siatki są widoczne, gdy pulpit nawigacyjny jest w trybie edytowalnym, jak pokazano tutaj.

Zrzut ekranu przedstawiający jednostki siatki dla pulpitu nawigacyjnego w witrynie Azure Portal.

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:

  1. Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart — służy do wyświetlania metryk monitorowania
  2. Extension[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.
  3. 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, settingsi 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