Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Varaston ohjelmointirajapinnan avulla voit suorittaa jäsennettyjä kyselyitä Azure Resource Graphia vastaan käyttämällä POST-pyyntöä, jonka pyynnön leipätekstissä on kyselymääritys. Ohjelmointirajapinta muuntaa kyselymäärityksesi Kusto Query Languageksi (KQL), joka suoritetaan Azure Resource Graphia vastaan. Resurssien varaston ohjelmointirajapinta on osa Power Platform -ohjelmointirajapinnan viitedokumentaatiota. Täydellinen luettelo resurssityypeistä ja kyselykelpoisista kentistä on kohdassa Power Platform -varastorakenteen viittaus.
Ohjelmointirajapinnan päätepiste
POST {PowerPlatformAPI url}/resourcequery/resources/query?api-version=2024-10-01
Pyynnön teksti
Pyynnön rungon on sisällettävä kyselymääritys, jossa on seuraava rakenne:
Kyselyn pyynnön rakenne
{
"TableName": "string",
"Clauses": [
{
"$type": "clause_type",
// clause-specific properties
}
],
"Options": {
"Top": 100,
"Skip": 0,
"SkipToken": "string"
}
}
Ominaisuudet
| Attribuutti | Kirjoita | Pakollinen | Description |
|---|---|---|---|
TableName |
merkkijono | Kyllä | Kyselyn kohdetaulukko/resurssityyppi (eli "PowerPlatformResources") |
Clauses |
matriisi | Kyllä | Suoritettavat toiminnot määrittävien kyselylausekkeiden matriisi |
Options |
objekti | No | Azure Resource Graph -kyselyasetukset sivutusta ja tuloksen hallintaa varten |
Kyselyasetukset
Options-objekti tukee Azure Resource Graph kyselyparametreja sivutusta ja tulosohjausta varten. Lisätietoja ResourceQueryRequestOptions on ohjeissa .
Tuetut kyselylausekkeet
-ohjelmointirajapinta tukee tässä osiossa korostettuja lauseketyyppejä polymorfisen JSON-sarjoituksen kautta. Jokainen lauseketyyppi vastaa KQL-operaattoreita KQL-viittauksessa kuvatulla tavalla:
Where-lauseke
Suodattaa tiedot kentän ehtojen perusteella. Tarkoittaa KQL-operaattoriawhere.
{
"$type": "where",
"FieldName": "string",
"Operator": "string",
"Values": ["string1", "string2"]
}
Tuetut operaattorit: Ohjelmointirajapinta tukee kaikkia tavallisia KQL-vertailu- ja merkkijono-operaattoreita. Täydellinen luettelo käytettävissä olevista operaattoreista on KQL-merkkijono-operaattorien ja numeeristen operaattoreiden dokumentaatiossa.
Esimerkki:
{
"$type": "where",
"FieldName": "type",
"Operator": "in~",
"Values": ["'microsoft.powerapps/canvasapps'", "'microsoft.copilotstudio/agents'"]
}
Käännetään KQL:ään:| where type in~ ('microsoft.powerapps/canvasapps', 'microsoft.copilotstudio/agents')
Projektilauseke
Valitsee tuloksista tietyt kentät. Tarkoittaa KQL-operaattoriaproject.
{
"$type": "project",
"FieldList": ["field1", "field2", "field3"]
}
Esimerkki:
{
"$type": "project",
"FieldList": [
"name",
"properties.displayName",
"environmentId = tostring(properties.environmentId)",
"createdDate = properties.createdAt"
]
}
Käännetään KQL:ään:| project name, properties.displayName, environmentId = tostring(properties.environmentId), createdDate = properties.createdAt
Ota-lause
Rajoittaa palautettujen tulosten määrää. Tarkoittaa KQL-operaattoriatake.
{
"$type": "take",
"TakeCount": 50
}
Käännetään KQL:ään:| take 50
Järjestysperuste-lause
Lajittelee tulokset määritettyjen kenttien mukaan. Tarkoittaa KQL-operaattoriasort.
{
"$type": "orderby",
"FieldNamesAscDesc": {
"field1": "asc",
"field2": "desc"
}
}
Esimerkki:
{
"$type": "orderby",
"FieldNamesAscDesc": {
"tostring(properties.createdAt)": "desc",
"properties.displayName": "asc"
}
}
Käännetään KQL:ään:| sort by tostring(properties.createdAt) desc, properties.displayName asc
Distinct-lauseke
Palauttaa yksilöllisiä arvoja määritetyille kentille. Tarkoittaa KQL-operaattoriadistinct.
{
"$type": "distinct",
"FieldList": ["field1", "field2"]
}
Käännetään KQL:ään:| distinct field1, field2
Laske-lause
Palauttaa vastaavien tietueiden määrän. Tarkoittaa KQL-operaattoriacount.
{
"$type": "count"
}
Käännetään KQL:ään:| count
Tiivistelmälauseke
Koostaa tiedot käyttäen count- tai argmax-toimintoja. Tarkoittaa KQL-operaattoriasummarize.
{
"$type": "summarize",
"SummarizeClauseExpression": {
"OperatorName": "count|argmax",
"OperatorFieldName": "string",
"FieldList": ["field1", "field2"]
}
}
Tuetut operaattorit:
-
countcount()→ – Laske tietueet ryhmiteltynä määritettyjen kenttien mukaan. -
argmaxarg_max()→: hae tietueet, joiden enimmäisarvo on määritetyssä kentässä.
Esimerkkimäärä:
{
"$type": "summarize",
"SummarizeClauseExpression": {
"OperatorName": "count",
"OperatorFieldName": "resourceCount",
"FieldList": ["resourceGroup", "type"]
}
}
Käännetään KQL:ään:| summarize resourceCount = count() by resourceGroup, type
ArgMax-esimerkki:
{
"$type": "summarize",
"SummarizeClauseExpression": {
"OperatorName": "argmax",
"OperatorFieldName": "createdTime",
"FieldList": ["resourceGroup"]
}
}
Käännetään KQL:ään:| summarize arg_max(createdTime, *) by resourceGroup
Laajennuslauseke
Lisää laskettuja sarakkeita tuloksiin. Tarkoittaa KQL-operaattoriaextend.
{
"$type": "extend",
"FieldName": "newFieldName",
"Expression": "KQL_EXPRESSION"
}
Esimerkki:
{
"$type": "extend",
"FieldName": "environmentId",
"Expression": "tostring(properties.environmentId)"
}
Tarkoittaa KQL:ää:| extend environmentId = tostring(properties.environmentId)https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/scalarfunctions) käytettävissä olevista funktioista.
Liitos-lause
Liittää toisen taulukon tai alikyselyn kanssa. Tarkoittaa KQL-operaattoriajoin.
{
"$type": "join",
"RightTable": {
"TableName": "string",
"Clauses": []
},
"JoinKind": "string",
"LeftColumnName": "string",
"RightColumnName": "string"
}
Tuetut liitoslajit: Ohjelmointirajapinta tukee kaikkia KQL-liitostyyppejä. Täydellinen luettelo käytettävissä olevista liitostyypeistä ja niiden toiminnasta on KQL-liitosoperaattorin ohjeissa.
Esimerkki (Power Platform -resursseihin yhdistäminen ympäristötietojen avulla):
{
"$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"
}
Käännetään KQL:ään:| 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äydet kyselyesimerkit
Esimerkki: Power Platform -perusresurssikysely (Power Platform -hallintakeskuksen oletusmalli)
Hae kaikki Power Platform -resurssit ympäristön tiedoilla – tämä on Power Platform -hallintakeskuksen käyttämä oletuskysely.
{
"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"
}
}
]
}
Vastaava 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
Esimerkki: Laske Power Platform -resurssit tyypin ja sijainnin mukaan
{
"TableName": "PowerPlatformResources",
"Clauses": [
{
"$type": "summarize",
"SummarizeClauseExpression": {
"OperatorName": "count",
"OperatorFieldName": "resourceCount",
"FieldList": ["type", "location"]
}
},
{
"$type": "orderby",
"FieldNamesAscDesc": {
"resourceCount": "desc"
}
}
]
}
Vastaava KQL:
PowerPlatformResources
| summarize resourceCount = count() by type, location
| sort by resourceCount desc
Esimerkki: Yksinkertainen pohjaan perustuvien sovellusten kysely
Hanki pohjaan perustuvia sovelluksia, joissa on perussuodatus ja projektio:
{
"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
}
]
}
Vastaava KQL:
PowerPlatformResources
| where type == 'microsoft.powerapps/canvasapps'
| project name, location, properties.displayName, properties.createdAt, properties.environmentId
| take 100
Esimerkki: Suodata resursseja ympäristön ja päivämääräalueen mukaan
{
"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"
}
}
]
}
Kääntyy KQL:ksi
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
Vastauksen muoto
Ohjelmointirajapinta palauttaa ResourceQueryResult-objektin Azure Resource Graph SDK:sta. Tämä objekti sisältää kyselyn tulokset ja metatiedot kyselyn suorittamisesta.
Vastausrakenne:
{
"totalRecords": 1250,
"count": 50,
"resultTruncated": 1,
"skipToken": "string_for_next_page",
"data": [
// Array of result objects based on your query
]
}