Úvod do dostupných spúšťačov na vyvolanie funkcie lambda

Uvod Do Dostupnych Spustacov Na Vyvolanie Funkcie Lambda



AWS Lambda je úžasná cloudová služba, ktorá spôsobila revolúciu vo svete bez serverov. Je to vlastne softvér ako služba (SaaS), ktorý sa dá jednoducho a rýchlo nastaviť a pomáha znížiť celkový rozpočet vašej cloudovej infraštruktúry. Čo musíte urobiť, je len navrhnúť svoj kód a spustiť ho pomocou funkcie lambda.

Teraz ide o to, ako by ste mali vykonať svoj kód vo funkcii a odpoveďou na to je, že existuje dlhý zoznam metód, pomocou ktorých môžete vyvolať alebo spustiť svoje funkcie lambda. To zahŕňa mnoho ďalších služieb AWS, ktoré možno v prípade potreby použiť na zavolanie požadovanej funkcie.

V tomto článku uvidíte krátke vysvetlenie týkajúce sa služieb a techník, ktoré možno použiť na vyvolanie funkcií lambda v Amazone.







Typy vyvolaní

Predtým, ako sa dostaneme ďalej, porozprávajme sa o nasledujúcich dvoch hlavných typoch vyvolaní, ktoré môže funkcia lambda zvládnuť.



  • Synchrónne vyvolania
  • Asynchrónne vyvolania
  1. Synchrónne vyvolania
    Pri synchrónnych volaniach musí služba, ktorá vyvoláva lambdu, čakať, kým sa jej nevrátia výsledky, a potom pokračovať vo zvyšku procesu. Môžeme tiež povedať, že výstup funkcie lambda vyžaduje samotná funkcia alebo služba, ktorá túto lambdu vyvolala.
  2. Asynchrónne vyvolania

    Tu sa nemusí čakať, kým funkcie lambda poskytnú výsledky späť vyvolávateľovi. Používa sa hlavne na upozornenia alebo na spustenie niektorých iných nezávislých udalostí v AWS. Služba, ktorá chce vyvolať funkciu lambda, len odošle spúšťač a táto operácia sa zaradí do frontu v lambda a bude vykonaná na svojom ťahu.



Rôzne spôsoby vyvolania lambdy

Tu uvidíte množstvo spôsobov, ako vyvolať funkcie lambda. Toto vedieť je pre vás veľmi užitočné, keď budete nabudúce navrhovať svoju jednoduchú, ale nákladovo efektívnu infraštruktúru AWS.





Priamo vyvolávajte funkcie Lambda

Vo väčšine prípadov sú funkcie lambda navrhnuté na spustenie pomocou iných služieb, ale môžete ich vyvolať priamo pomocou riadiacej konzoly AWS, CLI AWS a prostredníctvom adresy URL funkcie.

Vyvolanie Lambda z riadiacej konzoly

Keď vo svojej konzole AWS vytvoríte akúkoľvek funkciu lambda, môžete ju jednoducho spustiť pomocou možnosti testovania v konzole. The Test tlačidlo je dostupné v časti kódu funkcie lambda.



Môžete vytvoriť vlastnú udalosť, ako aj použiť konzolu s vlastným vzorom udalosti.

Týmto spôsobom je možné spustiť funkciu lambda z konzoly AWS.

AWS CLI

AWS vám dáva možnosť využívať všetky svoje zdroje pomocou rozhrania príkazového riadka AWS. Pomocou tohto CLI je možné vyvolať aj akúkoľvek funkciu lambda. To môže byť veľmi efektívne na testovanie vecí počas vývojových fáz. Nasledovanie príkazu AWS CLI možno použiť ako spúšťač na vyvolanie funkcie lambda.

[e-mail chránený] :~$ aws lambda vyvolať \
--názov-funkcie < Zadajte názov funkcie lambda > \
-- užitočné zaťaženie < Vstupná hodnota pre Funkcia lambda > \
--cli-binary-format < základ 64 | raw-in-base64-out > < Názov výstupného súboru >

Funkcia je úspešne spustená a môžete to pozorovať aj na výstupe.

Adresa URL funkcie

Adresa URL funkcie je v skutočnosti koncový bod HTTP, ktorý môžete nakonfigurovať pre svoje funkcie lambda. Túto adresu URL možno použiť na spustenie funkcií lambda a túto adresu URL môžete zdieľať aj s inými používateľmi aj mimo svojho účtu AWS na vyvolanie funkcií lambda. Aj keď by ste mali byť opatrní s adresami URL funkcií, ktokoľvek s týmto odkazom môže spustiť vašu funkciu lambda nespočetnekrát a všetky náklady budú na vašej hlave.

URL funkcie je možné konfigurovať pri vytváraní aj po vytvorení funkcie lambda. Za týmto účelom jednoducho prejdite na rozšírené nastavenia v sekcii konfigurácie a skontrolujte Povoliť URL funkcie box.

Ak ste pri vytváraní funkcie lambda nepripojili adresu URL funkcie, môžete to urobiť neskôr. Na tento účel musíte prejsť na kartu konfigurácie, vybrať adresu URL funkcie a kliknúť na Vytvorte adresu URL funkcie .

Týmto spôsobom sa vytvorí URL funkcie a použije sa na vyvolanie funkcie lambda.

Vyvolanie funkcií lambda pomocou služieb AWS

Množstvo služieb AWS je možné nakonfigurovať ako spúšťač na vyvolanie funkcie lambda. Stačí nakonfigurovať služby AWS ako spúšťač na vyvolanie funkcie lambda. Tu si prejdeme všetky tieto služby s vysvetlením, ako ich používať ako spúšťače lambda.

Brána API

Toto je služba AWS, ktorá sa široko používa na vytváranie a správu rozhraní API vo vašom aplikačnom modeli. Rozhrania API poskytujú veľmi flexibilný spôsob generovania požiadaviek alebo volaní z jedného softvérového balíka do iného balíka, ktorý nemôžeme priamo odhaliť a len ho chceme mať v zákulisí.

Ak chcete pridať akúkoľvek službu ako spúšťač do funkcie lambda, jednoducho prejdite na funkciu lambda a kliknite na pridať spúšťač.

Ďalej si môžete vybrať službu, ktorú chcete pripojiť ako spúšťač k vašej funkcii lambda. Pre túto sekciu vyberieme bránu API ako spúšťač pre funkciu lambda.

Ďalej nakonfigurujte službu tak, ako chcete, aby fungovala v štruktúre vašej aplikácie.

Brána API podporuje dva typy rozhraní API, ktoré možno použiť na vyvolanie funkcie lambda.

HTTP API : Používajú sa na generovanie koncových bodov HTTP, ktoré sú smerované k vašim funkciám lambda. HTTP API poskytujú menej funkcií a ich používanie je menej nákladné.

REST API : Ak chcete vo svojom rozhraní API viac funkcií, musíte použiť rozhranie REST API. Tieto rozhrania API môžu vyvolať funkciu lambda a používať rovnaké metódy HTTP, čím poskytujú väčšiu flexibilitu a nezávislosť.

Vedro S3

Existuje veľa prípadov použitia, kde uvidíte, že vedrá S3 fungujú ako spúšťač na vyvolanie funkcie lambda. Môžete nakonfigurovať segment S3 na spustenie funkcie lambda pre konkrétnu udalosť S3.

Napríklad chcete zhromaždiť metadáta akéhokoľvek súboru, keď je nahraný do vášho segmentu. Na tento účel vytvoríte kód a nasadíte ho na funkciu lambda. Pre spúšť Lambda vyberte vedro S3. Ako typ udalosti vyberte dať predmet . Takže vždy, keď sa do segmentu pridá nový súbor, spustí sa funkcia lambda a keď zadáte, metadáta objektu sa zhromaždia a uložia do cieľového umiestnenia.

Môže existovať mnoho ďalších scenárov, v ktorých môže byť S3 použitý ako spúšťač na vyvolanie funkcie lambda.

Load Balancer

Predpokladajme, že vaša aplikácia je navrhnutá tak, aby fungovala na funkciách lambda, pretože funkcia lambda je cenovo najefektívnejším riešením pre jednoduchú cloudovú aplikáciu. Teraz, aby ste svoju aplikáciu predstavili koncovým používateľom, možno budete chcieť pred ňu pripojiť vyvažovač záťaže. V tejto časti vyberte vyvažovač záťaže, ktorý funguje ako spúšťač na vyvolanie funkcie lambda. Pamätajte, že vyvažovač zaťaženia aplikácie môžete nastaviť iba pre túto úlohu, pretože iné vyvažovače zaťaženia nie sú podporované funkciami lambda.

Ak chcete pridať vyrovnávač zaťaženia aplikácie do funkcie lambda, musíte najprv vytvoriť cieľovú skupinu a do tejto cieľovej skupiny sa pridá funkcia lambda. Teraz je možné novovytvorenú cieľovú skupinu pridať k poslucháčom vyrovnávača zaťaženia aplikácie.

CloudFront

Amazon CloudFront je v skutočnosti sieť CDN (Content Delivery Network) a používa sa na ukladanie údajov aplikácií do vyrovnávacej pamäte na okrajových miestach, ktoré sú oveľa bližšie ku koncovým používateľom v porovnaní so skutočnými aplikačnými servermi. Pomocou CloudFront môžete skutočne zlepšiť čas odozvy na poskytovanie statického obsahu koncovým používateľom na celom svete.

Funkcie lambda je možné spustiť pomocou služby CloudFront. Na tento účel musíte nasadiť svoju funkciu lambda na okrajových miestach po celom svete, ktoré sú známe ako [e-mail chránený]

CloudFront môžete nastaviť ako spúšťač na odosielanie požiadaviek do [e-mail chránený] cez CloudFront, aby sa zlepšila doba odozvy. Ako [e-mail chránený] je nasadený na všetkých okrajových miestach po celom svete, koncoví používatelia čelia minimálnej dobe odozvy pri prístupe k najbližšej okrajovej lokalite nasadenej lambda.

