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.
Power Platform API var tikt izmantots, lai no jūsu Microsoft Power Platform vides izgūtu dažādu informāciju un metadatus — gan tos, kas izmanto Microsoft Dataverse, gan tos, kas to nedara. Mūsdienās API iekšēji izmanto dažādi klienti, piemēram PowerShell.
Šajā apmācībā uzzināsit, kā:
- Izveidojiet Power Automate vai Logic Apps darbplūsmu (Azure) vai PowerShell skriptu, kas tiek autentificēts ar Power Platform API.
- Zvaniet uz saraksta vides galapunktu, lai izgūtu Microsoft Power Platform detalizētu informāciju par vidi.
- Atkārtoti dodieties cauri noslodzes objektam, lai izgūtu faktisko noslodzi.
- Saglabājiet patēriņa datus rādāmā tabulā.
Piemēram, klients vēlas iegūt rokturus attiecībā uz noslodzes pieaugumu, lai viņi varētu labāk izprast nomnieka kopējo noslodzi pēc nodaļas. Tas palīdz klientam veikt dažas iekšējās izmaksu uzskaites funkcijas un iekasēt atpakaļ maksājumus, pamatojoties uz to, cik daudz katra nodaļa patērē no kopējās pieejamās jaudas. Šis klients izmanto Vides aprakstu, lai izsauktu departamentu, kam pieder katra vide.
Savienojuma un mainīgā iestatīšana
Izmantojiet tālāk sniegto informāciju, lai izveidotu savienojumu ar Power Platform programmiski. Varat izvēlēties starp Azure pieredzi vai PowerShell skriptiem.
Izveidojiet darbplūsmu un iestatiet mainīgos
Lai sāktu, šajā apmācībā mēs izmantojam Logic Apps darbplūsmu. Power Automate plūsma ir pieņemama, kā arī jebkura cita jūsu uzņēmuma vēlamajam automatizācijas procesam paredzētā programma. Visi zvani, lai izgūtu datus, izmanto RESTful API, tāpēc visi rīki, kas atbalsta REST, darbojas ar šo apmācību.
Apmeklējiet Azure portālu un pēc tam izveidojiet jaunu loģikas programmu un piešķiriet tam nosaukumu:
Pēc tam pabeidziet nodrošināšanu, rediģējiet darbplūsmu, izmantojot noformētāju, un iestatiet periodiskuma izraisītāju, lai to palaistu katru dienu:
Tālāk mums ir jāinicializē pieci mainīgie:
- SPN-Id - Tas ir jūsu pakalpojuma vadītājs ClientID. Tas tiek izmantots vēlāk, lai veiktu autentifikāciju pakalpojuma galvenā kontekstā. Ja izmantojat lietotājvārda/paroles kontekstu, varat izlaist šo mainīgo.
- DBCapacity - Tas ir Float mainīgais patērētajai datu bāzes ietilpībai megabaitos.
- FileCapacity - Tas ir Float mainīgais patērētajai faila ietilpībai megabaitos.
- LogCapacity - Tas ir Float mainīgais patērētajai žurnāla ietilpībai megabaitos.
- SimplifiedEnvironmentArray-Init - Šis ir masīva mainīgais, kuru mēs aizpildām ar dažiem vides rekvizītiem. Šis vienkāršo HTML tabulas pēdējās atskaites izvadi.
Pēc tam mēs autentificējamies ar Microsoft Entra marķieri un izgūstam to, lai izsauktu Power Platform API. Ja neesat pabeidzis Microsoft Entra iestatīšanu, skatiet sadaļu Autentifikācija — mantota.
Šajā pamācībā mēs izmantojam atslēgas glabātuvi, lai glabātu savu pakalpojuma principāla slepeno vērtību. Šādi IT administrators šo vērtību var padarīt droši pieejamu jūsu darbplūsmai. Pēc tam tas tiek aizpildīts POST zvanā, lai Microsoft Entra izgūtu marķieri.
Pēc tam mēs parsējam Microsoft Entra marķiera atbilde drukātā objektā, izmantojot šo JSON shēmu darbībā "Parse JSON":
{
"properties": {
"access_token": {
"type": "string"
},
"expires_in": {
"type": "integer"
},
"ext_expires_in": {
"type": "integer"
},
"token_type": {
"type": "string"
}
},
"type": "object"
}
Ienest vides
Šajā sadaļā mēs iegūstam jūsu administrēto vides sarakstu. To var izdarīt ar API un PowerShell.
Izsaukt Vižu saraksta galapunktu
Tagad ir pienācis laiks piezvanīt Power Platform API. Izmantojiet saraksta vides galapunktu, lai izgūtu visas mūsu vides un to metadatus, jo īpaši ar noslodzes parametru $expand. Tas izmanto arī autorizācijas galveni ar uzrādītāja marķieri, ko iepriekšējā sadaļā saņēmām no Microsoft Entra ID. Ja izmantojāt lietotājvārda/paroles kontekstu, varat arī ievadīt šo nesēja marķieri arī šajā darbībā.
Pēc tam mēs parsējam Power Platform API atbilde drukātā objektā, izmantojot šo JSON shēmu ar darbību "Parse JSON":
{
"properties": {
"value": {
"items": {
"properties": {
"description": {
"type": "string"
},
"id": {
"type": "string"
},
"location": {
"type": "string"
},
"name": {
"type": "string"
},
"properties": {
"properties": {
"addons": {
"type": "array"
},
"azureRegion": {
"type": "string"
},
"capacity": {
"items": {
"properties": {
"actualConsumption": {
"type": "number"
},
"capacityType": {
"type": "string"
},
"capacityUnit": {
"type": "string"
},
"ratedConsumption": {
"type": "number"
},
"updatedOn": {
"type": "string"
}
},
"required": [
"capacityType",
"actualConsumption",
"ratedConsumption",
"capacityUnit",
"updatedOn"
],
"type": "object"
},
"type": "array"
},
"clientUris": {
"properties": {
"admin": {
"type": "string"
},
"maker": {
"type": "string"
}
},
"type": "object"
},
"cluster": {
"properties": {
"category": {
"type": "string"
},
"number": {
"type": "string"
}
},
"type": "object"
},
"connectedGroups": {
"type": "array"
},
"createdBy": {
"properties": {
"displayName": {
"type": "string"
},
"id": {
"type": "string"
},
"type": {
"type": "string"
}
},
"type": "object"
},
"createdTime": {
"type": "string"
},
"creationType": {
"type": "string"
},
"databaseType": {
"type": "string"
},
"displayName": {
"type": "string"
},
"environmentSku": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"linkedEnvironmentMetadata": {
"properties": {
"backgroundOperationsState": {
"type": "string"
},
"baseLanguage": {
"type": "number"
},
"createdTime": {
"type": "string"
},
"domainName": {
"type": "string"
},
"friendlyName": {
"type": "string"
},
"instanceApiUrl": {
"type": "string"
},
"instanceState": {
"type": "string"
},
"instanceUrl": {
"type": "string"
},
"platformSku": {
"type": "string"
},
"resourceId": {
"type": "string"
},
"scaleGroup": {
"type": "string"
},
"uniqueName": {
"type": "string"
},
"version": {
"type": "string"
}
},
"type": "object"
},
"protectionStatus": {
"properties": {
"keyManagedBy": {
"type": "string"
}
},
"type": "object"
},
"provisioningState": {
"type": "string"
},
"retentionDetails": {
"properties": {
"backupsAvailableFromDateTime": {
"type": "string"
},
"retentionPeriod": {
"type": "string"
}
},
"type": "object"
},
"retentionPeriod": {
"type": "string"
},
"runtimeEndpoints": {
"properties": {
"microsoft.ApiManagement": {
"type": "string"
},
"microsoft.BusinessAppPlatform": {
"type": "string"
},
"microsoft.CommonDataModel": {
"type": "string"
},
"microsoft.Flow": {
"type": "string"
},
"microsoft.PowerApps": {
"type": "string"
},
"microsoft.PowerAppsAdvisor": {
"type": "string"
}
},
"type": "object"
},
"states": {
"properties": {
"management": {
"properties": {
"id": {
"type": "string"
}
},
"type": "object"
},
"runtime": {
"properties": {
"id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"updateCadence": {
"properties": {
"id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"type",
"location",
"name",
"properties"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
Atkārtoti doties cauri Noslodzes objektam
Šī ir vissarežģītākā apmācībbas daļa. Šeit mēs izmantojam cilpu cilpas iekšpusē, lai iterētu katru vidi saraksta vides atbilde, un katrai videi ir noslodzes detaļu masīvs, ko mēs arī atkārtojam. Tas ļauj mums iegūt nepieciešamo informāciju par katru vides rindu mūsu kapacitātes atskaites tabulā.
Katram un parsēšana
Veiksim soli pa solim. Pirmkārt, mēs izmantojam vadīklu Katrai vadīklai, izmantojot Parse-List-Response izvades "vērtību":
Tad mēs parsējam šo vienoto vidi drukātā objektā, izmantojot šo JSON shēmu:
{
"properties": {
"description": {
"type": "string"
},
"id": {
"type": "string"
},
"location": {
"type": "string"
},
"name": {
"type": "string"
},
"properties": {
"properties": {
"addons": {
"type": "array"
},
"azureRegion": {
"type": "string"
},
"capacity": {
"items": {
"properties": {
"actualConsumption": {
"type": "number"
},
"capacityType": {
"type": "string"
},
"capacityUnit": {
"type": "string"
},
"ratedConsumption": {
"type": "number"
},
"updatedOn": {
"type": "string"
}
},
"required": [
"capacityType",
"actualConsumption",
"ratedConsumption",
"capacityUnit",
"updatedOn"
],
"type": "object"
},
"type": "array"
},
"clientUris": {
"properties": {
"admin": {
"type": "string"
},
"maker": {
"type": "string"
}
},
"type": "object"
},
"cluster": {
"properties": {
"number": {
"type": "string"
}
},
"type": "object"
},
"connectedGroups": {
"type": "array"
},
"createdBy": {
"properties": {
"displayName": {
"type": "string"
},
"id": {
"type": "string"
},
"type": {
"type": "string"
}
},
"type": "object"
},
"createdTime": {
"type": "string"
},
"creationType": {
"type": "string"
},
"databaseType": {
"type": "string"
},
"displayName": {
"type": "string"
},
"environmentSku": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"linkedEnvironmentMetadata": {
"properties": {
"backgroundOperationsState": {
"type": "string"
},
"baseLanguage": {
"type": "integer"
},
"createdTime": {
"type": "string"
},
"domainName": {
"type": "string"
},
"friendlyName": {
"type": "string"
},
"instanceApiUrl": {
"type": "string"
},
"instanceState": {
"type": "string"
},
"instanceUrl": {
"type": "string"
},
"resourceId": {
"type": "string"
},
"scaleGroup": {
"type": "string"
},
"uniqueName": {
"type": "string"
},
"version": {
"type": "string"
}
},
"type": "object"
},
"protectionStatus": {
"properties": {
"keyManagedBy": {
"type": "string"
}
},
"type": "object"
},
"provisioningState": {
"type": "string"
},
"retentionDetails": {
"properties": {
"backupsAvailableFromDateTime": {
"type": "string"
},
"retentionPeriod": {
"type": "string"
}
},
"type": "object"
},
"retentionPeriod": {
"type": "string"
},
"runtimeEndpoints": {
"properties": {
"microsoft.ApiManagement": {
"type": "string"
},
"microsoft.BusinessAppPlatform": {
"type": "string"
},
"microsoft.CommonDataModel": {
"type": "string"
},
"microsoft.Flow": {
"type": "string"
},
"microsoft.PowerApps": {
"type": "string"
},
"microsoft.PowerAppsAdvisor": {
"type": "string"
}
},
"type": "object"
},
"states": {
"properties": {
"management": {
"properties": {
"id": {
"type": "string"
}
},
"type": "object"
},
"runtime": {
"properties": {
"id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"updateCadence": {
"properties": {
"id": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"type": {
"type": "string"
}
},
"type": "object"
}
Tālāk mēs izmantojam vēl vienu Katrai vadīklai, izmantojot Parse-CurrentItem izejas "jaudu". Tad mēs to parsējam drukātā objektā, izmantojot šo JSON shēmu:
Tagad mēs varam izmantot rekvizīta CapacityType vadīklu Pārslēgt no parses un noslodzes izvades. Tā ir vai nu "Database", "File" vai "Log" vērtība. Katrā pārslēgšanas pieteikumā saistītajā mainīgajā tveriet saistīto rekvizītu "actualConsumption". Tālāk norādītajā gadījumā tiek parādīts, ka mēs tveram datu bāzes noslodzi.
Kā pēdējo darbību "Attiecībā uz katru vidi" mēs tagad pārskatā varam tvert detalizētu informāciju par vidi šai rindai. Izmantojot vērtību Pievienot masīvajai mainīgajai vadīklai, izmantojiet šādu JSON shēmu:
{
"properties": {
"actualConsumption": {
"type": "number"
},
"capacityType": {
"type": "string"
},
"capacityUnit": {
"type": "string"
},
"ratedConsumption": {
"type": "number"
},
"updatedOn": {
"type": "string"
}
},
"type": "object"
}
Atskaišu tabulas veidošana
Apsveicam, esat ticis līdz vieglajai daļai! Kad esam pilnībā aizpildījuši un vienkāršojuši vides noslodzes masīvu, varam to rādīt tabulas formātā.
HTML tabulu savienotāja izmantošana
Palaižot loģikas programmu, mēs tagad varam redzēt HTML tabulas atskaites izvadi:
Šo atskaiti var arī nosūtīt pa e-pastu, lai šajā piemērā tiktu noslīdētas uz izmaksu grāmatvedības metodi, vai arī šos datus var saglabāt datu bāzē turpmākai analīzei un vēsturisko tendenču izveidei.