Piezīmes
Lai piekļūtu šai lapai, ir nepieciešama autorizācija. Varat mēģināt pierakstīties vai mainīt direktorijus.
Lai piekļūtu šai lapai, ir nepieciešama autorizācija. Varat mēģināt mainīt direktorijus.
Krājumu API ļauj izpildīt strukturētus vaicājumus Azure Resource Graph, izmantojot POST pieprasījumu ar vaicājuma specifikāciju pieprasījuma pamattekstā. API pārvērš jūsu vaicājuma specifikāciju Kusto Query Language (KQL) izpildei pret Azure Resource Graph. Resursu krājumu API ir daļa no Power Platform API atsauces dokumentācijas. Pilnu resursu tipu un vaicājamo lauku sarakstu skatiet sadaļā Power Platform krājumu shēmas atsauce.
API galapunkts
POST {PowerPlatformAPI url}/resourcequery/resources/query?api-version=2024-10-01
Pieprasījuma pamatteksts
Pieprasījuma pamattekstā ir jābūt vaicājuma specifikācijai ar šādu struktūru:
Vaicājuma pieprasījuma struktūra
{
"TableName": "string",
"Clauses": [
{
"$type": "clause_type",
// clause-specific properties
}
],
"Options": {
"Top": 100,
"Skip": 0,
"SkipToken": "string"
}
}
Rekvizīti
| Rekvizīts | Tips | Obligāts | Apraksts |
|---|---|---|---|
TableName |
virkne | Jā | Vaicājuma mērķa tabulas/resursa tips (t.i., "PowerPlatformResources") |
Clauses |
masīvs | Jā | Vaicājuma klauzulu masīvs, kas definē veicamās darbības |
Options |
Objektu | Nē. | Azure Resource Graph vaicājuma opcijas lapu veidošanai un rezultātu kontrolei |
Vaicājuma opcijas
Objekts Options atbalsta Azure Resource Graph vaicājuma parametrus lapu veidošanai un rezultātu kontrolei. Lai uzzinātu vairāk, skatiet ResourceQueryRequestOptions dokumentāciju .
Atbalstītās vaicājuma klauzulas
API atbalsta šajā sadaļā izceltos klauzulu tipus, izmantojot polimorfisko JSON serializāciju. Katrs klauzulas veids atbilst KQL operatoriem, kā dokumentēts KQL atsaucē:
Ja klauzula
Filtrē datus, pamatojoties uz lauka apstākļiem. Tulko uz KQL where operatoru.
{
"$type": "where",
"FieldName": "string",
"Operator": "string",
"Values": ["string1", "string2"]
}
Atbalstītie operatori: API atbalsta visus standarta KQL salīdzināšanas un virkņu operatorus. Pilnu pieejamo operatoru sarakstu skatiet KQL virknes operatoru un skaitlisko operatoru dokumentācijā.
Piemērs:
{
"$type": "where",
"FieldName": "type",
"Operator": "in~",
"Values": ["'microsoft.powerapps/canvasapps'", "'microsoft.copilotstudio/agents'"]
}
Tulko KQL:| where type in~ ('microsoft.powerapps/canvasapps', 'microsoft.copilotstudio/agents')
Projekta klauzula
Rezultātos atlasa konkrētus laukus. Tulko uz KQL project operatoru.
{
"$type": "project",
"FieldList": ["field1", "field2", "field3"]
}
Piemērs:
{
"$type": "project",
"FieldList": [
"name",
"properties.displayName",
"environmentId = tostring(properties.environmentId)",
"createdDate = properties.createdAt"
]
}
Tulko KQL:| project name, properties.displayName, environmentId = tostring(properties.environmentId), createdDate = properties.createdAt
Ņemiet klauzulu
Ierobežo atgriezto rezultātu skaitu. Tulko uz KQL take operatoru.
{
"$type": "take",
"TakeCount": 50
}
Tulko KQL:| take 50
Kārtot pēc klauzulas
Kārto rezultātus pēc norādītajiem laukiem. Tulko uz KQL sort operatoru.
{
"$type": "orderby",
"FieldNamesAscDesc": {
"field1": "asc",
"field2": "desc"
}
}
Piemērs:
{
"$type": "orderby",
"FieldNamesAscDesc": {
"tostring(properties.createdAt)": "desc",
"properties.displayName": "asc"
}
}
Tulko KQL:| sort by tostring(properties.createdAt) desc, properties.displayName asc
Atsevišķa klauzula
Atgriež unikālas vērtības norādītajiem laukiem. Tulko uz KQL distinct operatoru.
{
"$type": "distinct",
"FieldList": ["field1", "field2"]
}
Tulko KQL:| distinct field1, field2
Skaitīšanas klauzula
Atgriež atbilstošo ierakstu skaitu. Tulko uz KQL count operatoru.
{
"$type": "count"
}
Tulko KQL:| count
Kopsavilkuma klauzula
Apkopo datus, izmantojot skaitīšanas vai argmax operācijas. Tulko uz KQL summarize operatoru.
{
"$type": "summarize",
"SummarizeClauseExpression": {
"OperatorName": "count|argmax",
"OperatorFieldName": "string",
"FieldList": ["field1", "field2"]
}
}
Atbalstītie operatori:
-
count→count()— saskaitīt ierakstus, kas sagrupēti pēc norādītajiem laukiem. -
argmax→arg_max()— iegūstiet ierakstus ar maksimālo vērtību norādītajā laukā.
Skaitīt piemēru:
{
"$type": "summarize",
"SummarizeClauseExpression": {
"OperatorName": "count",
"OperatorFieldName": "resourceCount",
"FieldList": ["resourceGroup", "type"]
}
}
Tulko KQL:| summarize resourceCount = count() by resourceGroup, type
ArgMax piemērs:
{
"$type": "summarize",
"SummarizeClauseExpression": {
"OperatorName": "argmax",
"OperatorFieldName": "createdTime",
"FieldList": ["resourceGroup"]
}
}
Tulko KQL:| summarize arg_max(createdTime, *) by resourceGroup
Pagarināt klauzulu
Rezultātiem pievieno aprēķinātās kolonnas. Tulko uz KQL extend operatoru.
{
"$type": "extend",
"FieldName": "newFieldName",
"Expression": "KQL_EXPRESSION"
}
Piemērs:
{
"$type": "extend",
"FieldName": "environmentId",
"Expression": "tostring(properties.environmentId)"
}
Tulko KQL:| extend environmentId = tostring(properties.environmentId)https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/scalarfunctions) pieejamām funkcijām.
Pievienošanās klauzula
Apvienojas ar citu tabulu/apakšvaicājumu. Tulko uz KQL join operatoru.
{
"$type": "join",
"RightTable": {
"TableName": "string",
"Clauses": []
},
"JoinKind": "string",
"LeftColumnName": "string",
"RightColumnName": "string"
}
Atbalstītie savienojuma veidi: API atbalsta visus KQL savienojuma veidus. Pilnu sarakstu ar pieejamiem savienojuma veidiem un to uzvedību skatiet KQL savienojuma operatora dokumentācijā.
Piemērs (Power Platform resursu apvienošana ar vides informāciju):
{
"$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"
}
Tulko 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
Pilnīgi vaicājumu piemēri
Piemērs: pamata Power Platform resursu vaicājums (Power Platform administrēšanas centra noklusējuma modelis)
Iegūstiet visus Power Platform resursus ar vides informāciju — tas ir noklusējuma vaicājums, ko izmanto Power Platform administrēšanas centrs.
{
"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"
}
}
]
}
Ekvivalents 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
Piemērs: Power Platform resursu skaitīšana pēc veida un atrašanās vietas
{
"TableName": "PowerPlatformResources",
"Clauses": [
{
"$type": "summarize",
"SummarizeClauseExpression": {
"OperatorName": "count",
"OperatorFieldName": "resourceCount",
"FieldList": ["type", "location"]
}
},
{
"$type": "orderby",
"FieldNamesAscDesc": {
"resourceCount": "desc"
}
}
]
}
Ekvivalents KQL:
PowerPlatformResources
| summarize resourceCount = count() by type, location
| sort by resourceCount desc
Piemērs: vienkāršs audekla programmu vaicājums
Iegūstiet audekla programmas ar pamata filtrēšanu un projekciju:
{
"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
}
]
}
Ekvivalents KQL:
PowerPlatformResources
| where type == 'microsoft.powerapps/canvasapps'
| project name, location, properties.displayName, properties.createdAt, properties.environmentId
| take 100
Piemērs: resursu filtrēšana pēc vides un datumu diapazona
{
"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"
}
}
]
}
Tulko 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
Atbildes formāts
API atgriež objektu ResourceQueryResult no Azure Resource Graph SDK. Šis objekts satur vaicājuma rezultātus un metadatus par vaicājuma izpildi.
Atbildes struktūra:
{
"totalRecords": 1250,
"count": 50,
"resultTruncated": 1,
"skipToken": "string_for_next_page",
"data": [
// Array of result objects based on your query
]
}