Zjištění externí události pomocí triggeru
V Azure Logic Apps aktivační událost vždy spustí pracovní postup jako první krok. Pokud chcete pracovní postup úspěšně spustit, musíte najít příslušnou aktivační událost a nastavit vlastnosti triggeru pro váš scénář. V tomto příkladu použijeme trigger Vyhledávání Bingu ke spuštění pracovního postupu při publikování článku o odvětví.
V této lekci prozkoumáme typy triggerů a silné stránky a slabá místa kolem nejběžnějších možností a způsobu, jakým trigger zpracovává vstupy a výstupy.
Typy aktivační události
Vezměte v úvahu různé aktivační podmínky, které můžou firmy použít ke spouštění pracovních postupů aplikací logiky. Většina příkladů, které jsme viděli, jsou triggery, které zjistí, jestli data nebo událost ve službě nebo systému splňují konkrétní podmínku. Když je například k dispozici nový článek, přidá se do databáze nový řádek, dorazí nový e-mail nebo se do cloudového úložiště nahraje nový soubor. Triggery, které detekují data nebo události, můžou používat některou z následujících technik:
Triggery, které pravidelně dotazují nebo kontrolují službu nebo systém, zda obsahují konkrétní data nebo událost, která splňuje určitou podmínku.
Triggery, které čekají a přijímají nabízená oznámení ze služby nebo systému, když konkrétní data nebo událost splňují podmínku
Co když ale potřebujete trigger, který není vázán na data nebo události ve službě nebo systému? Předpokládejme, že chcete pracovní postup spustit každou sobotu o půlnoci nebo jiném plánu. Spouštěč opakování můžete použít k naplánování, kdy se mají spustit akce v pracovním postupu. Můžete například naplánovat pracovní postupy, které provádějí úlohy správy, jako je spouštění záloh nebo archivace starých dat.
Předpokládejme, že chcete pracovní postup spustit pouze při zavolání z kódu nebo jiného zdroje? Můžete použít spouštěč Požadavek nebo "ruční" k čekání na žádosti, například odesílané z kódu ve vaší webové aplikaci nebo mobilní aplikaci.
Následující diagram shrnuje dříve popsané typy triggerů:
Následující části obsahují další informace o triggerech dotazování a triggerech nabízených oznámení.
Co je trigger dotazu?
Trigger dotazování pravidelně kontroluje službu nebo systém kvůli datům nebo události, které splňují konkrétní podmínku. Po této kontrole trigger vyhledá data nebo událost, která splňuje podmínku, trigger spustí nové spuštění pracovního postupu. Konektor RSS má například spouštěč pro dotazování, který může pravidelně kontrolovat nové příspěvky v informačním kanálu RSS.
Po přidání triggeru dotazování do pracovního postupu nastavíte frekvenci a interval , abyste mohli řídit, jak často se aktivační událost spouští. Frekvence je časová jednotka, například sekunda, minuta, hodina, den, týden nebo měsíc. Interval je počet časových jednotek, které před triggerem znovu zkontrolují data nebo událost. Například spouštěcí událost dotazování s frekvencí Minuta a intervalem 5 provádí kontrolu každých pět minut.
Triggery dotazování vyžadují, abyste si vybrali, jak často se triggery spouštějí a kolik stojí na jejich spuštění. Často dochází ke zpoždění mezi novými daty nebo událostí a když trigger zjistí tato data nebo událost. Předpokládejme například, že trigger dotazování kontroluje data každých pět minut. Nová data jsou k dispozici po sedmi minutách. Trigger nedetekuje nová data až do dalšího dotazování, ke kterému dochází po 10 minutách. Následující diagram ukazuje, jak toto dotazování funguje:
V nejhorším případě se potenciální zpoždění při zjišťování nových dat rovná intervalu dotazování. Proč tedy nepoužít kratší interval? Aby bylo možné zkontrolovat nová data, musí prováděcí modul Azure Logic Apps spustit váš pracovní postup, což způsobuje náklady. Obecně platí, že čím kratší je interval, tím vyšší jsou náklady, ale trigger reaguje rychleji na nová data nebo události. Nejlepší interval dotazování pro váš trigger závisí na obchodním procesu a tolerance zpoždění.
Co je trigger nabízeného oznámení?
Trigger push čeká na oznámení ze služby nebo systému, když data nebo událost splňují konkrétní podmínku. Trigger se přihlásí k odběru koncového bodu v jiné službě nebo systému. Když nová data nebo událost splňují podmínku, služba nebo systém upozorní trigger, který okamžitě spustí nové spuštění pracovního postupu. Konektor Služby Azure Service Bus má například trigger nabízených oznámení, který zjistí, kdy se zpráva přidá do fronty služby Azure Service Bus.
Poznámka:
Triggery nabízených oznámení používají webhooky, které umožňují triggerům přihlásit se k odběru externí služby nebo systému. V době předplatného Azure Logic Apps vygeneruje adresu URL zpětného volání pro trigger a zaregistruje adresu URL v externí službě nebo systému. Podobně Azure Logic Apps zruší odběr a zruší registraci adresy URL zpětného volání, pokud už předplatné nepotřebujete, například pokud pracovní postup zakážete nebo odstraníte.
Na pozitivní straně se triggery nabízených oznámení nespouštějí, když nejsou k dispozici žádná data nebo události. Neúčtují se tedy tolik nákladů jako dotazování. Tyto triggery také okamžitě reagují, když existují nová data nebo události. Následující diagram znázorňuje, jak tento proces nabízení funguje:
Proč triggery nabízených oznámení používat pořád, když reagují rychleji a stojí méně než triggery dotazování? Bohužel ne každý konektor nabízí trigger nabízených oznámení. Služba nebo systém nemusí podporovat triggery nabízených oznámení nebo se možná autor konektoru rozhodl implementovat trigger nabízených oznámení. Konektor obecně nabízí triggery dotazování nebo triggery nabízených oznámení, ale ne obojí. Ve výjimečných případech, kdy konektor nabízí obě možnosti, zvažte použití triggeru nabízených oznámení, aby se zlepšila efektivita a nižší náklady.
Následující snímek obrazovky ukazuje návrháře s pracovním postupem logické aplikace pro monitorování zpráv, kde se jako první krok zobrazuje spouštěč Vyhledávání Bingu:
Parametry triggeru a vrácené hodnoty
Operaci triggeru si můžete představit jako volání funkce, které má parametry (vstupy) a návratové hodnoty (výstupy). Parametry triggeru vám umožňují nakonfigurovat operaci. Trigger Vyhledávání Bingu s názvem Na novém příspěvku má parametr s názvem Vyhledávací dotaz. Trigger používá tento parametr k vyhledání článků zpráv odpovídajících hledanému termínu. Některé operace používají požadované i volitelné parametry. Trigger SQL Serveru s názvem Při vytvoření položky má jeden povinný parametr s názvem Název tabulky a několik volitelných parametrů, jako je Order By a Select Query.
Návratové hodnoty triggeru jsou výsledky nebo výstupy z operace triggeru. Například trigger Vyhledávání Bingu s názvem On new news article vrátí objekt NewsArticle . Tento objekt obsahuje hodnoty, jako je Název, adresa URL a Popis. Konektor Bitbucket má trigger s názvem Při sloučení žádosti o přijetí změn. Trigger vrátí objekt, který obsahuje data, jako je identita úložiště a objekt actor , který sloučení schválil.
Některé triggery vrací pole nebo kolekci místo jedné položky. Následující diagram znázorňuje, jak vypadá toto výstupní pole nebo kolekce:
Ke zpracování každé položky můžete použít smyčku, například smyčku For each nebo Until .
Některé triggery přijímají jako vstup pole nebo kolekci. Ve výchozím nastavení většina triggerů automaticky rozdělí pole pro zpracování. Místo toho, aby jedna instance pracovního postupu zpracovávala celé pole, modul Azure Logic Apps vytvoří jednu instanci pracovního postupu pro každou položku a spustí všechny instance paralelně.
Následující diagram ukazuje, jak trigger RSS s názvem Při publikování položky informačního kanálu rozdělí pole a odešle každou položku do jednotlivé instance pracovního postupu ke zpracování:
Triggery v návrháři
Návrhář pracovního postupu obsahuje galerii konektorů, která obsahuje triggery a akce, které můžete použít ve svém pracovním postupu. K vyhledání a výběru konektoru pro váš scénář obvykle použijete vyhledávací pole galerie konektorů. Pak zkontrolujete všechny triggery, které konektor poskytuje. Následující snímek obrazovky ukazuje, jak návrhář pracovního postupu zobrazuje konektory, které můžete vybrat:
Po výběru konektoru se zobrazí triggery dostupné pro tento konektor:
V další lekci se dozvíte, jak vytvořit prostředek aplikace logiky a pracovní postup na webu Azure Portal a jak přidat a nakonfigurovat trigger v návrháři pracovního postupu.
Galerie konektorů seskupí konektory do následujících obecných kategorií:
| Skupina konektorů | Popis |
|---|---|
| Integrovaná (v aplikaci) | Triggery a akce, které se nativně spouštějí s modulem runtime Azure Logic Apps Některé operace pracují přímo s konkrétními službami Azure, aniž byste museli vytvořit připojení, jako je Azure Functions. Jiné operace provádějí úlohy, jako je práce s proměnnými, řízení cesty přes pracovní postup nebo provádění obecných datových úloh. |
| Spravované (sdílené) | Triggery a akce, které běží ve víceklientských Azure a spravuje je Microsoft. Tyto operace jsou obvykle přidružené k jedné službě nebo systému a přijímají nebo odesílají volání do konkrétní služby nebo systému. Tyto operace obvykle vyžadují, abyste nejprve vytvořili připojení. |