Azure panolarının yapısı
Bu belge, örnek olarak aşağıdaki panoyu kullanarak bir Azure panosunun yapısında yol gösterilir:
Paylaşılan Azure panoları kaynak olduğundan bu pano JSON olarak temsil edilebilir. Azure portalında Dışarı Aktar ve ardından İndir'i seçerek bir panonun JSON gösterimini indirebilirsiniz.
Örnek pano JSON
Aşağıdaki JSON, önceki bölümde gösterilen örnek panoyu temsil eder.
{
"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"
}
Ortak kaynak özellikleri
Şimdi JSON'un ilgili bölümlerini ayıralım. Ortak kaynak özellikleri, örnek JSON'un sonuna yakın bir şekilde görünür. Bu özellikler tüm Azure kaynak türlerinde paylaşılır ve özellikle panonun içeriğiyle ilgili değildir.
Kimlik
, ID
Azure kaynaklarının adlandırma kurallarına tabi olarak panonun Azure kaynak kimliğini temsil eder. Portal bir pano oluşturduğunda genellikle guid biçiminde bir kimlik seçer, ancak panoyu program aracılığıyla oluştururken geçerli bir ad kullanabilirsiniz.
Azure portalından bir panoyu dışarı aktardığınızda, id
alan dahil değildir. Alanını içeren id
bir JSON dosyasını içeri aktararak yeni bir pano oluşturursanız, değer yoksayılır ve her yeni panoya yeni bir kimlik değeri atanır.
Veri Akışı Adı
Azure portalının pano için kullandığı kaynak adı.
Tür
Tüm panolar türündedir Microsoft.Portal/dashboards
.
Konum
Diğer kaynaklardan farklı olarak panoların çalışma zamanı bileşeni yoktur. Panolar için, location
panonun JSON gösterimini depolayan birincil coğrafi konumu gösterir. Değer, abonelik kaynağındaki konumlar API'sini kullanarak getirilebilen konum kodlarından biri olmalıdır.
Etiketler
Etiketler, Azure kaynaklarının kaynaklarınızı rastgele ad değer çiftlerine göre düzenlemenize olanak sağlayan yaygın bir özelliğidir. Panolar adlı hidden-title
özel bir etiket içerir. Panonuzda bu özellik doldurulmuşsa, bu değer portalda panonuzun görünen adı olarak kullanılır. Bu etiket, panonuz için yeniden adlandırılabilir bir görünen ada sahip olmak için bir yol sağlar
Properties
properties
nesnesi ve metadata
adlı iki özellik lenses
içerir. özelliği panodaki lenses
kutucuklar hakkında bilgi içerir. Özelliği metadata
gelecekteki olası özellikler için ayrılmıştır.
Lens -ler
lenses
özelliği panoyu içerir.
Parça
lenses
özelliği iki özellik order
içerir ve parts
. order
Şu anda her zaman 0 olarak ayarlanmıştır. özelliği, parts
panodaki tek tek bölümleri (kutucuk olarak da adlandırılır) tanımlayan bir nesne içerir.
parts
nesnesi, özelliğin adının bir sayı olduğu her bölüm için bir özellik içerir. Sayı önemli değil.
Tek tek her parça nesnesi ve metadata
içerirposition
.
Position
position
özelliği, , y
, rowSpan
ve olarak x
ifade edilen parçanın boyut ve colSpan
konum bilgilerini içerir. Değerler kılavuz birimleri cinsindendir. Bu kılavuz birimleri, pano burada gösterildiği gibi düzenlenebilir modda olduğunda görünür.
Örneğin, bir kutucuğun iki kılavuz birimi genişliğine, bir kılavuz biriminin yüksekliğine ve panonun sol üst köşesindeki bir konuma sahip olmasını istiyorsanız, konum nesnesi şöyle görünür:
position: { x: 0, y: 0, rowSpan: 2, colSpan: 1 }
Meta veri
Her bölümün bir meta veri özelliği vardır. Bir nesnenin meta veriler içinde yalnızca bir gerekli özelliği vardır: type
. Bu dize portala hangi kutucuk türünün göstereceğini bildirir. Örnek panomuzda şu kutucuk türleri kullanılır:
Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart
– İzleme ölçümlerini göstermek için kullanılırExtension[azure]/HubsExtension/PartType/MarkdownPart
– Listeler, bağlantılar vb. için temel biçimlendirmeye sahip metin veya resimler gibi özelleştirilmiş markdown içeriğini göstermek için kullanılır.Extension[azure]/HubsExtension/PartType/VideoPart
– YouTube, Kanal 9 ve HTML video etiketinde çalışan diğer video türlerinden videoları göstermek için kullanılır.
Her parça türünün kendi yapılandırma seçenekleri vardır. Olası yapılandırma özellikleri , settings
ve asset
olarak adlandırılırinputs
.
Girişler
Inputs nesnesi genellikle bir kutucuğu kaynak örneğine bağlayan bilgiler içerir.
Örneğimizdeki her MetricsChartPart
biri, vm'nin Azure kaynak kimliğini ve görüntülenen veriler hakkındaki bilgileri temsil eden bağlanacak kaynağı ifade eden tek bir girişe sahiptir. Örneğin, Toplam Ağ ve Toplam Ağ Dışında ölçümlerini gösteren kutucuğun nesnesi aşağıda inputs
verilmiştir.
"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"
}
]
}
}
]
Ayarlar
Ayarlar nesnesi, bir bölümün yapılandırılabilir öğelerini içerir. Örnek panomuzda, MarkdownPart
özel markdown içeriğinin yanı sıra yapılandırılabilir başlık ve alt başlık depolamak için ayarları kullanır.
"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
}
}
}
Benzer şekilde, yürütülecek VideoPart
videonun işaretçisini, otomatik yürütme ayarını ve isteğe bağlı başlık bilgilerini içeren kendi ayarları vardır.
"settings": {
"content": {
"settings": {
"src": "https://www.youtube.com/watch?v=rOiSRkxtTeU",
"autoplay": false
}
}
}
Varlık
Birinci sınıf yönetilebilir portal nesnelerine (varlık olarak adlandırılır) bağlı kutucuklar, nesne aracılığıyla asset
ifade edilen bu ilişkiye sahiptir. Örnek panomuzda, sanal makine kutucuğu bu varlık açıklamasını içerir. idInputName
özelliği portala kimlik girişinin varlık için benzersiz tanımlayıcıyı (bu örnekte kaynak kimliğini) içerdiğini bildirir. Çoğu Azure kaynak türünün portalda tanımlanmış varlıkları vardır.
"asset": {
"idInputName": "id",
"type": "VirtualMachine"
}
Sonraki adımlar
- Azure portalında veya program aracılığıyla pano oluşturmayı öğrenin.
- Özel içeriği göstermek için Azure panolarında markdown kutucuklarını kullanmayı öğrenin.