opomba,
Dostop do te strani zahteva pooblastilo. Poskusite se vpisati alispremeniti imenike.
Dostop do te strani zahteva pooblastilo. Poskusite lahko spremeniti imenike.
Inventory API omogoča izvajanje strukturiranih poizvedb nad Azure Resource Graph z uporabo POST zahteve s specifikacijo poizvedbe v telesu zahteve. API prevede vašo specifikacijo poizvedbe v Kusto Query Language (KQL) za izvajanje nad Azure Resource Graph. Inventarni API za vire je del referenčne dokumentacije Power Platform API. Za popoln seznam vrst virov in polj, ki jih je mogoče poizvedovati, glejte referenco sheme inventarja Power Platform.
Končna točka API-ja
POST {PowerPlatformAPI url}/resourcequery/resources/query?api-version=2024-10-01
Telo zahteve
Telo zahteve mora vsebovati specifikacijo poizvedbe z naslednjo strukturo:
Struktura zahteve za poizvedbo
{
"TableName": "string",
"Clauses": [
{
"$type": "clause_type",
// clause-specific properties
}
],
"Options": {
"Top": 100,
"Skip": 0,
"SkipToken": "string"
}
}
Lastnosti
| Lastnost | Tip | Zahtevano | Description |
|---|---|---|---|
TableName |
niz | Da | Ciljna tabela/vrsta vira za poizvedbo (npr. »PowerPlatformResources«) |
Clauses |
polje | Da | Polje stavkov poizvedbe, ki določajo operacije, ki jih je treba izvesti |
Options |
predmet | Ne | Azure Resource Graph možnosti poizvedb za paginacijo in nadzor rezultatov |
Možnosti poizvedbe
Objekt Options podpira Azure Resource Graph parametre poizvedb za paginacijo in nadzor rezultatov. Če želite izvedeti več, glejte ResourceQueryRequestOptions dokumentacijo .
Podprte poizvedovalne klavzule
API podpira vrste stavkov, ki so poudarjene v tem razdelku s polimorfno serijalizacijo JSON. Vsaka vrsta klavzule ustreza operatorjem KQL, kot je dokumentirano v sklicu na KQL:
Kjer je klavzula
Filtrira podatke glede na pogoje na terenu. Prevaja se v operaterja KQLwhere.
{
"$type": "where",
"FieldName": "string",
"Operator": "string",
"Values": ["string1", "string2"]
}
Podprti operaterji: API podpira vse standardne primerjave KQL in operatorje nizov. Za celoten seznam razpoložljivih operatorjev glejte dokumentacijo o operatorjih nizov KQL in numeričnih operatorjih .
Primer:
{
"$type": "where",
"FieldName": "type",
"Operator": "in~",
"Values": ["'microsoft.powerapps/canvasapps'", "'microsoft.copilotstudio/agents'"]
}
Prevaja v KQL:| where type in~ ('microsoft.powerapps/canvasapps', 'microsoft.copilotstudio/agents')
Klavzula projekta
Izbere določena polja iz rezultatov. Prevaja se v operaterja KQLproject.
{
"$type": "project",
"FieldList": ["field1", "field2", "field3"]
}
Primer:
{
"$type": "project",
"FieldList": [
"name",
"properties.displayName",
"environmentId = tostring(properties.environmentId)",
"createdDate = properties.createdAt"
]
}
Prevaja v KQL:| project name, properties.displayName, environmentId = tostring(properties.environmentId), createdDate = properties.createdAt
Take klavzula
Omeji število vrnjenih rezultatov. Prevaja se v operaterja KQLtake.
{
"$type": "take",
"TakeCount": 50
}
Prevaja v KQL:| take 50
Vrstni red po klavzuli
Razvrsti rezultate po določenih poljih. Prevaja se v operaterja KQLsort.
{
"$type": "orderby",
"FieldNamesAscDesc": {
"field1": "asc",
"field2": "desc"
}
}
Primer:
{
"$type": "orderby",
"FieldNamesAscDesc": {
"tostring(properties.createdAt)": "desc",
"properties.displayName": "asc"
}
}
Prevaja v KQL:| sort by tostring(properties.createdAt) desc, properties.displayName asc
Posebna klavzula
Vrne edinstvene vrednosti za določena polja. Prevaja se v operaterja KQLdistinct.
{
"$type": "distinct",
"FieldList": ["field1", "field2"]
}
Prevaja v KQL:| distinct field1, field2
Klavzula o štetju
Vrne število ujemajočih se zapisov. Prevaja se v operaterja KQLcount.
{
"$type": "count"
}
Prevaja v KQL:| count
Povzetek klavzule
Združuje podatke z operacijami count ali argmax. Prevaja se v operaterja KQLsummarize.
{
"$type": "summarize",
"SummarizeClauseExpression": {
"OperatorName": "count|argmax",
"OperatorFieldName": "string",
"FieldList": ["field1", "field2"]
}
}
Podprti operaterji:
-
count→count()- Štetje zapisov, združenih po določenih poljih. -
argmax→arg_max()- Pridobi zapise z največjo vrednostjo v določenem polju.
Primer štetja:
{
"$type": "summarize",
"SummarizeClauseExpression": {
"OperatorName": "count",
"OperatorFieldName": "resourceCount",
"FieldList": ["resourceGroup", "type"]
}
}
Prevaja v KQL:| summarize resourceCount = count() by resourceGroup, type
Primer ArgMax:
{
"$type": "summarize",
"SummarizeClauseExpression": {
"OperatorName": "argmax",
"OperatorFieldName": "createdTime",
"FieldList": ["resourceGroup"]
}
}
Prevaja v KQL:| summarize arg_max(createdTime, *) by resourceGroup
Razširi klavzulo
Rezultatom doda izračunane stolpce. Prevaja se v operaterja KQLextend.
{
"$type": "extend",
"FieldName": "newFieldName",
"Expression": "KQL_EXPRESSION"
}
Primer:
{
"$type": "extend",
"FieldName": "environmentId",
"Expression": "tostring(properties.environmentId)"
}
Prevaja v KQL:| extend environmentId = tostring(properties.environmentId)https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/scalarfunctions) za razpoložljive funkcije.
Spojna klavzula
Pridruži se z drugo tabelo/podpoizvedbo. Prevaja se v operaterja KQLjoin.
{
"$type": "join",
"RightTable": {
"TableName": "string",
"Clauses": []
},
"JoinKind": "string",
"LeftColumnName": "string",
"RightColumnName": "string"
}
Podprte vrste združevanja: API podpira vse vrste pridružitve KQL. Za celoten seznam razpoložljivih vrst združevanja in njihovega vedenja glejte dokumentacijo operatorja pridružitve KQL.
Primer (združevanje virov Power Platform z informacijami o okolju):
{
"$type": "join",
"JoinKind": "leftouter",
"RightTable": {
"TableName": "PowerPlatformResources",
"Clauses": [
{
"$type": "where",
"FieldName": "type",
"Operator": "==",
"Values": ["'microsoft.powerplatform/environments'"]
},
{
"$type": "project",
"FieldList": [
"environmentId = name",
"environmentName = properties.displayName",
"environmentRegion = location",
"environmentType = properties.environmentType",
"isManagedEnvironment = properties.isManaged"
]
}
]
},
"LeftColumnName": "environmentId",
"RightColumnName": "environmentId"
}
Prevaja v KQL:| join kind=leftouter (PowerPlatformResources | where type == 'microsoft.powerplatform/environments' | project environmentId = name, environmentName = properties.displayName, environmentRegion = location, environmentType = properties.environmentType, isManagedEnvironment = properties.isManaged) on $left.environmentId == $right.environmentId
Popolni primeri poizvedb
Primer: Osnovna poizvedba virov Power Platform (privzeti vzorec Power Platform administratorskega centra)
Pridobite vse vire Power Platform z informacijami o okolju – to je privzeta poizvedba v Power Platform administratorskem centru.
{
"Options": {
"Top": 1000,
"Skip": 0,
"SkipToken": ""
},
"TableName": "PowerPlatformResources",
"Clauses": [
{
"$type": "extend",
"FieldName": "joinKey",
"Expression": "tolower(tostring(properties.environmentId))"
},
{
"$type": "join",
"JoinKind": "leftouter",
"RightTable": {
"TableName": "PowerPlatformResources",
"Clauses": [
{
"$type": "where",
"FieldName": "type",
"Operator": "==",
"Values": ["'microsoft.powerplatform/environments'"]
},
{
"$type": "project",
"FieldList": [
"joinKey = tolower(name)",
"environmentName = properties.displayName",
"environmentRegion = location",
"environmentType = properties.environmentType",
"isManagedEnvironment = properties.isManaged"
]
}
]
},
"LeftColumnName": "joinKey",
"RightColumnName": "joinKey"
},
{
"$type": "where",
"FieldName": "type",
"Operator": "in~",
"Values": [
"'microsoft.powerapps/canvasapps'",
"'microsoft.powerapps/modeldrivenapps'",
"'microsoft.powerautomate/cloudflows'",
"'microsoft.copilotstudio/agents'",
"'microsoft.powerautomate/agentflows'",
"'microsoft.powerapps/codeapps'"
]
},
{
"$type": "orderby",
"FieldNamesAscDesc": {
"tostring(properties.createdAt)": "desc"
}
}
]
}
Enakovreden KQL:
PowerPlatformResources
| extend joinKey = tolower(tostring(properties.environmentId))
| join kind=leftouter (
PowerPlatformResources
| where type == 'microsoft.powerplatform/environments'
| project joinKey = tolower(name), environmentName = properties.displayName, environmentRegion = location, environmentType = properties.environmentType, isManagedEnvironment = properties.isManaged
) on $left.joinKey == $right.joinKey
| where type in~ ('microsoft.powerapps/canvasapps', 'microsoft.powerapps/modeldrivenapps', 'microsoft.powerautomate/cloudflows', 'microsoft.copilotstudio/agents', 'microsoft.powerautomate/agentflows', 'microsoft.powerapps/codeapps')
| order by tostring(properties.createdAt) desc
Primer: Preštejte vire Power Platform po vrsti in lokaciji
{
"TableName": "PowerPlatformResources",
"Clauses": [
{
"$type": "summarize",
"SummarizeClauseExpression": {
"OperatorName": "count",
"OperatorFieldName": "resourceCount",
"FieldList": ["type", "location"]
}
},
{
"$type": "orderby",
"FieldNamesAscDesc": {
"resourceCount": "desc"
}
}
]
}
Enakovreden KQL:
PowerPlatformResources
| summarize resourceCount = count() by type, location
| sort by resourceCount desc
Primer: Preprosta poizvedba za canvas aplikacije
Pridobite aplikacije delovnega območja z osnovnim filtriranjem in projekcijo:
{
"TableName": "PowerPlatformResources",
"Clauses": [
{
"$type": "where",
"FieldName": "type",
"Operator": "==",
"Values": ["'microsoft.powerapps/canvasapps'"]
},
{
"$type": "project",
"FieldList": [
"name",
"location",
"properties.displayName",
"properties.createdAt",
"properties.environmentId"
]
},
{
"$type": "take",
"TakeCount": 100
}
]
}
Enakovreden KQL:
PowerPlatformResources
| where type == 'microsoft.powerapps/canvasapps'
| project name, location, properties.displayName, properties.createdAt, properties.environmentId
| take 100
Primer: Filtrirajte vire po okolju in časovnem obdobju
{
"TableName": "PowerPlatformResources",
"Clauses": [
{
"$type": "where",
"FieldName": "type",
"Operator": "==",
"Values": ["'microsoft.powerapps/canvasapps'"]
},
{
"$type": "where",
"FieldName": "properties.environmentId",
"Operator": "==",
"Values": ["your-environment-id"]
},
{
"$type": "extend",
"FieldName": "createdDate",
"Expression": "todatetime(properties.createdAt)"
},
{
"$type": "where",
"FieldName": "createdDate",
"Operator": ">=",
"Values": ["datetime(2024-01-01)"]
},
{
"$type": "project",
"FieldList": [
"name",
"properties.displayName",
"properties.createdAt",
"properties.createdBy",
"properties.ownerId"
]
},
{
"$type": "orderby",
"FieldNamesAscDesc": {
"createdDate": "desc"
}
}
]
}
Prevaja v KQL:
PowerPlatformResources
| where type == 'microsoft.powerapps/canvasapps'
| where properties.environmentId == "your-environment-id"
| extend createdDate = todatetime(properties.createdAt)
| where createdDate >= datetime(2024-01-01)
| project name, properties.displayName, properties.createdAt, properties.createdBy, properties.ownerId
| sort by createdDate desc
Oblika odgovora
API vrne objekt ResourceQueryResult iz Azure Resource Graph SDK. Ta predmet vsebuje rezultate poizvedbe in metapodatke o izvedbi poizvedbe.
Struktura odzivov:
{
"totalRecords": 1250,
"count": 50,
"resultTruncated": 1,
"skipToken": "string_for_next_page",
"data": [
// Array of result objects based on your query
]
}