Ak to chcete nakonfigurovať, jednoducho prejdite na pridať spúšťač a vyberte si službu CloudFront. Tam uvidíte nasadiť do [e-mail chránený] možnosť.

Teraz stačí dokončiť konfiguračné kroky a začať.

Protokoly CloudWatch

Kedykoľvek premýšľate o monitorovaní v cloude AWS, prvá vec, ktorá vám príde na myseľ, je CLoudWatch, pretože ide o veľmi rozsiahlu monitorovaciu službu, ktorú je možné veľmi užitočným spôsobom nakonfigurovať pre rôzne služby.

Protokoly CloudWatch, ako už názov definuje, je protokolovacia služba, ktorú možno použiť na ukladanie všetkých druhov protokolov. Môžete vytvoriť rôzne skupiny denníkov pre rôzne služby, aby boli denníky oddelené. Tieto protokoly možno použiť na spustenie vašej funkcie lambda na základe udalostí, ktoré prijímajú, bez ohľadu na službu alebo postup, ktorý tieto udalosti vytvára.

Spúšťač môžete nakonfigurovať buď z konzoly funkcie lambda alebo priamo z protokolov CloudWatch. Ak to chcete urobiť z konzoly CloudWatch, jednoducho prejdite do služby CloudWatch a otvorte skupiny denníkov. Tu musíte vytvoriť filter predplatného lambda.

Ďalej vyberte požadovanú funkciu lambda a môžete začať.

Teraz, kedykoľvek CloudWatch získa tento protokolový prúd, funguje ako spúšťač na vyvolanie funkcie lambda.

EventBridge

Amazon EventBridge (predtým známy ako CloudWatch Events) je služba AWS, ktorá vám umožňuje vytvoriť pravidlá udalostí na spustenie konkrétnej služby AWS pri konkrétnej udalosti, ktorá sa stane v účte AWS.

Existuje široká škála pravidiel, ktoré môžete nastaviť pre služby AWS (napríklad vytvorenie inštancie EC2 alebo udalosti databázy RDS), ako aj služby tretích strán (napríklad udalosť GitHub push). Tieto pravidlá môžu byť ďalej prepojené s inými službami, ako sú funkcie lambda tak, že vždy, keď je toto pravidlo splnené, spustí funkciu lambda.

Ak už máte nastavené pravidlo EventBridge, môžete toto pravidlo jednoducho pridať ako spúšťač do funkcie lambda. Vyberte EventBridge ako spúšťač a jednoducho zadajte názov pravidla.

Existujúce pravidlo sa tu pridá ako spúšťač, ale v tomto bode môžete tiež vytvoriť pravidlo.

DynamoDB

Možno ste vedeli, že DynamoDB je len databáza NoSQL a v AWS sa javí ako úplne samostatná služba. Toto je plne nakonfigurovaná databáza bez servera a môžete v nej začať priamo vytvárať tabuľky. Tieto tabuľky DynamoDB možno nakonfigurovať tak, aby fungovali ako spúšťače na vyvolanie funkcií lambda.

Dáta z DynamoDB môžu byť načítané do lambda ako vstup vo forme dávok a sú spracované pomocou kódu, ktorý je nasadený v lambda.

Kinesis

Ak chcete zbierať a analyzovať údaje v reálnom čase vysokou rýchlosťou, môžete využiť AWS Kinesis. Predpokladajme, že chcete spracovať údaje zhromaždené dátovými tokmi Kinesis pomocou funkcií lambda. Jednoducho musíte spustiť funkciu lambda zakaždým, keď Kinesis zaznamená dáta.

Práve ste dokončili konfiguráciu dátového toku Kinesis na vyvolanie funkcie lambda.

SNS

Je to jednoducho oznamovacia služba, ktorá sa bežne používa na odosielanie upozornení z jednej služby AWS do druhej, pretože niekedy neexistuje spôsob, ako nakonfigurovať upozornenia priamo z jednej služby do druhej. Pomocou tejto služby je možné spúšťať funkcie lambda.

Najprv vytvorte tému SNS a potom ju použite na vyvolanie funkcie lambda.

Musíte vybrať názov vašej témy SNS. Neexistujú žiadne ďalšie konfigurácie alebo nastavenia.

Záver

Amazon Lambda je skutočne prielom v cloudovej architektúre. Vývoj a nasadenie aplikácií ešte nikdy nebolo také jednoduché a priamočiare. Umožňuje vám jednoducho vytvoriť kód v akomkoľvek bežnom rámci a nahrať kód do lambda a bude vykonaný. Existuje dlhý zoznam ďalších služieb, ktoré môžu byť spojené s AWS lambda a fungujú ako spúšťač na vyvolanie vašej funkcie lambda iba vtedy, keď je to potrebné. Neexistujú žiadne náklady na nepretržitú prevádzku servera, ale budú vám účtované v závislosti od počtu spúšťačov a času spustenia kódu.