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.
Microsoft Power Platform tarjoaa tavan skaalata yrityssovelluksia samalla, kun ne integroidaan suuryritystason pilvipalveluihin suuren volyymin toimintoja varten. Skaalattava ilmoitusjärjestelmä käyttää tätä mahdollisuutta sms- ja sähköpostimuistutteiden lähettämiseen Microsoft Dataverse tallennetuista tapaamisista. Tärkeimpiä ominaisuuksia ovat seuraavat:
- Ilmoitukset käynnistyvät automaattisesti viikon, päivän ja tunnin ennen tapaamista.
- Mahdollisuus päivittää tai peruuttaa ilmoituksia, kun tapaamisia muokataan tai peruutetaan.
- Power Apps toimii käyttöliittymänä, jonka avulla käyttäjät voivat hallita tapaamisia tehokkaasti.
- Tukee tuhansia ilmoituksia päivässä, mutta pysyy luotettavana ja suorituskykyisenä.
Järjestelmä käyttää Azure Service Bus suuren määrän ajoittamiseen, Azure Functions käsittelyyn ja toimitukseen sekä Dataversea tapaamisten ja ilmoitusten pysyvään seurantaan. Ilmoitukset lähetetään SendGridin kautta sähköpostiin ja Twilioon tai Azure Communication Services tekstiviesteihin.
Tämä arkkitehtuuri varmistaa skaalattavuuden, luotettavuuden ja ylläpidettävyyden sekä ohittaa rajoitukset, jotka liittyvät yksinomaan Power Automate suurten ilmoitusmäärien järjestämiseen.
Vinkki
Tässä artikkelissa esitellään esimerkkiskenaario ja yleinen esimerkkiarkkitehtuuri, joiden avulla voidaan lähettää teksti- ja sähköpostimuistutuksia Dataverseen tallennetuista tapaamisista. Arkkitehtuuriesimerkkiä voidaan muokata moniin eri skenaarioihin ja toimialoihin.
Arkkitehtuurikaavio
Workflow
Järjestelmän työnkulku lähettää luotettavasti ilmoitukset oikeaan aikaan ja tukee päivityksiä ja peruutuksia:
Appointment creation: Käyttäjät luovat tapaamisia Power Apps-pohjasovelluksen kautta. Sovellus kirjoittaa tapaamistiedot suoraan Dataverseen ja varmistaa, että vain valtuutetut käyttäjät voivat käyttää tietoja käyttöoikeusroolien perusteella.
Event-käynnistin: Kun tapaaminen luodaan, päivitetään tai peruutetaan, Dataverse käynnistää palvelinpuolen prosessin, kuten laajennuksen, webhookin tai kevyen Power Automate. Tämä tapahtuma käynnistää aikataulutuslogiikan.
Ilmoitusaikataulu: Ajoitustoiminto Azure funktio laskee ilmoitusajat yhdelle viikolle, yhdelle päivälle ja tuntia ennen tapaamista. Sen jälkeen se luo vastaavat ilmoitustietueet Dataverseen ja ajoittaa viestit Azure Service Bus, tallentaa järjestysnumerot tulevia päivityksiä tai peruutuksia varten.
Appointment-päivitykset: Jos tapaamista muokataan, Scheduler-funktio peruuttaa aiemmin ajoitetut ilmoitukset käyttämällä Service Bus järjestysnumeroita. Se päivittää Dataverse-ilmoitustietueet ja ajoittaa ilmoitukset uudelleen uusien tapaamistietojen perusteella.
Appointment-peruuttaminen: Kun tapaaminen peruutetaan, Ajoitustoiminto poistaa kaikki odottavat viestit Azure Service Bus ja päivittää vastaavat Dataversen ilmoitustietueet peruutetuiksi.
Ilmoitukset: Delivery Azure -funktio käsittelee ajoitettuja sanomia Azure Service Bus. Se lähettää sähköposti-ilmoituksia SendGridin ja tekstiviestien kautta Twilion tai Azure Communication Services kautta. Lähettämisen jälkeen funktio päivittää ilmoitustietueen tila, uudelleenyritykset ja virhetiedot.
Monitoring ja observability: Application Insights ja Azure Monitor seurata funktioiden suorituksia, jonojen kuntoa, toimitusten onnistumista ja virheitä. Kuolleiden kirjeiden jonot Service Busissa sieppaavat toimittamattomia viestejä myöhempää analyysia varten.
Komponentit
Power Apps (pohjasovellus): Power Apps-pohjasovellus toimii ensisijaisena käyttöliittymänä tapaamisten hallintaan. Sen avulla käyttäjät voivat luoda, päivittää tai peruuttaa tapaamisia intuitiivisessa, vähäistä koodausta käyttävässä käyttöliittymässä. Kangassovellus on vuorovaikutuksessa suoraan Dataversen kanssa tapaamis- ja ilmoitustietueiden lukemiseksi ja kirjoittamiseksi. Se antaa käyttäjälle myös reaaliaikaista palautetta tapaamisten onnistuneesta luomisesta, päivityksistä tai peruuttamisesta. Käyttöliittymä on suunniteltu vahvistamaan tietojen syöttäminen, käsittelemään ristiriitoja, kuten päällekkäisiä tapaamisia, ja tarjoamaan ilmoituksia lokalisoituja aikavyöhykkeitä.
-
Tapaamistaulukko: Dataverse toimii kaikkien tapaamistietojen tietuejärjestelmänä. Jokainen tapaamismerkintä sisältää tietoja, kuten potilaan tai käyttäjän, tapaamisajan, palvelutyypin ja tilan. Appointment-taulukko on suunniteltu käynnistämään tapahtumia, jotka koskevat toimintojen luomista, päivittämistä tai poistamista. Scheduler Azure Function kuuntelee näitä tapahtumia ja laskee ja ajoittaa ilmoituksia. Dataverse tarjoaa sisäänrakennetun suojauksen roolipohjaisen käytön hallinnan, kenttätason käyttöoikeuksien ja valvonnan avulla sekä varmistaa, että luottamukselliset tapaamistiedot ovat vain oikeiden käyttäjien käytettävissä. Lisäksi sen integrointi Power Platformiin varmistaa pienen viiveen käytön ja saumattoman vuorovaikutuksen muiden osien kanssa.
Ilmoitustaulukko: Ilmoitus-taulukko sisältää jokaisen ajoitetun ilmoituksen metatiedot, kanavan (TEKSTIVIESTI TAI sähköposti), ajoitetun toimitusajan, tilan (Ajoitettu, Lähetetty, Epäonnistunut tai Peruutettu), yritysten määrän ja siihen liittyvän Service Bus järjestysnumeron. Järjestelmä tarjoaa reaaliaikaisen seurannan, raportoinnin ja virheiden käsittelyn kaikille ilmoituksille säilyttämällä nämä tiedot Dataversessa. Taulukossa järjestelmänvalvojat voivat valvoa toimitushistoriaa, seurata epäonnistuneita yrityksiä ja tehdä tarvittaessa korjaavia toimia. Se tukee myös tapaamisten muutosten käynnistämiä automaattisia päivityksiä, joilla varmistetaan ilmoitusten pysyminen oikeina.
-
Ajoitus: Ajoitustoiminto laskee ilmoitusajat tapaamisen tietojen perusteella. Se määrittää muistutukset viikolle, yhdelle päivälle ja tuntia ennen tapaamista ja luo vastaavat tietueet Dataversessa. Se myös ajoittaa Azure Service Bus viestit, jotka tallentavat järjestysnumerot tulevan peruuttamisen tai uudelleenajoituksen mahdollistamiseksi. Tämä funktio voi käsitellä suuria tapaamisia ilman suorituskyvyn heikkenemistä ja varmistaa idempotenssin niin, että se ei ajoita ilmoitusten kaksoiskappaleita. Sen palvelimettoman rakenteen ansiosta se skaalautuu automaattisesti tapahtuman kuormituksen mukaan ja varmistaa toiminnan tehokkuuden.
Delivery: Toimitusfunktio käsittelee viestit kohteesta Azure Service Bus, kun niiden ajoitettu toimitusaika saapuu. Se määrittää oikean kanavan kullekin ilmoitukselle, kuten sähköpostin SendGridin tai tekstiviestin kautta Twilio/Azure Communication Services kautta, ja lähettää viestin vastaavasti. Toimituksen jälkeen se päivittää Dataverse-funktion ilmoitustietueen tilalla ja yrittää tietoja uudelleen, jos virhe ilmenee. Funktio toteuttaa myös virheiden käsittelyn, kirjaamisen ja uudelleenyritysten mekanismit ja varmistaa, että se tarjoaa viestit luotettavasti, jos tilapäisiä virhe- tai palveluhintarajoja on. Se skaalaa automaattisesti viestien määrän mukaan Service Busissa käsittelemään ilmoitusten volyymin piikkejä.
Azure Service Bus: Azure Service Bus on ilmoitusten ajoitusjärjestelmän runko. Se tarjoaa kestävää, suurta siirtomäärää ja aikakohtaista jonotusta, joilla varmistetaan, että sanomat toimitetaan tarkalleen tarvittaessa. Järjestysnumeroiden avulla se voi peruuttaa tai ajoittaa uudelleen sanomia, jos kyseessä on tapaamisen muutos, mikä säilyttää yhtenäisyyden. Service Bus tukee myös kuolleiden kirjainten jonoja, joiden avulla voidaan siepata viestejä, jotka epäonnistuvat useiden uudelleen yrityksen jälkeen, jolloin järjestelmänvalvojat voivat tutkia ja korjata virheitä. Sen kyky poistaa aikataulut toimituksesta varmistaa, että järjestelmä pysyy reagoivana ja skaalattavana.
Sähköpostin ja tekstiviestien tarjoajat: Ulkoiset viestintäpalvelut hoitavat ilmoitusten todellisen toimituksen. SendGridiä käytetään sähköposti-ilmoitusten lähettämiseen, tarjoten vankan seurannan, analytiikan ja uudelleenyritysten mekanismit. Twilio ja Azure Communication Services toimittavat tekstiviestejä, jotka tukevat suuren määrän viestintää luotettavasti. Delivery-funktio on vuorovaikutuksessa näiden palveluntarjoajien kanssa käyttämällä suojattuja ohjelmointirajapinta-avaimia, jotka on tallennettu Azure Key Vault, ja se toteuttaa uudelleenyritysten strategioita tilapäisten virheiden tai hintarajoituksen ongelmien käsittelemiseksi. Ulkoistamalla toimituksen erityisille palveluntarjoajille järjestelmä varmistaa korkean luotettavuuden ja vähentää toimintakustannuksia.
Azure Key Vault: Voit turvallisesti tallentaa kaikki luottamukselliset tunnistetiedot ja ohjelmointirajapinta-avaimet Azure Key Vault. Azure Functions käyttää salaisten koodien käyttöä hallittujen käyttäjätietojen kautta, mikä poistaa tarpeen tallentaa arkaluonteisia tietoja koodiin tai määritystiedostoihin. Key Vault varmistaa, että se salaa lepäävät tunnistetiedot, tarkistaa käytön ja ottaa käyttöön kiertokäytännöt automaattisesti suojauksen vaatimustenmukaisuuden säilyttämiseksi.
Seuranta- ja havainnointityökalut: Järjestelmä käyttää Application Insightsia ja Azure Monitoria tarjotakseen täydellisen näkyvyyden ratkaisun terveydentilaan ja suorituskykyyn. Application Insights seuraa funktion suorituksia, jonon pituuksia, toimitustilaa ja virheitä, kun taas Azure Monitor tarjoaa hälytyksiä epänormaaleista toiminnoista, viestien keskeneräistä lokista tai palvelun virheistä. Voit käyttää lokeja ja telemetriatietoja vianmääritykseen, operatiiviseen analyysiin ja kapasiteetin suunnitteluun ja varmistaa, että järjestelmänvalvojilla on tarvittavat tiedot korkean toiminnallisen luotettavuuden ja suorituskyvyn ylläpitämiseksi.
Skenaarion tiedot
Tämä ratkaisu on suunniteltu organisaatioille, joiden on lähetettävä ajoissa muistutuksia ajoitetusta tapaamisista, kuten terveydenhuollon klinikoille, rokotuskeskuksille tai palvelupohjaisille yrityksille. Käyttäjät käsittelevät Power Apps kautta antaakseen tapaamistietoja, jotka on tallennettu Dataverseen ja käsitelty välittömästi ilmoitusten ajoittamiseksi. Järjestelmä laskee automaattisesti muistutusajat, kuten viikon, yhden päivän ja tunnin ennen tapaamista, ja varmistaa, että se toimittaa muistutukset asianmukaisen kanavan kautta.
Järjestelmä voi käsitellä tuhansia päivittäisiä ilmoituksia ilman suorituskyvyn heikkenemistä, jonka mahdollistaa tapaamisen hallinnan, aikataulutuksen ja sanoman näyttämisen erottaminen toisistaan. Se varmistaa, että muistutukset ovat tarkkoja myös silloin, kun tapaamisia siirretään tai peruutetaan ajoittamalla Service Bus uudelleen tai poistamalla ne dynaamisesti. Prosessin jokainen vaihe kirjataan ja seurataan. Tämä lähestymistapa varmistaa, että sekä järjestelmänvalvojilla että tukihenkilöstöllä on näkyvyys järjestelmän toimintaan ja kunkin lähetetyn ilmoituksen tilaan.
Huomioitavia seikkoja
Näillä näkökohdilla toteutetaan Power Platformin Well-Architected -pilareita, joka on joukko ohjaavia periaatteita, jotka parantavat työkuorman laatua. Lue lisää artikkelista Microsoft Power Platform Well-Architected.
Security
Järjestelmä integroituu suojaukseen käyttämällä Microsoft Entra ID käyttäjätietoihin ja Dataverse-rooleihin, mikä rajoittaa tapaamisten ja ilmoitusten käyttöoikeuksia. Power Apps käyttäjät todennetaan Microsoft Entra ID avulla varmistaen, että kaikki Vuorovaikutukset Dataversen kanssa ovat valtuutettuja ja kirjattuja. Azure Functions käyttää hallittuja käyttäjätietoja turvallisesti vuorovaikutuksessa Dataversen, Service Bus ja Key Vault kanssa tallentamatta tunnistetietoja koodiin tai määritystiedostoihin.
Tallenna luottamukselliset tunnistetiedot, kuten SendGrid ja Twilio-avaimet, vain Azure Key Vault ja käytä niitä hallittujen käyttäjätietojen kautta. Yksityisten päätepisteiden ja näennäisverkkojen avulla voit suojata Azure palvelujen välistä viestintää entisestään, mikä vähentää altistumista julkiselle Internetille. Kaikki sanomansiirrot järjestelmän osien välillä noudattavat salattua viestintästandardia lepäävät ja siirrossa olevat tiedot suojaamista varten.
Toiminnallinen erinomaisuus
Voit saavuttaa operatiivisen huippuosaamisen jatkuvan seurannan, havaittavuuden ja automaattisen hälytyksen avulla. Application Insights kerää yksityiskohtaisia telemetriatietoja Azure Functions, mukaan lukien suoritusajat, epäonnistumiset, uudelleenkulutukset ja suorituskykymittarit. Azure Monitor seuraa Azure Service Bus jonojen kuntoa ja tunnistaa mahdolliset pullonkaulat tai keskeneräiset työt. Dead-letter-jonot muodostavat mekanismin sanomien tallentamiseen ja vianmääritykseen, jotka epäonnistuvat useiden yritysten jälkeen.
Järjestelmänvalvojat voivat määrittää hälytyksiä ilmoittamaan heille sanoman käsittelyyn, palvelun käyttökatkoihin tai epänormaaliin jonojen kasvuun liittyvistä virheistä. Dataverse ylläpitää ilmoitustaulukossa seurantaketjua, jonka avulla järjestelmänvalvojat voivat seurata kunkin ilmoituksen elinkaarta. Koska Azure Functions ovat tilattomia ja skaalautuvat automaattisesti, järjestelmä voi reagoida sanomamäärän äkilliseen kasvuun ilman manuaalisia toimia, mikä takaa tasaisen suorituskyvyn ja toiminta-ajan.
Suoritustehokkuus
Arkkitehtuuri on optimoitu korkeaa suorituskykyä ja skaalattavuutta varten. Azure Service Bus mahdollistaa ajoitettujen ilmoitusten tehokkaan käsittelyn ilman Power Automate perustuvien viivästysten yleiskustannuksia. Ajoitus ja toimitus erillisiin funktioihin mahdollistavat kunkin komponentin skaalauksen itsenäisesti kysynnän mukaan. Toimitusfunktio hyötyy automaattisesta skaalautumisesta, joten se voi käsitellä lähtevissä viesteissä olevia piikkejä vaikuttamatta käyttäjään suunnattuihin järjestelmiin.
Lisäksi hallittujen käyttäjätietojen ja palvelun todentamisen välimuistiin tallentamisen strategioiden käyttäminen vähentää viivettä sanoman toimittamisen aikana. Järjestelmä minimoi tarpeettomat tallennuskulut pitämällä olennaiset metatiedot vain Dataversessa ja tukemalla vanhempien ilmoitusten arkistointistrategioita. Yhdistämällä Power Platform -ominaisuudet Azure skaalattavaan viestiinfrastruktuuriin järjestelmä varmistaa nopean, tehokkaan ja kustannustehokkaan ilmoitusten toimittamisen suuryrityksen mittakaavassa.
Osallistuja
Microsoft ylläpitää tätä artikkelia. Seuraavat avustajat kirjoittivat tämän artikkelin.
Pääasialliset tekijät:
- Summit Bajracharya, ratkaisuarkkitehti