Mengelola buku kerja secara terprogram
Pemilik sumber daya memiliki opsi untuk membuat dan mengelola buku kerja mereka secara terprogram melalui templat Resource Manager.
Ini dapat berguna dalam skenario seperti:
- Menyebarkan laporan analitik khusus organisasi atau domain bersama dengan penyebaran sumber daya. Misalnya, Anda dapat menyebarkan performa khusus organisasi dan buku kerja kegagalan untuk aplikasi atau komputer virtual baru Anda.
- Menyebarkan laporan atau dasbor standar menggunakan buku kerja untuk sumber daya yang ada.
Buku kerja akan dibuat di sub/grup sumber daya yang diinginkan dan dengan isi yang ditentukan dalam templat Resource Manager.
Ada dua jenis sumber daya buku kerja yang dapat dikelola secara terprogram:
Templat Azure Resource Manager untuk menyebarkan templat buku kerja
Buka buku kerja yang ingin Anda sebarkan secara terprogram.
Alihkan buku kerja ke mode edit dengan mengklik item toolbar Edit.
Buka Editor Lanjutan menggunakan tombol </> pada bilah alat.
Pastikan Anda di tab Templat Galeri.

Salin JSON di templat galeri ke clipboard.
Di bawah ini adalah contoh templat Azure Resource Manager yang menyebarkan templat buku kerja ke galeri buku kerja Azure Monitor. Tempelkan JSON yang Anda salin menggantikan
<PASTE-COPIED-WORKBOOK_TEMPLATE_HERE>. Referensi templat Azure Resource Manager untuk membuat templat buku kerja dapat ditemukan di sini.{ "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "resourceName": { "type": "string", "defaultValue": "my-workbook-template", "metadata": { "description": "The unique name for this workbook template instance" } } }, "resources": [ { "name": "[parameters('resourceName')]", "type": "microsoft.insights/workbooktemplates", "location": "[resourceGroup().location]", "apiVersion": "2019-10-17-preview", "dependsOn": [], "properties": { "galleries": [ { "name": "A Workbook Template", "category": "Deployed Templates", "order": 100, "type": "workbook", "resourceType": "Azure Monitor" } ], "templateData": <PASTE-COPIED-WORKBOOK_TEMPLATE_HERE> } } ] }Di objek
galleries, isi kuncinamedancategorydengan nilai Anda. Pelajari lebih lanjut tentang parameter di bagian berikutnya.Terapkan template Azure Resource Manager ini menggunakan portal Azure, antarmuka baris perintah, PowerShell, dll.
Buka portal Azure dan navigasikan ke galeri buku kerja yang dipilih di templat Azure Resource Manager. Dalam templat contoh, navigasikan ke galeri buku kerja Azure Monitor:
- Buka portal Azure dan navigasikan ke Azure Monitor
- Buka
Workbooksdari daftar isi - Temukan templat Anda di galeri pada kategori
Deployed Templates(seharusnya salah satu item berwarna ungu).
Parameter
| Parameter | Penjelasan |
|---|---|
name |
Nama sumber daya templat buku kerja di Azure Resource Manager. |
type |
Selalu microsoft.insights/workbooktemplates |
location |
Lokasi Azure tempat buku kerja akan dibuat. |
apiVersion |
17-10-2019 pratinjau |
type |
Selalu microsoft.insights/workbooktemplates |
galleries |
Set galeri untuk menampilkan templat buku kerja ini. |
gallery.name |
Nama templat buku kerja yang mudah diingat di galeri. |
gallery.category |
Grup di galeri untuk menempatkan templat. |
gallery.order |
Angka yang menentukan urutan untuk menampilkan templat dalam kategori di galeri. Urutan yang lebih rendah menyiratkan prioritas yang lebih tinggi. |
gallery.resourceType |
Jenis sumber daya yang sesuai dengan galeri. Ini biasanya untai jenis sumber daya yang sesuai dengan sumber daya (misalnya, microsoft.operationalinsights/workspaces ). |
gallery.type |
Disebut sebagai jenis buku kerja, ini adalah kunci unik yang membedakan galeri dalam jenis sumber daya. Application Insights, misalnya, memiliki jenis workbook dan tsg yang sesuai dengan galeri buku kerja yang berbeda. |
Galeri
| Galeri | Jenis Sumber Daya | Jenis buku kerja |
|---|---|---|
| Buku kerja di Azure Monitor | Azure Monitor |
workbook |
| Wawasan VM di Azure Monitor | Azure Monitor |
vm-insights |
| Buku kerja di ruang kerja Analitik log | microsoft.operationalinsights/workspaces |
workbook |
| Buku Kerja di Application Insights | microsoft.insights/components |
workbook |
| Panduan pemecahan masalah di Application Insights | microsoft.insights/components |
tsg |
| Penggunaan di Application Insights | microsoft.insights/components |
usage |
| Buku kerja di layanan Kubernetes | Microsoft.ContainerService/managedClusters |
workbook |
| Buku kerja di grup Sumber Daya | microsoft.resources/subscriptions/resourcegroups |
workbook |
| Buku kerja di Azure Active Directory | microsoft.aadiam/tenant |
workbook |
| Wawasan VM di komputer Virtual | microsoft.compute/virtualmachines |
insights |
| Wawasan VM dalam set skala komputer virtual | microsoft.compute/virtualmachinescalesets |
insights |
Templat Azure Resource Manager untuk menyebarkan instans buku kerja
Buka buku kerja yang ingin Anda sebarkan secara terprogram.
Alihkan buku kerja ke mode edit dengan mengklik item toolbar Edit.
Buka Editor Lanjutan menggunakan tombol </> pada bilah alat.
Di editor, alihkan Jenis Templat ke templat Resource Manager.
Templat Resource Manager untuk pembuatan muncul di editor. Salin konten dan gunakan apa adanya atau gabungkan dengan templat yang lebih besar yang juga menyebarkan sumber daya target.

Contoh templat Azure Resource Manager
Templat ini menunjukkan cara menerapkan buku kerja sederhana yang menampilkan 'Halo Dunia!'
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"workbookDisplayName": {
"type":"string",
"defaultValue": "My Workbook",
"metadata": {
"description": "The friendly name for the workbook that is used in the Gallery or Saved List. Needs to be unique in the scope of the resource group and source"
}
},
"workbookType": {
"type":"string",
"defaultValue": "tsg",
"metadata": {
"description": "The gallery that the workbook will been shown under. Supported values include workbook, `tsg`, Azure Monitor, etc."
}
},
"workbookSourceId": {
"type":"string",
"defaultValue": "<insert-your-resource-id-here>",
"metadata": {
"description": "The id of resource instance to which the workbook will be associated"
}
},
"workbookId": {
"type":"string",
"defaultValue": "[newGuid()]",
"metadata": {
"description": "The unique guid for this workbook instance"
}
}
},
"resources": [
{
"name": "[parameters('workbookId')]",
"type": "Microsoft.Insights/workbooks",
"location": "[resourceGroup().location]",
"kind": "shared",
"apiVersion": "2018-06-17-preview",
"dependsOn": [],
"properties": {
"displayName": "[parameters('workbookDisplayName')]",
"serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\\\"json\\\":\\\"Hello World!\\\"}\",\"conditionalVisibility\":null}],\"isLocked\":false}",
"version": "1.0",
"sourceId": "[parameters('workbookSourceId')]",
"category": "[parameters('workbookType')]"
}
}
],
"outputs": {
"workbookId": {
"type": "string",
"value": "[resourceId( 'Microsoft.Insights/workbooks', parameters('workbookId'))]"
}
}
}
Parameter templat
| Parameter | Penjelasan |
|---|---|
workbookDisplayName |
Nama yang mudah diingat untuk buku kerja yang digunakan di Galeri atau Daftar Tersimpan. Harus berbeda di lingkup grup sumber daya dan sumber |
workbookType |
Galeri tempat buku kerja akan ditampilkan. Nilai yang didukung termasuk buku kerja, tsg, Azure Monitor, dll. |
workbookSourceId |
ID instans sumber daya yang akan dikaitkan dengan buku kerja. Buku kerja baru akan muncul terkait dengan contoh sumber daya ini - misalnya dalam daftar isi sumber daya pada Buku Kerja. Jika ingin buku kerja Anda muncul di galeri buku kerja di Azure Monitor, gunakan untai Azure Monitor alih-alih ID sumber daya. |
workbookId |
Panduan unik untuk instans buku kerja ini. Gunakan [newGuid()] untuk membuat panduan baru secara otomatis. |
kind |
Digunakan untuk menentukan apakah buku kerja yang dibuat akan dibagikan. Semua buku kerja baru akan menggunakan nilai bersama. |
location |
Lokasi Azure tempat buku kerja akan dibuat. Gunakan [resourceGroup().location] untuk membuatnya di lokasi yang sama dengan grup sumber daya |
serializedData |
Berisi konten atau payload yang akan digunakan dalam buku kerja. Gunakan templat Resource Manager dari UI buku kerja untuk mendapatkan nilainya |
Jenis buku kerja
Jenis buku kerja menentukan jenis galeri buku kerja mana yang akan muncul di bawah contoh buku kerja baru. Opsi meliputi:
| Jenis | Lokasi galeri |
|---|---|
workbook |
Default yang digunakan di sebagian besar laporan, termasuk galeri Buku Kerja dari Application Insights, Azure Monitor, dll. |
tsg |
Galeri Panduan Pemecahan Masalah di Application Insights |
usage |
Galeri Lainnya pada Penggunaan di Application Insights |
Bekerja dengan data Buku Kerja berformat JSON dalam parameter Templat serializedData
Saat mengekspor templat Azure Resource Manager untuk Azure Workbook, sering kali ada tautan sumber daya tetap yang disematkan di dalam parameter templat serializedData yang diekspor. Ini termasuk nilai yang berpotensi sensitif seperti ID Langganan dan nama Grup Sumber Daya, dan jenis ID sumber daya lainnya.
Contoh di bawah ini menunjukkan kustomisasi Templat Azure Resource Manager Buku Kerja yang diekspor, tanpa menggunakan manipulasi untai. Pola yang diperlihatkan dalam contoh ini dimaksudkan untuk bekerja dengan data yang tidak diubah seperti yang diekspor dari portal Azure. Ini juga merupakan praktik terbaik untuk menutupi nilai sensitif yang disematkan saat mengelola buku kerja secara terprogram, oleh karena itu ID Langganan dan Grup Sumber Daya telah disembunyikan di sini. Tidak ada modifikasi lain yang dilakukan pada nilai mentah serializedData yang masuk.
{
"contentVersion": "1.0.0.0",
"parameters": {
"workbookDisplayName": {
"type": "string"
},
"workbookSourceId": {
"type": "string",
"defaultValue": "[resourceGroup().id]"
},
"workbookId": {
"type": "string",
"defaultValue": "[newGuid()]"
}
},
"variables": {
// serializedData from original exported Azure Resource Manager template
"serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":{\"json\":\"Replace with Title\"},\"name\":\"text - 0\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"{\\\"version\\\":\\\"ARMEndpoint/1.0\\\",\\\"data\\\":null,\\\"headers\\\":[],\\\"method\\\":\\\"GET\\\",\\\"path\\\":\\\"/subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups\\\",\\\"urlParams\\\":[{\\\"key\\\":\\\"api-version\\\",\\\"value\\\":\\\"2019-06-01\\\"}],\\\"batchDisabled\\\":false,\\\"transformers\\\":[{\\\"type\\\":\\\"jsonpath\\\",\\\"settings\\\":{\\\"tablePath\\\":\\\"$..*\\\",\\\"columns\\\":[]}}]}\",\"size\":0,\"queryType\":12,\"visualization\":\"map\",\"tileSettings\":{\"showBorder\":false},\"graphSettings\":{\"type\":0},\"mapSettings\":{\"locInfo\":\"AzureLoc\",\"locInfoColumn\":\"location\",\"sizeSettings\":\"location\",\"sizeAggregation\":\"Count\",\"opacity\":0.5,\"legendAggregation\":\"Count\",\"itemColorSettings\":null}},\"name\":\"query - 1\"}],\"isLocked\":false,\"fallbackResourceIds\":[\"/subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/XXXXXXX\"]}",
// parse the original into a JSON object, so that it can be manipulated
"parsedData": "[json(variables('serializedData'))]",
// create new JSON objects that represent only the items/properties to be modified
"updatedTitle": {
"content":{
"json": "[concat('Resource Group Regions in subscription \"', subscription().displayName, '\"')]"
}
},
"updatedMap": {
"content": {
"path": "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups')]"
}
},
// the union function applies the updates to the original data
"updatedItems": [
"[union(variables('parsedData')['items'][0], variables('updatedTitle'))]",
"[union(variables('parsedData')['items'][1], variables('updatedMap'))]"
],
// copy to a new workbook object, with the updated items
"updatedWorkbookData": {
"version": "[variables('parsedData')['version']]",
"items": "[variables('updatedItems')]",
"isLocked": "[variables('parsedData')['isLocked']]",
"fallbackResourceIds": ["[parameters('workbookSourceId')]"]
},
// convert back to an encoded string
"reserializedData": "[string(variables('updatedWorkbookData'))]"
},
"resources": [
{
"name": "[parameters('workbookId')]",
"type": "microsoft.insights/workbooks",
"location": "[resourceGroup().location]",
"apiVersion": "2018-06-17-preview",
"dependsOn": [],
"kind": "shared",
"properties": {
"displayName": "[parameters('workbookDisplayName')]",
"serializedData": "[variables('reserializedData')]",
"version": "1.0",
"sourceId": "[parameters('workbookSourceId')]",
"category": "workbook"
}
}
],
"outputs": {
"workbookId": {
"type": "string",
"value": "[resourceId( 'microsoft.insights/workbooks', parameters('workbookId'))]"
}
},
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#"
}
Dalam contoh ini, langkah-langkah berikut memfasilitasi kustomisasi templat Azure Resource Manager yang diekspor:
- Ekspor Buku Kerja sebagai template Azure Resource Manager seperti yang dijelaskan di bagian di atas
- Di templat bagian
variables:- Uraikan nilai
serializedDatake dalam variabel objek JSON, yang membuat struktur JSON termasuk array item yang mewakili konten Buku Kerja. - Membuat objek JSON baru yang hanya mewakili item/properti yang akan dimodifikasi.
- Proyeksikan set item konten JSON (
updatedItems) baru, menggunakan fungsiunion()untuk menerapkan modifikasi pada item JSON asli. - Buat objek buku kerja baru,
updatedWorkbookData, yang berisi dataupdatedItemsdanversion/isLockeddari uraian data asli, serta setfallbackResourceIdsyang dikoreksi. - Serialisasi konten JSON baru kembali ke variabel string baru,
reserializedData.
- Uraikan nilai
- Gunakan variabel
reserializedDatabaru sebagai pengganti propertiserializedDataasli. - Menyebarkan sumber daya Buku Kerja baru menggunakan template Azure Resource Manager yang diperbarui.
Batasan
Karena alasan teknis, mekanisme ini tidak dapat digunakan untuk membuat instans buku kerja di galeri Buku Kerja dari Application Insights. Kami sedang berupaya mengatasi keterbatasan ini. Sementara itu, sebaiknya Anda menggunakan galeri Panduan Pemecahan Masalah (workbookType: tsg) untuk menyebarkan buku kerja terkait Application Insights.
Langkah berikutnya
Jelajahi bagaimana buku kerja yang digunakan untuk mendukung Pengalaman wawasan Storage yang baru.