Nagyméretű Azure-erőforrás-adatkészletek használata
Az Azure Resource Graph az Azure-környezet erőforrásaival kapcsolatos munka és információk lekérésére szolgál. A Resource Graph még több ezer rekord lekérdezésekor is gyorsítja az adatok lekérését. A Resource Graph számos lehetőséget kínál ezeknek a nagy adatkészleteknek a használatához.
A lekérdezések nagy gyakoriságú használatával kapcsolatos útmutatásért tekintse meg a szabályozott kérelmekre vonatkozó útmutatót.
Eredmények adathalmazának mérete
Alapértelmezés szerint a Resource Graph csak 1000 rekordot ad vissza. Ez a vezérlő megvédi a felhasználót és a szolgáltatást az olyan nem szándékos lekérdezésektől, amelyek nagy adathalmazt eredményeznének. Ez leggyakrabban akkor fordul elő, amikor az ügyfél kísérletezik a lekérdezésekkel, hogy a konkrét igényeinek megfelelően keressen és szűrjön erőforrásokat. A vezérlő eltérő módon működik ahhoz képest, mint amikor az Azure Data Explorer top vagy limit nyelvi operátorát használják az eredmények korlátozásához.
Feljegyzés
A First használata esetén ajánlott az eredményeket legalább egy oszlopban vagy oszlopban asc
desc
rendezni. Rendezés hiányában a rendszer véletlenszerűn, nem megismételhetően adja vissza az eredményeket.
Az alapértelmezett korlát a Resource Graph bármilyen interakciós módszerével felülírható. Az alábbi példák bemutatják, hogyan módosíthatja az adatkészlet méretkorlátját 200-ra:
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
A REST API-ban a vezérlő $top, és a QueryRequestOptions része.
A legkorlátozóbb vezérlő nyer. Ha például a lekérdezés a felső vagy a korlát operátort használja, és több rekordot eredményezne, mint az Első, akkor a visszaadott rekordok maximális száma megegyezik az Elsővel. Hasonlóképpen, ha a felső vagy a korlát kisebb, mint az Első, a visszaadott rekordhalmaz a felső vagy korlát által konfigurált kisebb érték lenne.
Az Első paraméter maximális megengedett értéke 1000.
CSV-exportálási eredmény méretkorlátozása
Az Azure Resource Graph Explorer vesszővel tagolt (CSV) exportálási funkciójának használatakor az eredményhalmaz 55 000 rekordra korlátozódik. Ez egy platformkorlát, amelyet nem lehet felülírni egy Azure-támogatás jegy beiktatásával.
Ha CSV-eredményeket szeretne letölteni az Azure Portalról, keresse meg az Azure Resource Graph Explorert, és futtasson egy lekérdezést. Az eszköztáron kattintson a Letöltés CSV-ként elemre.
Rekordok kihagyása
A nagy adatkészletek használatához a következő lehetőség a Kihagyás vezérlőelem. Ez a vezérlő lehetővé teszi, hogy a lekérdezés átugorja vagy kihagyja a megadott számú rekordot az eredmények visszaadása előtt. A kihagyás olyan lekérdezések esetén hasznos, amelyek értelmes módon rendezik az eredményeket, ahol a szándék az, hogy az eredményhalmaz közepén található rekordokhoz jusson. Ha a szükséges eredmények a visszaadott adathalmaz végén vannak, hatékonyabb egy másik rendezési konfigurációt használni, és ehelyett lekérni az eredményeket az adatkészlet tetejéről.
Feljegyzés
A Kihagyás használata esetén ajánlott az eredményeket legalább egy oszlopban vagy oszlopban asc
desc
rendezni. Rendezés hiányában a rendszer véletlenszerűn, nem megismételhetően adja vissza az eredményeket. Ha limit
a lekérdezésben használják vagy take
használják, a kihagyás figyelmen kívül lesz hagyva.
Az alábbi példák azt mutatják be, hogyan hagyhatja ki a lekérdezés első 10 rekordját, és hogyan indíthatja el a visszaadott eredményhalmazt a 11. rekorddal:
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
A REST API-ban a vezérlő $skip, és a QueryRequestOptions része.
Lapozás eredményei
Ha egy eredményhalmazt kisebb rekordhalmazokra kell felbontani feldolgozásra, vagy ha egy eredményhalmaz meghaladná az 1000 visszaadott rekord maximális megengedett értékét, használjon lapozást. A REST APIQueryResponse olyan értékeket biztosít, amely jelzi, hogy egy eredményhalmaz fel lett bontva: resultTruncated és $skipToken. A resultTruncated egy logikai érték, amely tájékoztatja a fogyasztót, ha több rekord nem szerepel a válaszban. Ez a feltétel akkor is azonosítható, ha a darabszám tulajdonság kisebb, mint a TotalRecords tulajdonság. A totalRecords határozza meg, hogy hány rekord felel meg a lekérdezésnek.
A resultTruncatedigaz , ha kevesebb erőforrás áll rendelkezésre, mint amennyit egy lekérdezés kér, vagy ha a lapozás le van tiltva, vagy ha a lapozás nem lehetséges, mert:
- A lekérdezés tartalmaz egy vagy
sample
/take
operátort.limit
- Az összes kimeneti oszlop vagy
dynamic
null
típus.
Ha a resultTruncated értéke igaz, a $skipToken tulajdonság nincs beállítva.
Az alábbi példák bemutatják, hogyan hagyhatja ki az első 3000 rekordot, és hogyan adja vissza az első 1000 rekordot az Azure CLI-vel és az Azure PowerShell-lel kihagyott rekordok után:
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
Fontos
A válasz nem tartalmazza a $skipToken , ha:
- A lekérdezés tartalmaz egy vagy
sample
/take
operátort.limit
- Az összes kimeneti oszlop vagy
dynamic
null
típus.
Példa: Következő lap lekérdezése a REST API-dokumentációban.
Eredmények formázása
A Resource Graph-lekérdezések eredményei két formátumban érhetők el: Table és ObjectArray. A formátum a kérelem beállításainak részeként a resultFormat paraméterrel van konfigurálva. A táblaformátum a resultFormat alapértelmezett értéke.
Az Azure CLI eredményei alapértelmezés szerint JSON-ban vannak megadva. Az Azure PowerShell-eredmények PSResourceGraphResponse objektumok, de az Adat tulajdonság parancsmagjának használatával ConvertTo-Json
gyorsan JSON-vá alakíthatók. Más SDK-k esetén a lekérdezési eredmények konfigurálhatók az ObjectArray formátum kimenetére.
Formátum – Táblázat
Az alapértelmezett táblázatformátum JSON formátumú eredményt ad vissza, amely a lekérdezés által visszaadott tulajdonságok oszloptervét és sorértékeit emeli ki. Ez a formátum szorosan hasonlít egy strukturált táblában vagy számolótáblában definiált adatokra, az elsőként azonosított oszlopokkal, majd az oszlopokhoz igazított adatokat képviselő sorokkal.
Íme egy minta egy lekérdezés eredményéről a táblaformázással :
{
"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"
}
Formátum – ObjectArray
Az ObjectArray formátum JSON formátumban is visszaadja az eredményeket. Ez a kialakítás azonban igazodik a JSON-ban gyakran használt kulcs-érték pár kapcsolathoz, ahol az oszlop és a sor adatai tömbcsoportokban vannak egyeztetve.
Íme egy minta egy lekérdezés eredményéről az ObjectArray formázással:
{
"totalRecords": 47,
"count": 1,
"data": [{
"name": "veryscaryvm2-nsg",
"type": "microsoft.network/networksecuritygroups",
"location": "eastus",
"subscriptionId": "11111111-1111-1111-1111-111111111111"
}],
"facets": [],
"resultTruncated": "true"
}
Következő lépések
- Tekintse meg a kezdő lekérdezésekben használt nyelvet.
- A speciális lekérdezések speciális felhasználási módjai.
- További információ az erőforrások felfedezéséről.