Do you wanna build a snowman? (pt. 2)

Daan Mac-Lean

Blog
23 juni 2022

Het Power Platform verbinden met Azure functions

In deel #1 van deze ‘Do you wanna build a snowman’-blogpost hebben we gezien hoe we met behulp van een Application Programming Interface (of API) en een Azure Function een sneeuwpop kunnen genereren. Maar wat als we deze sneeuwpop willen integreren in een gebruiksvriendelijke app? En de gebruikers van deze app zelf in staat willen stellen om eenvoudig een sneeuwpop te bouwen? In deze ‘Do you wanna build a snowman’-blogpost deel #2 zie je hoe we dit voor elkaar krijgen met behulp van een Power Platform custom connector. Maar wat zijn connectors eigenlijk?

Wat zijn connectors?

Er zijn op dit moment meer dan 500 connectoren die het Power Platform verbinden met verschillende apps, services, gegevens of apparaten. Een connector in principe een verzameling van een aantal acties en triggers die het Power Platform in staat stelt de communiceren met de API van een bepaalde service of applicatie. Voorbeelden van veelgebruikte connectoren zijn Office 365, Twitter, Dropbox, Trello en Google Services.

Custom connectors in het Power Platform

Wat als je verbinding wilt maken met een service of applicatie die geen connector aanbiedt? Heel simpel, maak hem zelf! Het Power Platform stelt haar gebruikers in staat om zelf een aangepaste connector te bouwen. En dit is eenvoudiger dan je misschien denkt.

Neem bijvoorbeeld de Sneeuwpop uit onze vorige blogpost. Wat als we de sneeuwpop willen bouwen vanuit een zelfgebouwde Power App? We moeten hiervoor communiceren met de Azure Function die de sneeuwpop genereert. Hoe doen we dat? Met een custom connector. In de Power Automate maker portal kan er met het doorlopen van een 5-tal stappen een custom connector worden opgezet. Hiervoor zijn wat gegevens benodigd, zoals de URL-van de API waarmee gecommuniceerd moet worden.

Makkelijker wordt het wanneer er een Swagger-/OpenAPI-bestand beschikbaar is die de methodes API omschrijft. Deze kan simpelweg geïmporteerd worden en het Power Platform bouwt de connector vervolgens al gedeeltelijk op.

Het enige wat vervolgens resteert is het aanmaken van een verbinding met een subscription-key en de connector kan worden getest.

De connector gebruiken in Power Apps

Maar wat kunnen we nu precies met de gemaakte connector? En hoe krijgen we de sneeuwpop te zien in Power Apps? In de vorige blogpost hebben we gezien dat de sneeuwpop wordt beschreven door het volgende stukje JSON-code:

{
      “snowman”: {
            “bottom”: {
                  “buttons”: false,
                  “feet”: false,
                  “radius”: 30
            },
            “body”: [
                  {
                  “buttons”: false,
                  “arms”: false,
                  “radius”: 20
                  }
            ],
            “head”: {
                  “mouth”: false,
                  “hat”: false,
                  “radius”: 15
            }
      }
}

Het opbouwen van deze code kan worden nagebootst in Power Apps. Door het instellen van de parameters van de sneeuwpop via een aantal knoppen en dropdowns kan de sneeuwpop in de UI van de app worden samengesteld. Zo kan bijvoorbeeld de radius van elke sneeuwbal worden ingesteld en kan het aantal elementen waaruit het lichaam bestaat worden geselecteerd.

Vervolgens wordt door middel van een Power Fx formule in Power Apps de JSON die de sneeuwpop omschrijft opgebouwd. De groene termen verwijzen hier naar de verschillende knoppen en tekst vakken in de app waarmee de sneeuwpop kan worden geconfigureerd.

JSON({snowman:{
    bottom:{
        feet:Toggle1_3.Value;
        radius:Value(TextInput1_1.Text);
        buttons:Toggle1_2.Value
    };
    body:Filter(var_body;Value(No)<=Value(Dropdown1.Selected.No));
    head:{
        radius:Value(TextInput1.Text);
        mouth:Toggle1.Value;
        hat:Toggle1_1.Value
    }
}};IndentFour)

De sneeuwpop weergeven

