Bekerja dengan himpunan data sumber daya Azure besar
Azure Resource Graph dirancang untuk bekerja dengan dan mendapatkan informasi tentang sumber daya di lingkungan Azure Anda. Azure Resource Graph membuat data ini menjadi cepat, bahkan saat meng-kueri ribuan rekaman. Azure Resource Graph memiliki beberapa opsi untuk bekerja dengan himpunan data besar ini.
Untuk panduan tentang bekerja dengan kueri pada frekuensi tinggi, buka Panduan untuk permintaan yang dibatasi.
Ukuran hasil himpunan data
Secara default, Resource Graph membatasi kueri apa pun untuk mengembalikan hanya 1.000 rekaman. Kontrol ini melindungi pengguna dan layanan dari kueri yang tidak disengaja yang akan menghasilkan himpunan data besar. Peristiwa ini paling sering terjadi sebagai pelanggan adalah bereksperimen dengan pertanyaan untuk menemukan dan memfilter sumber daya dengan cara yang sesuai dengan kebutuhan khusus mereka. Kontrol ini berbeda dengan menggunakan operator bahasa komputer Azure Data Explorer teratas atau batasi untuk membatasi hasilnya.
Catatan
Saat menggunakan first
, disarankan untuk mengurutkan hasilnya setidaknya satu kolom dengan asc
atau desc
. Tanpa pengurutan, hasil yang dikembalikan acak dan tidak dapat diulang.
Batas default dapat ditimpa melalui semua metode berinteraksi dengan Azure Resource Graph. Contoh berikut menunjukkan cara mengubah batas ukuran himpunan data menjadi 200:
az graph query -q "Resources | project name | order by name asc" --first 200 --output table
Search-AzGraph -Query "Resources | project name | order by name asc" -First 200
Di REST API, kontrolnya adalah $top
dan merupakan bagian QueryRequestOptions
dari .
Kontrol yang paling ketat menang. Misalnya, jika kueri Anda menggunakan top
operator atau limit
dan akan menghasilkan lebih banyak rekaman daripada first
, rekaman maksimum yang dikembalikan akan sama dengan first
. Demikian juga, jika top
atau limit
lebih kecil dari first
, kumpulan catatan yang dikembalikan akan menjadi nilai yang lebih kecil yang dikonfigurasi oleh top
atau limit
.
Parameter first
memiliki nilai maksimum yang diizinkan sebesar 1000.
Batasan ukuran hasil ekspor CSV
Saat menggunakan fungsionalitas ekspor nilai yang dipisahkan koma (CSV) dari Azure Resource Graph Explorer, kumpulan hasil dibatasi hingga 55.000 rekaman. Batasan ini adalah batas platform yang tidak dapat ditimpa dengan mengajukan tiket dukungan Azure.
Untuk mengunduh hasil CSV dari portal Azure, telusuri ke Azure Resource Graph Explorer dan jalankan kueri. Pada toolbar, pilih Unduh sebagai CSV.
Melompati rekaman
Opsi berikutnya untuk bekerja dengan himpunan data besar adalah skip
kontrol. Kontrol ini memungkinkan kueri Anda melompati atau melewati jumlah rekaman yang ditentukan sebelum mengembalikan hasilnya. Skip
berguna untuk kueri yang mengurutkan menghasilkan cara yang bermakna di mana niatnya adalah mendapatkan rekaman di suatu tempat di tengah kumpulan hasil. Jika hasil yang diperlukan berada di akhir kumpulan data yang dikembalikan, lebih efisien untuk menggunakan konfigurasi pengurutan yang berbeda dan mengambil hasil dari bagian atas kumpulan data.
Catatan
Saat menggunakan skip
, disarankan untuk mengurutkan hasilnya setidaknya satu kolom dengan asc
atau desc
. Tanpa pengurutan, hasil yang dikembalikan acak dan tidak dapat diulang. Jika limit
atau take
digunakan dalam kueri, skip
diabaikan.
Contoh berikut memperlihatkan cara melompati 10 rekaman pertama yang akan dihasilkan kueri, sebagai gantinya memulai hasil yang dikembalikan yang diatur dengan rekaman ke-11:
az graph query -q "Resources | project name | order by name asc" --skip 10 --output table
Search-AzGraph -Query "Resources | project name | order by name asc" -Skip 10
Di REST API, kontrolnya adalah $skip
dan merupakan bagian QueryRequestOptions
dari .
Hasil penomoran
Bila perlu untuk memecah hasil yang ditetapkan ke dalam kumpulan rekaman yang lebih kecil untuk diproses atau karena kumpulan hasil akan melebihi nilai maksimum yang diizinkan dari 1000 rekaman yang dikembalikan, gunakan penomoran. REST API QueryResponse
menyediakan nilai yang menunjukkan bahwa kumpulan hasil dipecah: resultTruncated
dan $skipToken
. resultTruncated
adalah nilai Boolean yang menginformasikan kepada konsumen jika ada lebih banyak catatan yang tidak dikembalikan dalam respons. Kondisi ini juga dapat diidentifikasi ketika properti count
kurang dari properti totalRecords
. totalRecords
menentukan berapa banyak rekaman yang cocok dengan kueri.
resultTruncated
adalah true
ketika ada lebih sedikit sumber daya yang tersedia daripada kueri yang meminta atau ketika penomor dinonaktifkan atau ketika halaman tidak dimungkinkan karena:
- Kueri berisi operator
limit
atausample
/take
. - Semua kolom output adalah atau
dynamic
null
jenis.
Ketika resultTruncated
adalah true
, $skipToken
properti tidak diatur.
Contoh berikut menunjukkan cara melewati 3.000 rekaman pertama dan mengembalikan first
1.000 rekaman setelah rekaman tersebut dilewati dengan Azure CLI dan Azure PowerShell:
az graph query -q "Resources | project id, name | order by id asc" --first 1000 --skip 3000
Search-AzGraph -Query "Resources | project id, name | order by id asc" -First 1000 -Skip 3000
Penting
Respons tidak akan menyertakan $skipToken
jika:
- Kueri berisi operator
limit
atausample
/take
. - Semua kolom output adalah atau
dynamic
null
jenis.
Misalnya, buka Kueri halaman berikutnya di dokumen REST API.
Hasil pemformatan
Hasil kueri Resource Graph disediakan dalam dua format, Table
dan ObjectArray
. Format dikonfigurasi dengan resultFormat
parameter sebagai bagian dari opsi permintaan. Table
Formatnya adalah nilai default untuk resultFormat
.
Hasil dari Azure CLI disediakan di JSON secara default. Hasil di Azure PowerShell adalah PSResourceGraphResponse
objek, tetapi dapat dengan cepat dikonversi ke JSON menggunakan ConvertTo-Json
cmdlet pada data
properti . Untuk SDK lainnya, hasil kueri dapat dikonfigurasi untuk menghasilkan ObjectArray
format.
Format - Tabel
Format default, Table
, mengembalikan hasil dalam format JSON yang dirancang untuk menyoroti desain kolom dan nilai baris properti yang dikembalikan oleh kueri. Format ini sangat menyerupai data seperti yang ditentukan dalam tabel terstruktur atau lembar bentang dengan kolom yang diidentifikasi terlebih dahulu lalu setiap baris yang mewakili data yang diratakan ke kolom tersebut.
Berikut adalah sampel hasil kueri dengan Table
pemformatan:
{
"totalRecords": 47,
"count": 1,
"data": {
"columns": [
{
"name": "name",
"type": "string"
},
{
"name": "type",
"type": "string"
},
{
"name": "location",
"type": "string"
},
{
"name": "subscriptionId",
"type": "string"
}
],
"rows": [
[
"veryscaryvm2-nsg",
"microsoft.network/networksecuritygroups",
"eastus",
"11111111-1111-1111-1111-111111111111"
]
]
},
"facets": [],
"resultTruncated": "true"
}
Format - ObjectArray
Format juga ObjectArray
mengembalikan hasil dalam format JSON. Namun, desain ini selaras dengan hubungan pasangan kunci/nilai yang umum di JSON di mana kolom dan data baris dicocokkan dalam grup array.
Berikut adalah sampel hasil kueri dengan ObjectArray
pemformatan:
{
"totalRecords": 47,
"count": 1,
"data": [
{
"name": "veryscaryvm2-nsg",
"type": "microsoft.network/networksecuritygroups",
"location": "eastus",
"subscriptionId": "11111111-1111-1111-1111-111111111111"
}
],
"facets": [],
"resultTruncated": "true"
}
Waktu kueri habis
Azure Resource Graph memberlakukan batas waktu kueri 30 detik yang selaras dengan Azure Resource Manager.
Solusi yang bisa dilakukan:
- Coba lagi kueri menggunakan cakupan yang lebih kecil. Misalnya, kueri lebih sedikit langganan.
- Kueri yang digunakan
join
harus memiliki tataan hasil yang lebih kecil di sisijoin
kiri .
Langkah berikutnya
- Pelajari selengkapnya tentang Memahami bahasa kueri Azure Resource Graph.
- Pelajari selengkapnya tentang cara menjelajahi sumber daya.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk