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

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

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:

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