Hogyan használjunk Dataverse action-t canvas appban

Ebben a bejegyzésben egy canvas appban egy egyszerű példán keresztül megmutatom, hogy hogyan használhatunk Dataverse action-t, azaz hívhatunk meg plugin-eket és használhatjuk a visszatérő értéküket. És ez bizony nem egy április tréfa, hanem egy preview feature, a Microsoft még februárban jelentette be. A példa alkalmazásunkban egy szót adunk meg, majd a beküldést követően ebben a korábbi bejegyzésben készült plugin-ünket használva átkonvertáljuk nagy betűssé.

A Dataverse action-ök elérésének engedélyezése

Ahhoz, hogy az appból hozzáférjünk az aciton-ökhöz előbb be kell kapcsoljunk ezt a funkciót:

  1. Kattintsunk a „Settings” vagy „Beállítások” gombra a menüszalagon, majd
  2. válasszuk a felugró ablakban az „Upcoming features” menüpontot és
  3. szűrjünk az „action” szóra,
  4. kapcsoljuk be az „Enable access to Microsoft Dataverse actions” feature-t.

 

Enable actions
Action elérésének bekapcsolása

  A bekapcsolás után figyelmeztetést kapunk, hogy frissítenünk kell az oldalt, érdemes előtte menteni is.  

Save and refresh
Figyelemztetés mentésre és az oldal frissítésére

Dataverse action hívása

Így már az „Environment” objektumon keresztül elérhetővé válik a környezetben található összes művelet a canvas appban:  

Az action
Action-ök megjelnítése

  Ügyelni kell rá, hogy a bemenő paraméter egy objektum kell legyen JSON formátumban beadva, amiben az action bemenő paraméterei alapján adhatjuk meg az értékeinket property-nként. Ebben az esetben egy bemenő paraméter van a „inputText”, ezt szeretnénk nagybetűssé konvertálni az action-nel. A visszatérő értékeket ugyanúgy, mint pl. egy flow hívása esetén nyerhetjük ki, ez most esetünkben az „outputText”:

action call
Action elérésének bekapcsolása

    Végeredményként az egyszerű kis appunk a visszakapott csupa nagybetűs szóval:  

Az app a visszatérő értékkel
Az egyszerű appunk a bemenő és kimenő paraméterekkel

 

Mikor használjunk action-t canvas appban?

Előfordulhat, hogy már létezik a logika, amire az appunkban szükség van, így nem kell flow-ban újra összeraknunk ugyanazt, ezzel növelve a redundás részeket. Másrészt az is lehet, hogy gyári action-t is használhatunk, amik például Dynamics 365 appokkal telepóltek. Harmadrészt sok esetben szükségünk lehet olyan funkciókra, amik flow-ban nem léteznek, de C#-ban könnyedén lefejleszthetők és ott teszteket is írhatunk rájuk.

Hibakezelés

Érdemes ugyanúgy ügyelnünk a hibakezelésre is, mint egy Patch vagy flow hívás esetében. Így ugyanúgy használhatjuk például az „IfError()” függvényen belül is a plugin hívásokat.  

Limitációk

Egy ilyen hívás ugyanúgy 1 db API hívásnak felel meg a Dataverse connector-on keresztül, így a throttling limitbe bele számít. Továbbá a plugin futására vonatkozóan a 2 perces futási limit is olykor izgalmas lehet, ezért érdemes a kódban is az optimumra törekedni.

Vélemény, hozzászólás?

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük