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.
Anti-mallit ovat käytäntöjä, jotka vaikuttavat hyödyllisiltä, mutta johtavat suorituskykyongelmiin, resurssien tehottomuuteen ja mahdollisiin epäonnistumisiin työnkuluissa. Ymmärtämällä ja välttämällä näitä anti-malleja optimoit pilvityönkulkusi suorituskyvyn ja luotettavuuden parantamiseksi.
Sisäkkäisen Jokaiselle- silmukan välttäminen
Sisäkkäiset Jokaiselle-silmukat voivat vaatia toiminnoille runsaasti resursseja pilvityönkuluissa. Tämä saattaa vaikuttaa suorituskykyyn ja resurssien kulutukseen.
- Suoritusaika: Sisäkkäiset silmukat voivat moninkertaistaa iteraatioiden kokonaismäärän nopeasti. Jos sinulla on esimerkiksi kaksi silmukkaa, joissa kummassakin on 10 iteraatiota, iteraatioiden kokonaismääräksi tulee 10 x 10 = 100. Tämä eksponentiaalinen kasvu voi pidentää työnkulun suoritusaikaa etenkin, jos kukin iteraatio käsittelee suuria tietojoukkoja tai suorittaa monimutkaisia toimintoja.
- Rajoitukset ja kiintiöt: Power Automate valvoo rajoituksia ja kiintiöitä, kuten silmukassa sallittujen iteraatioiden enimmäismäärää ja kokonaissuoritusaikaa. Sisäkkäiset silmukat voivat lähestyä näitä rajoja nopeasti, mikä voi johtaa työnkulkuvirheisiin tai rajoituksiin erityisesti silloin, kun käsitellään suuria tietojoukkoja tai suoritetaan usein.
- Vaikutus suorituskykyyn: Jokainen sisäkkäisen silmukan iteraatio kuluttaa prosessointitehoa ja muistia. Kun iteraatioiden määrä kasvaa, järjestelmäresurssien kysyntä kasvaa, mikä saattaa hidastaa koko työnkulkua.
Lisätietoja: Samanaikaisuuden, silmukoiden ja jakamisen rajat
Skenaariosta riippuen voit välttää sisäkkäisiä silmukoita käsittelemällä toisiinsa liittyviä tietueita päätaulukosta. Ota huomioon seuraavat seikat:
Skenaario: Ulompi silmukka käyttää Luettelorivit-toimintoa tuoteluokkaluettelon noutamiseksi ProductCategory-taulukosta, jossa IsPromotion-sarakkeen arvo on tosi. Sisempi silmukka käsittelee tämän jälkeen jokaisen uloimman silmukan noutaman luokan Product-taulukon liittyvät tietueet.
Vaihtoehtoinen tapa: Käytä OData-kyselylaajennusta tämän prosessin tehostamiseksi. Tämän menetelmän avulla voit käsitellä yhtä Jokaiselle-silmukkaa, jolloin Dataversen pyyntöjen kokonaismäärä pienenee vain yhteen RetrieveMultiple-kutsuun.
Voit toteuttaa OData-kyselylaajennuksen seuraavasti:
- Käytä Laajenna kysely -parametria, jos haluat määrittää ProductCategory-taulukon Product-taulukkoon linkittävän hakusarakkeen nimen. Tämä lähestymistapa noutaa liittyvät tietueet yhdellä kyselyllä. Voit määrittää Laajenna kysely -parametrin arvoksi esimerkiksi
Products($select=ProductName,Price). - Käytä $select-parametria, jos haluat rajoittaa liittyvästä taulukosta palautettavia sarakkeita.
- Voit noutaa ja käsitellä asiaankuuluvia tietueita käyttämällä ehtoja suoraan hakutaulukon sarakkeissa Suodata rivit -parametrin avulla. Voit määrittää Suodata rivit -parametrin arvoksi esimerkiksi
IsPromotion eq true.
Vältä jatkuvia kehäviittauksia
Power Automaten avulla työnkulut voivat käynnistyä loputtomasti esimerkiksi silloin, kun työnkulku päivittää saman taulukon, joka käynnistää sen.
Kun tallennat työnkulun, jonka tulos voi olla päättymätön käynnistinsilmukka, Power Automate antaa varoituksen.
Voit välttää jatkuvat päättymättömät silmukat seuraavasti:
- Käytä käynnistimen ehtoja: Käynnistimen ehdot varmistavat, että työnkulku suoritetaan vain tiettyjen ehtojen täyttyessä. Näin estetään tarpeettomat suoritukset. Toteuta käynnistinehdot lisäämällä käynnistimeen ehto, joka tarkistaa tietyt arvot tai tilat ennen työnkulun jatkamista. Jos työnkulku esimerkiksi päivittää tilakentän, voit määrittää käynnistinehdon suorittamaan työnkulun vain, jos tilaa ei ole vielä määritetty haluttuun arvoon.
- Päätä työnkulku: Vaihtoehtoinen tapa on estää työnkulkua jatkamasta, jos havaitaan ehto, joka saattaa aiheuttaa päättymättömän silmukan. Lopeta työnkulku, kun tietty ehto täyttyy, käyttämällä Päätä-toimintoa. Tätä menetelmää voidaan käyttää suojatoimenpiteenä estämään lisätoiminnot, jos työnkulku on siirtymässä äärettömään silmukkaan. Jos työnkulku esimerkiksi havaitsee, että se on jo käsitellyt tietueen, se voi lopettaa itsensä uudelleenkäsittelyn välttämiseksi.
Vältä suuri määrä tietojen muuntotoimintoja
Kun käsittelet laajamittaisia tietomuunnoksia, harkitse ETL (extract, transform, load) -prosessin käyttöä. Sen sijaan, että esimerkiksi Power Automaten pilvityönkulkua käytettäisiin tietojen lukemisessa suuresta Excel-laskentataulukosta, voidaan suorittaa tietojen muotoilu tai tarkistukset ja kirjoittaa sen jälkeen tiedot Dataverseen. Kannattaa ehkä käyttää Power Platform -tietovoita tai muuta ETL-työkalua.
Tietovuot käsittelevät suuria tietomääriä tehokkaasti ja tarjoavat paremman suorituskyvyn ETL-tehtäville kuin pilvityönkulut. ETL-työkalut tarjoavat erikoisominaisuuksia tietojen muuntamiseen, validointiin ja lataamiseen, mikä voi yksinkertaistaa monimutkaisia tietojenkäsittelytehtäviä.
Voit hallita tietojen latausta orkestrointilogiikan avulla pilvityönkuluissa yhdistämällä pilvityönkulut ja tietovuot. Toimi seuraavasti:
Käynnistä tietovuon päivitys
- Toiminto: Käynnistä tietovuon yhdistin Power Automatessa, jolloin päivitystoiminto käynnistyy, ja aloita tietovuossa määritetty ETL-prosessi.
- Esimerkki: Määritä pilvityönkulku, joka käynnistää tietovuon päivityksen käyttämällä aikataulua (kuten päivittäin) tai tapahtumaa (esimerkiksi silloin, kun SharePoint-kansioon ladataan uusi tiedosto).
ETL-toimintojen jälkeen
- Käynnistin: Käytä Kun tietovuon päivitys on valmis -käynnistintä Power Automatessa, jos haluat suorittaa toiminnot ETL-prosessin päätyttyä.
- Esimerkki: Kun tietovuo on valmis, voit lähettää ilmoituksia, päivittää tietueita ja suorittaa tietojen käsittelyä pilvityönkulun avulla.
Vältä käyttämästä For each loop -toimintoa päivittääksesi suuren määrän tietueita
Käyttäjien on usein luotava tai päivitettävä tuhansia tietueita tietolähteessä, kun työnkulku käynnistyy Power Automatessa. Monet käyttäjät käyttävät For each -silmukkaa kunkin tietueen käsittelemiseen peräkkäin, mikä aiheuttaa viivettä ja viiveitä.
Voit parantaa suorituskykyä kokeilemalla näitä kahta lähestymistapaa:
Erätoiminnot
- Kuvaus: Luo tai päivitä tietueita erissä. Monet yhdistimet ja palvelut tarjoavat API-päätepisteitä, jotka tukevat eräpyyntöjä. Tämän menetelmän avulla voit ryhmitellä useita toimintoja yhdeksi HTTP-pyynnöksi.
- Toteutus: Käytä erätoiminto-ominaisuutta, jos haluat lähettää useita luonti- tai päivityspyyntöjä kerralla. Nämä toiminnot suoritetaan peräkkäin eräpyynnössä määritetyssä järjestyksessä. Vastausten järjestys vastaa erätoiminnon pyyntöjen järjestystä.
- Edut: Vähentää tietolähteeseen lähetettävien yksittäisten pyyntöjen määrää, minimoi viiveen ja parantaa suorituskykyä.
Rinnakkaisuus Jokaiselle-silmukassa
- Kuvaus: Ota rinnakkaiskäsittely käyttöön Jokaiselle-silmukassa, jotta voit käsitellä useita tietueita samanaikaisesti.
- Toteutus: Määritä Jokainen-silmukka käsittelemään enintään 50 tietuetta rinnakkain. Tämä lähestymistapa on hyödyllinen palveluissa, jotka eivät tue erätoimintoja.
- Edut: Lyhentää merkittävästi kokonaiskäsittelyaikaa, koska useita tietueita käsitellään samanaikaisesti.
Lisätietoja eräpyyntöjen tekemisestä on seuraavassa REST API -dokumentaatiossa:
Joukkotoimintojen käyttäminen Dataversessa
Käytä Dataversessa Joukkotoimintojen verkko-ohjelmointirajapinnat -ominaisuutta, jos haluat vähentää vaadittujen toimintojen määrää, sujuvoittaa prosesseja ja parantaa suorituskykyä.
Joukkotoimintojen verkko-ohjelmointirajapinnat tarjoavat selkeän edun erätoimintoihin verrattuna. Näin ne eroavat toisistaan:
- Erätoiminnot: Vaikka erätoiminnot kirjataan yhtenä pyyntönä, ne suoritetaan useina yksittäisinä toimintoina. Jokainen erän toiminto käsitellään erikseen.
- Joukkotoiminnot: Sen sijaan joukkotoiminnot kirjataan ja suoritetaan yhtenä toimintona. Koko joukkopyyntö lasketaan yhdeksi toiminnoksi, mikä voi vähentää merkittävästi toimintojen määrää ja parantaa tehokkuutta.
Joukkotoimintojen käynnistäminen:
- Käytä HTTP:tä Microsoft Entra ID:n kanssa: Joukkotoimintojen verkko-ohjelmointirajapinta voidaan käynnistään käyttämällä Microsoft Entra ID:n avulla todennettuja HTTP-pyyntöjä.
- Käytä HTTP-yhdistintä palvelun päänimien kanssa: Vaihtoehtoisesti voit käyttää HTTP-yhdistintä Power Automatessa, kun näiden ohjelmointirajapintojen käynnistämisessä käytetään palvelun päänimiä.
Tässä esimerkissä valmistellaan tietueet JSON-muodossa käyttämällä Valitse-toimintoa seuraavasti:
Tämän jälkeen käytetään HTTP:tä Microsoft Entra ID:n kanssa pyynnön kirjaamisessa CreateMultiple-verkko-ohjelmointirajapinnan avulla seuraavasti:
Jos JSON-tuloksessa on 100 tietuetta, tämä tapa aiheuttaa vain yhden toiminnon Dataversen Luo rivi -toimintojen tuloksena saatavien 100 rivin sijaan.