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.
Power Platform -ohjelmointirajapinnan avulla voidaan poimia erilaisia tietoja ja metatietoja Microsoft Power Platform -ympäristöistä, joissa on tai ei ole Microsoft Dataverse -tietokantaa. Ohjelmointirajapintaa käyttävät nykyisin useat saatavilla olevat asiakasohjelmat, kuten PowerShell.
Tässä opetusohjelmassa opit:
- Luo tai Power Automate -tai Logic Apps -työnkulku (Azure) tai PowerShell-komentosarja, joka todennetaan Power Platform -ohjelmointirajapinnan avulla.
- Kutsu ympäristöjen luetteloimisen päätepistettä, jos haluat hakea Microsoft Power Platform -ympäristön tiedot.
- Iteroi kapasiteettiobjektin kautta ja hae todellinen kulutus.
- Tallenna kulutustiedot taulukkoon näytettäväksi.
Esimerkki tästä skenaariosta on asiakas, joka haluaa tietää kapasiteetin kulutuksen ja näin ymmärtää paremmin vuokraajan kokonaiskapasiteetin kohdentamista osaston mukaan. Tämä auttaa asiakasta suorittamaan joitakin sisäisiä kustannuslaskentatoimintoja ja takaisinveloituksia sen perusteella, kuinka paljon kukin osasto kuluttaa käytettävissä olevasta kokonaiskapasiteetista. Tämä asiakas käyttää ympäristön kuvausta kutsuakseen kunkin ympäristön omistavaa osastoa.
Yhteyden muodostaminen ja muuttujien määrittäminen
Käytä seuraavia tietoja muodostaaksesi yhteyden Power Platform ohjelmallisesti. Voit valita Azure-kokemuksen tai PowerShell-skriptin.
Työnkulun luominen ja muuttujien määrittäminen
Aluksi tässä opetusohjelmassa käytämme Logic Apps työnkulkua. Power Automate -työnkulku on myös hyväksyttävä – tai mikä tahansa muu orkestrointimoduuli, jota yritys haluaa käyttää automatisointiin. Kaikki tietojen hakukutsut käyttävät RESTful-ohjelmointirajapintoja, joten kaikki RESTiä tukevat työkalut toimivat tämän opetusohjelman kanssa.
Siirry Azure-portaaliin ja luo sitten uusi logiikkasovellus ja anna sille nimi seuraavasti:
Kun valmistelu on tehty, muokkaa työnkulkua suunnitteluohjelman avulla ja määritä toistuva käynnistin suoritettavaksi päivittäin seuraavasti:
Seuraavaksi meidän on alustettava viisi muuttujaa:
- SPN-Id – Tämä on palvelun päänimen asiakastunnus. Sitä käytetään myöhemmin todennuksen suorittamiseen palvelun päänimen kontekstissa. Jos käytät käyttäjätunnus/salasana-kontekstia, voit ohittaa tämän muuttujan.
- DBCapacity - Tämä on Float-muuttuja kulutetulle tietokantakapasiteetille megatavuina.
- FileCapacity - Tämä on Float-muuttuja kulutetulle tiedostokapasiteetille megatavuina.
- LogCapacity– Tämä on kulutetun log-kapasiteetin liukulukumuuttuja megatavuina.
- SimplifiedEnvironmentArray-Init - Tämä on matriisimuuttuja, jonka täytämme muutamalla ympäristön ominaisuudella. Tämä yksinkertaistaa merkittävästi lopullisen HTML-taulukon tulosta.
Seuraavaksi todennamme Microsoft Entra ja haemme tunnuksen API:n Power Platform kutsumista varten. Jos et ole suorittanut Microsoft Entra -asennusta loppuun, katso kohta Todennus – vanha.
Tässä opetusohjelmassa käytetään avainsäilöä palvelun päänimen salaisuuden arvoja varten. Näin IT:n järjestelmänvalvoja voi ottaa tämän arvon turvallisesti käyttöön työnkulkua varten. Tämä täytetään sitten POST-kutsussa tunnuksen Microsoft Entra noutamista varten.
Tämän jälkeen Microsoft Entra -tunnuksen vastaus jäsennetään tyypitettyyn objektiin käyttämällä JSON-rakennetta Jäsennä JSON -toiminnossa:
{
"properties": {
"access_token": {
"type": "string"
},
"expires_in": {
"type": "integer"
},
"ext_expires_in": {
"type": "integer"
},
"token_type": {
"type": "string"
}
},
"type": "object"
}
Nouda ympäristöt
Tässä osiossa haemme hallinnoimasi ympäristöluettelon. Tämä voidaan tehdä ohjelmointirajapinnan sekä PowerShellin kautta.
Ympäristöjen luetteloimisen päätepisteen kutsuminen
Nyt on aika kutsua Power Platformin ohjelmointirajapintaa. Käytä Luetteloympäristöt-päätepiste noutaaksesi kaikki ympäristömme ja niiden metatiedot, erityisesti kapasiteetin $expand-parametrilla. Tämä käyttää myös Valtuutus-otsikkoa yhdessä edellisessä osassa Microsoft Entra ID:stä vastaanotetun haltijatunnuksen kanssa. Jos käytit käyttäjänimeä ja salasanaa, voit syöttää myös tämän haltijatunnuksen tässä vaiheessa.
Sitten jäsennämme Power Platform API-vastaus kirjoitetuksi objektiksi käyttämällä tätä JSON-mallia Parse JSON -toiminnolla:
{
"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"
}
Iteroi Kapasiteetti-objektin kautta
Tämä on opasohjelman monimutkaisin osa. Tässä käytämme silmukan sisällä olevaa silmukkaa kunkin luetteloympäristön vastaus ympäristön iterointiin, ja jokaisella ympäristöllä on joukko kapasiteettitietoja, joita myös toistamme. Näin voimme tallentaa kapasiteettiraporttitaulukon kunkin ympäristörivin tarvittavat tiedot.
Kullekin ja jäsennys
Tehdään tämä vaihe vaiheelta. Ensinnäkin käytämme For each -ohjausobjektia käyttämällä Parse-List-Response -lähdön arvoa:
Sitten jäsennämme tämän yksittäisen ympäristön kirjoitetuksi objektiksi käyttämällä tätä JSON-mallia:
{
"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"
}
Seuraavaksi käytämme toista For Every -ohjausobjektia käyttämällä Parse-CurrentItem-lähdön kapasiteettia. Sitten jäsennämme tämän kirjoitetuksi objektiksi käyttämällä tätä JSON-mallia:
Nyt voidaan käyttää vaihto-ohjausobjektia CapacityType-ominaisuudessa Parse-Capacity-tuloksesta. Tämä on joko 'Tietokanta', 'Tiedosto' tai 'Loki'. Sieppaa jokaisen vaihtotapaukseen liittyvä actualConsumption-ominaisuus liittyvään muuttujaan. Seuraavassa tapauksessa näet, että sieppaamme tietokantakapasiteettia:
Viimeisenä vaiheena Jokaiseen ympäristöön -silmukassa siepataan nyt tämän rivin ympäristön tiedot raporttiin. Käytä seuraavaa JSON-rakennetta Lisää matriisimuuttujaan -ohjausobjektin avulla:
{
"properties": {
"actualConsumption": {
"type": "number"
},
"capacityType": {
"type": "string"
},
"capacityUnit": {
"type": "string"
},
"ratedConsumption": {
"type": "number"
},
"updatedOn": {
"type": "string"
}
},
"type": "object"
}
Luo raporttitaulukko
Onnittelut, olet nyt saavuttanut helpon osuuden. Kun ympäristön kapasiteettimatriisi on täytetty ja yksinkertaistettu, se voidaan näyttää taulukkomuodossa.
HTML-taulukkoliittimen käyttö
Suorittamalla logiikkasovellus nähdään nyt HTML-taulukon raportin tulos seuraavasti:
Raportti voidaan lähettää sähköpostitse sidosryhmän jäsenille tässä kustannuslaskennan merkitysten esimerkissä. Tiedot voidaan myös tallentaa tietokantaan lisäanalyysiä ja aiempia suosituksia varten.