
Power Platform 管理センターのインベントリ(在庫)を取得する様々なクエリについてのメモ書きです。
キャンバスアプリの取得の方法で記載しています。
基本的なコネクタの使い方はこちらを参照してください。
flali.hatenablog.com
インベントリに対応しているリソース
対応しているリソースはこんな感じ
キャンバスアプリ
"'microsoft.powerapps/canvasapps'"
モデル駆動型アプリ
"'microsoft.powerapps/modeldrivenapps'"
コードアプリ
"'microsoft.powerapps/codeapps'"
クラウドフロー
"'microsoft.powerautomate/cloudflows'"
エージェント
"'microsoft.copilotstudio/agents'"
エージェントフロー
"'microsoft.powerautomate/agentflows'"
モデル駆動型アプリの取得
モデル駆動型アプリを取得したい場合はこんな感じ。
body/TableName
PowerPlatformResources
body/Clauses
[
{
"$type": "where",
"FieldName": "type",
"Operator": "==",
"Values": [
"'microsoft.powerapps/modeldrivenapps'"
]
},
{
"$type": "project",
"FieldList": [
"name",
"location",
"properties.displayName",
"properties.createdAt",
"properties.environmentId"
]
}
]
body/Options/Top
1000
body/Options/Skip
0
クラウドフローを取得したい場合はこんな感じ。
body/TableName
PowerPlatformResources
body/Clauses
[
{
"$type": "where",
"FieldName": "type",
"Operator": "==",
"Values": [
"'microsoft.powerautomate/cloudflows'"
]
},
{
"$type": "project",
"FieldList": [
"name",
"location",
"properties.displayName",
"properties.createdAt",
"properties.environmentId"
]
}
]
body/Options/Top
1000
body/Options/Skip
0
リソースすべてを対象にする場合
キャンバスアプリ、モデル駆動型アプリ、クラウドフロー、エージェント、エージェントフロー、コードアプリを対象とする場合。
body/TableName
PowerPlatformResources
body/Clauses
[
{
"$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": "project",
"FieldList": [
"name",
"location",
"properties.displayName",
"properties.createdAt",
"properties.environmentId"
]
}
]
body/Options/Top
1000
body/Options/Skip
0
環境を指定したい場合
環境のIDがわかれば、環境を指定することもできます。
body/TableName
PowerPlatformResources
body/Clauses
[
{
"$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": "where",
"FieldName": "properties.environmentId",
"Operator": "==",
"Values": [
"'<環境ID>'"
]
},
{
"$type": "project",
"FieldList": [
"name",
"location",
"properties.displayName",
"properties.createdAt",
"properties.environmentId"
]
}
]
body/Options/Top
1000
body/Options/Skip
0
すべての環境情報とすべてのリソースを取得したい場合
サンプルに掲載されているこれが一番便利かもしれない
learn.microsoft.com
body/TableName
PowerPlatformResources
body/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"
}
}
]
body/Options/Top
1000
body/Options/Skip
0
さいごに
クエリを書くことで様々情報が取得できるQuery Power Platform resources コネクタは便利。
Power Platform の利活用促進で使いやすそうですね。
あとは、デスクトップフローの対応と最終実行日の項目があるともっと助かるかな。(今後のアップデートに期待)