Tot nu toe is er alleen een JSON gebouwd die de sneeuwpop omschrijft. Om de sneeuwpop daadwerkelijk te kunnen zien moet deze door de Azure Function worden gegenereerd. Dit is waar de eerder gemaakte connector aan bod komt. We gebruiken Power Automate om de in Power Apps opgebouwde JSON via de connector naar de Azure functie te sturen.

Wat er terug komt is een base64-string die in Power Apps met de Image-control kan worden omgezet naar een afbeelding. En voilà! De sneeuwpop is te zien als afbeelding in Power Apps.

Wil jij dit ook? Neem dan contact met ons op!

Meld je aan voor onze nieuwsbrief

Better business dankzij inspiratie, tips, best practices, klantverhalen en meer.


Daan Mac-Lean

23 juni 2022

Meer inspiratie

Contact

Je naam
Dit veld is bedoeld voor validatiedoeleinden en moet niet worden gewijzigd.
Shared BV

Vasteland 12G
3011 BL Rotterdam

+085 833 0011 info@shared.nl
Sluiten
Privacyverklaring

Privacyverklaring Shared

Shared, gevestigd aan Vasteland 12G, 3011 BL Rotterdam, is verantwoordelijk voor de verwerking van persoonsgegevens zoals weergegeven in deze privacyverklaring.

Contactgegevens: Website: https://www.shared.nl
Adres: Vasteland 12G, 3011 BL Rotterdam
Telefoon: +31 85 8330011

Persoonsgegevens die wij verwerken Shared verwerkt je persoonsgegevens doordat je gebruik maakt van onze diensten en/of omdat je deze gegevens zelf aan ons verstrekt. Hieronder vind je een overzicht van de persoonsgegevens die wij verwerken:

  • Voor- en achternaam
  • Telefoonnummer
  • E-mailadres
  • IP-adres
  • Gegevens over jouw activiteiten op onze website
  • Internetbrowser en apparaat type

Bijzondere en/of gevoelige persoonsgegevens die wij verwerken Onze website en/of dienst heeft niet de intentie gegevens te verzamelen over websitebezoekers die jonger zijn dan 16 jaar, tenzij ze toestemming hebben van ouders of voogd. We kunnen echter niet controleren of een bezoeker ouder dan 16 is. Wij raden ouders dan ook aan betrokken te zijn bij de online activiteiten van hun kinderen, om zo te voorkomen dat er gegevens over kinderen verzameld worden zonder ouderlijke toestemming. Als je ervan overtuigd bent dat wij zonder die toestemming persoonlijke gegevens hebben verzameld over een minderjarige, neem dan contact met ons op via gerritjan@shared.nl, dan verwijderen wij deze informatie.

Met welk doel en op basis van welke grondslag wij persoonsgegevens verwerken Shared verwerkt jouw persoonsgegevens voor de volgende doelen:

  • Je te kunnen bellen of e-mailen indien dit nodig is om onze dienstverlening uit te kunnen voeren.
  • Shared analyseert jouw gedrag op de website om daarmee de website te verbeteren en het aanbod van producten en diensten af te stemmen op jouw voorkeuren.
  • Shared volgt jouw surfgedrag over verschillende websites waarmee wij onze producten en diensten afstemmen op jouw behoefte.

Geautomatiseerde besluitvorming Shared neemt geen besluiten op basis van geautomatiseerde verwerkingen die aanzienlijke gevolgen kunnen hebben voor personen.

Hoe lang we persoonsgegevens bewaren Shared bewaart je persoonsgegevens niet langer dan strikt nodig is om de doelen te realiseren waarvoor je gegevens worden verzameld. Wij hanteren de volgende bewaartermijnen voor de volgende (categorieën) van persoonsgegevens:

  • Persoonsgegevens: 26 maanden

Delen van persoonsgegevens met derden Shared deelt jouw persoonsgegevens met verschillende derden als dit noodzakelijk is voor het uitvoeren van de overeenkomst en om te voldoen aan een eventuele wettelijke verplichting. Met bedrijven die je gegevens verwerken in onze opdracht, sluiten wij een verwerkersovereenkomst om te zorgen voor eenzelfde niveau van beveiliging en vertrouwelijkheid van jouw gegevens. Shared blijft verantwoordelijk voor deze verwerkingen. Daarnaast verstrekt Shared jouw persoonsgegevens aan andere derden alleen met jouw nadrukkelijke toestemming.

