Märkus.
Juurdepääs sellele lehele nõuab autoriseerimist. Võite proovida sisse logida või kausta vahetada.
Juurdepääs sellele lehele nõuab autoriseerimist. Võite proovida kausta vahetada.
Inventari API võimaldab käivitada struktureeritud päringuid Azure Resource Graph'i vastu, kasutades POST-päringut, mille päringu spetsifikatsioon on päringu kehas olemas. API tõlgib sinu päringuspetsifikatsiooni Kusto päringukeelde (KQL) et seda Azure Resource Graph vastu täita. Inventory API for Resources on osa Power Platform API viitedokumentatsioonist. Täieliku ressursitüüpide ja päritavate väljade nimekirja leiate Power Platformi inventariskeemi viitest.
API lõpp-punkt
POST {PowerPlatformAPI url}/resourcequery/resources/query?api-version=2024-10-01
Taotluse kehatekst
Taotluse keha peab sisaldama järgmise struktuuriga päringu spetsifikatsiooni.
Päringutaotluse struktuur
{
"TableName": "string",
"Clauses": [
{
"$type": "clause_type",
// clause-specific properties
}
],
"Options": {
"Top": 100,
"Skip": 0,
"SkipToken": "string"
}
}
Atribuudid
| Atribuut | Tüüp | Nõutav | Kirjeldus |
|---|---|---|---|
TableName |
string | Jah | Päringu sihttabeli/ressursi tüüp (nt "PowerPlatformResources") |
Clauses |
massiiv | Jah | Päringuklauslite massiiv, mis määratleb tehtavad toimingud |
Options |
ese | Nr | Azure Resource Graph päringuvalikud lehekülgede ja tulemuste kontrolli jaoks |
Päringu suvandid
Options objekt toetab Azure Resource Graph päringuparameetreid lehekülgede ja tulemuste kontrolli jaoks. Lisateabe saamiseks vaadake ResourceQueryRequestOptions dokumentatsiooni.
Toetatud päringuklauslid
API toetab selles jaotises esile tõstetud klauslitüüpe polümorfse JSON-i serialiseerimise kaudu. Iga klauslitüüp vastab KQL-i operaatoritele, nagu on dokumenteeritud KQL-i viites:
Kus klausel
Filtreerib andmeid väljatingimuste alusel. Tõlgitakse KQL-i where operaatoriks.
{
"$type": "where",
"FieldName": "string",
"Operator": "string",
"Values": ["string1", "string2"]
}
Toetatud operaatorid: API toetab kõiki standardseid KQL-i võrdlus- ja stringioperaatoreid. Saadaolevate tehtemärkide täieliku loendi leiate KQL-i stringitehtemärkide ja numbriliste tehtemärkide dokumentatsioonist.
Näide:
{
"$type": "where",
"FieldName": "type",
"Operator": "in~",
"Values": ["'microsoft.powerapps/canvasapps'", "'microsoft.copilotstudio/agents'"]
}
Tõlgitakse KQL-i:| where type in~ ('microsoft.powerapps/canvasapps', 'microsoft.copilotstudio/agents')
Projekti klausel
Valib tulemitest konkreetsed väljad. Tõlgitakse KQL-i project operaatoriks.
{
"$type": "project",
"FieldList": ["field1", "field2", "field3"]
}
Näide:
{
"$type": "project",
"FieldList": [
"name",
"properties.displayName",
"environmentId = tostring(properties.environmentId)",
"createdDate = properties.createdAt"
]
}
Tõlgitakse KQL-i:| project name, properties.displayName, environmentId = tostring(properties.environmentId), createdDate = properties.createdAt
Võtame klausli
Piirab tagastatavate tulemuste arvu. Tõlgitakse KQL-i take operaatoriks.
{
"$type": "take",
"TakeCount": 50
}
Tõlgitakse KQL-i:| take 50
Järjekord klausli järgi
Sordib tulemid määratud väljade järgi. Tõlgitakse KQL-i sort operaatoriks.
{
"$type": "orderby",
"FieldNamesAscDesc": {
"field1": "asc",
"field2": "desc"
}
}
Näide:
{
"$type": "orderby",
"FieldNamesAscDesc": {
"tostring(properties.createdAt)": "desc",
"properties.displayName": "asc"
}
}
Tõlgitakse KQL-i:| sort by tostring(properties.createdAt) desc, properties.displayName asc
Eristuv klausel
Tagastab määratud väljade kordumatud väärtused. Tõlgitakse KQL-i distinct operaatoriks.
{
"$type": "distinct",
"FieldList": ["field1", "field2"]
}
Tõlgitakse KQL-i:| distinct field1, field2
Loendusklausel
Tagastab vastavate kirjete arvu. Tõlgitakse KQL-i count operaatoriks.
{
"$type": "count"
}
Tõlgitakse KQL-i:| count
Kokkuvõte klausel
Koondab andmed loendus- või argmax-toimingute abil. Tõlgitakse KQL-i summarize operaatoriks.
{
"$type": "summarize",
"SummarizeClauseExpression": {
"OperatorName": "count|argmax",
"OperatorFieldName": "string",
"FieldList": ["field1", "field2"]
}
}
Toetatud operaatorid:
-
count→count()– loendage kirjeid, mis on rühmitatud määratud väljade järgi. -
argmax→arg_max()- Hankige määratud väljal maksimaalse väärtusega kirjed.
Loenda näide:
{
"$type": "summarize",
"SummarizeClauseExpression": {
"OperatorName": "count",
"OperatorFieldName": "resourceCount",
"FieldList": ["resourceGroup", "type"]
}
}
Tõlgitakse KQL-i:| summarize resourceCount = count() by resourceGroup, type
ArgMaxi näide:
{
"$type": "summarize",
"SummarizeClauseExpression": {
"OperatorName": "argmax",
"OperatorFieldName": "createdTime",
"FieldList": ["resourceGroup"]
}
}
Tõlgitakse KQL-i:| summarize arg_max(createdTime, *) by resourceGroup
Laiendamise klausel
Lisab tulemitele arvutatud veerud. Tõlgitakse KQL-i extend operaatoriks.
{
"$type": "extend",
"FieldName": "newFieldName",
"Expression": "KQL_EXPRESSION"
}
Näide:
{
"$type": "extend",
"FieldName": "environmentId",
"Expression": "tostring(properties.environmentId)"
}
Tõlgitakse KQL-i:| extend environmentId = tostring(properties.environmentId)https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/scalarfunctions) saadaolevate funktsioonide jaoks.
Liitumisklausel
Ühendab mõne muu tabeli/alampäringuga. Tõlgitakse KQL-i join operaatoriks.
{
"$type": "join",
"RightTable": {
"TableName": "string",
"Clauses": []
},
"JoinKind": "string",
"LeftColumnName": "string",
"RightColumnName": "string"
}
Toetatud liitumistüübid: API toetab kõiki KQL-i liitumisliike. Saadaolevate ühendustüüpide ja nende käitumise täieliku loendi leiate KQL-i liitumisoperaatori dokumentatsioonist.
Näide (Power Platformi ressursside ühendamine keskkonnateabega):
{
"$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"
}
Tõlgitakse KQL-i:| 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
Täielikud päringunäited
Näide: Põhiline Power Platformi ressursipäring (Power Platformi administraatorikeskuse vaikemuster)
Hangi kõik Power Platformi ressursid koos keskkonnainfoga—see on vaikimisi päring, mida kasutab Power Platformi halduskeskus.
{
"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"
}
}
]
}
Samaväärne 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
Näide: Loenda Power Platformi ressursse tüübi ja asukoha järgi
{
"TableName": "PowerPlatformResources",
"Clauses": [
{
"$type": "summarize",
"SummarizeClauseExpression": {
"OperatorName": "count",
"OperatorFieldName": "resourceCount",
"FieldList": ["type", "location"]
}
},
{
"$type": "orderby",
"FieldNamesAscDesc": {
"resourceCount": "desc"
}
}
]
}
Samaväärne KQL:
PowerPlatformResources
| summarize resourceCount = count() by type, location
| sort by resourceCount desc
Näide: Lihtne lõuendi rakenduste päring
Hankige lõuendirakendused koos põhilise filtreerimise ja projektsiooniga:
{
"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
}
]
}
Samaväärne KQL:
PowerPlatformResources
| where type == 'microsoft.powerapps/canvasapps'
| project name, location, properties.displayName, properties.createdAt, properties.environmentId
| take 100
Näide: Filtreeri ressursse keskkonna ja kuupäevavahemiku järgi
{
"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"
}
}
]
}
Tõlgitakse KQL-i:
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
Vastuse vorm
API tagastab ResourceQueryResult objekti Azure Resource Graph SDK-st. See objekt sisaldab päringu tulemusi ja metaandmeid päringu käivitamise kohta.
Vastuse struktuur:
{
"totalRecords": 1250,
"count": 50,
"resultTruncated": 1,
"skipToken": "string_for_next_page",
"data": [
// Array of result objects based on your query
]
}