Cookies, of vergelijkbare technieken, die wij gebruiken Shared gebruikt functionele, analytische en tracking cookies. Een cookie is een klein tekstbestand dat bij het eerste bezoek aan deze website wordt opgeslagen in de browser van je computer, tablet of smartphone. Shared gebruikt cookies met een puur technische functionaliteit. Deze zorgen ervoor dat de website naar behoren werkt en dat bijvoorbeeld jouw voorkeursinstellingen onthouden worden. Deze cookies worden ook gebruikt om de website goed te laten werken en deze te kunnen optimaliseren. Daarnaast plaatsen we cookies die jouw surfgedrag bijhouden zodat we op maat gemaakte content en advertenties kunnen aanbieden.

Bij jouw eerste bezoek aan onze website hebben wij je al geïnformeerd over deze cookies en hebben we je toestemming gevraagd voor het plaatsen ervan.

Je kunt je afmelden voor cookies door je internetbrowser zo in te stellen dat deze geen cookies meer opslaat. Daarnaast kun je ook alle informatie die eerder is opgeslagen via de instellingen van je browser verwijderen. Zie voor een toelichting: https://veiliginternetten.nl/themes/situatie/cookies-wat-zijn-het-en-wat-doe-ik-ermee/

Op deze website worden ook cookies geplaatst door derden. Dit zijn bijvoorbeeld adverteerders en/of sociale media-bedrijven. Hieronder een overzicht:

  • Google Analytics & Ads
    • Naam: _ga & _utma
    • Functie: Analytische cookie die websitebezoek meet
    • Bewaartermijn: 24 maanden
  • LinkedIn
    • Naam: _ligc
    • Functie: Analytische cookie die websitebezoek meet
    • Bewaartermijn: 24 maanden
  • Hotjar
    • Naam: _hjSessionUser_14
    • Functie: Analytische cookie die websitebezoek meet
    • Bewaartermijn: 24 maanden

Gegevens inzien, aanpassen of verwijderen Je hebt het recht om je persoonsgegevens in te zien, te corrigeren of te verwijderen. Dit kun je zelf doen via de persoonlijke instellingen van jouw account. Daarnaast heb je het recht om je eventuele toestemming voor de gegevensverwerking in te trekken of bezwaar te maken tegen de verwerking van jouw persoonsgegevens door ons bedrijf en heb je het recht op gegevensoverdraagbaarheid. Dat betekent dat je bij ons een verzoek kan indienen om de persoonsgegevens die wij van jou beschikken in een computerbestand naar jou of een ander, door jou genoemde organisatie, te sturen.

Wil je gebruik maken van je recht op bezwaar en/of recht op gegevensoverdraagbaarheid of heb je andere vragen/opmerkingen over de gegevensverwerking, stuur dan een gespecificeerd verzoek naar gerritjan@shared.nl.

Om er zeker van te zijn dat het verzoek tot inzage door jou is gedaan, vragen wij jou een kopie van je identiteitsbewijs bij het verzoek mee te sturen. Maak in deze kopie je pasfoto, MRZ (machine readable zone, de strook met nummers onderaan het paspoort), paspoortnummer en Burgerservicenummer (BSN) zwart. Dit ter bescherming van je privacy. Shared zal zo snel mogelijk, maar in ieder geval binnen vier weken, op jouw verzoek reageren.

Shared wil je er tevens op wijzen dat je de mogelijkheid hebt om een klacht in te dienen bij de nationale toezichthouder, de Autoriteit Persoonsgegevens. Dat kan via de volgende link: https://autoriteitpersoonsgegevens.nl/nl/contact-met-de-autoriteit-persoonsgegevens/tip-ons

Hoe wij persoonsgegevens beveiligen Shared neemt de bescherming van jouw gegevens serieus en neemt passende maatregelen om misbruik, verlies, onbevoegde toegang, ongewenste openbaarmaking en ongeoorloofde wijziging tegen te gaan. Als jij het idee hebt dat jouw gegevens toch niet goed beveiligd zijn of er aanwijzingen zijn van misbruik, neem dan contact op met onze klantenservice of via gerritjan@shared.nl. Shared heeft de volgende maatregelen genomen om jouw persoonsgegevens te beveiligen:

  • Gebruik van beveiligde verbindingen (SSL/TLS)
  • Regelmatige beveiligingscontroles en updates
  • Strikte toegangscontroles voor medewerkers en systemen

Deze privacyverklaring is voor het laatst aangepast op 11-06-2024.