Uvod v razpoložljive sprožilce za priklic funkcije lambda

Uvod V Razpolozljive Sprozilce Za Priklic Funkcije Lambda



AWS Lambda je neverjetna storitev v oblaku, ki je spremenila svet brez strežnikov. To je pravzaprav programska oprema kot storitev (SaaS), ki jo je mogoče preprosto in hitro nastaviti in pomaga zmanjšati skupni proračun vaše infrastrukture v oblaku. Kar morate storiti, je samo oblikovati kodo in jo zagnati s funkcijo lambda.

Bistvo tukaj je, kako naj bi izvajali svojo kodo v funkciji in odgovor na to je, da obstaja dolg seznam metod, prek katerih lahko prikličete ali sprožite svoje lambda funkcije. To vključuje številne druge storitve AWS, ki jih je mogoče uporabiti za klic želene funkcije, kadar je to potrebno.

V tem članku boste videli kratko razlago v zvezi s storitvami in tehnikami, ki jih je mogoče uporabiti za priklic vaših lambda funkcij v Amazonu.







Vrste klicev

Preden nadaljujemo, razpravljajmo o naslednjih dveh glavnih vrstah klicev, ki jih lahko obravnava funkcija lambda.



  • Sinhroni klici
  • Asinhroni klici
  1. Sinhroni klici
    Pri sinhronih klicih mora storitev, ki kliče lambdo, počakati, da se ji vrnejo rezultati, in nato nadaljevati preostali postopek. Lahko tudi rečemo, da izhod funkcije lambda zahteva sama funkcija ali storitev, ki je priklicala to lambda.
  2. Asinhroni klici

    Tu ni treba čakati, da funkcije lambda vrnejo rezultate klicatelju. To se večinoma uporablja za obvestila ali za sprožitev nekaterih drugih neodvisnih dogodkov v AWS. Storitev, ki želi priklicati funkcijo lambda, samo pošlje sprožilec in ta operacija je postavljena v čakalno vrsto v lambda in bo izvedena, ko pride na vrsto.



Različni načini za priklic Lambde

Tukaj boste videli številne načine za priklic funkcij lambda. To vam bo v veliko pomoč, ko boste naslednjič oblikovali svojo preprosto, a stroškovno učinkovito infrastrukturo AWS.





Neposredno prikličite funkcije Lambda

V večini primerov so funkcije lambda zasnovane tako, da se sprožijo z uporabo drugih storitev, vendar jih lahko prikličete neposredno z uporabo upravljalne konzole AWS, AWS CLI in prek URL-ja funkcije.

Priklic Lambde iz konzole za upravljanje

Ko ustvarite katero koli lambda funkcijo v svoji konzoli AWS, jo lahko preprosto sprožite z možnostjo testnega zagona v konzoli. The Test gumb je na voljo v razdelku kode funkcije lambda.



Ustvarite lahko dogodek po meri in uporabite konzolo s svojim vzorcem dogodkov po meri.

Na ta način je mogoče funkcijo lambda sprožiti s konzole AWS.

AWS CLI

AWS vam omogoča uporabo vseh njegovih virov z vmesnikom ukazne vrstice AWS. S tem CLI je mogoče priklicati tudi katero koli lambda funkcijo. To je lahko zelo učinkovito za testiranje stvari v razvojnih fazah. Po ukazu AWS CLI se lahko uporabi kot sprožilec za priklic funkcije lambda.

[email protected] :~$ aws lambda invoke \
--ime-funkcije < Vnesite ime funkcije Lambda > \
-- koristni tovor < Vhodna vrednost za Lambda funkcija > \
--cli-binarni-format < base64 | raw-in-base64-out > < Ime izhodne datoteke >

Funkcija je uspešno sprožena in to lahko opazite tudi v izhodu.

URL funkcije

URL funkcije je dejansko končna točka HTTP, ki jo lahko konfigurirate za svoje lambda funkcije. Ta URL je mogoče uporabiti za sprožitev funkcij lambda, ta URL pa lahko tudi delite z drugimi uporabniki, tudi zunaj vašega računa AWS, da prikličete funkcije lambda. Čeprav morate biti previdni pri funkcijskih URL-jih, lahko kdorkoli s to povezavo neštetokrat sproži vašo lambda funkcijo in vsi stroški bodo na vaši glavi.

URL funkcije je mogoče konfigurirati tako med ustvarjanjem kot tudi po ustvarjanju funkcije lambda. Za to preprosto pojdite na napredne nastavitve v razdelku za konfiguracijo in preverite Omogoči URL funkcije škatla.

Če med ustvarjanjem funkcije lambda niste priložili URL-ja funkcije, lahko to storite pozneje. Za to morate iti na zavihek konfiguracije, izbrati URL funkcije in klikniti Ustvari URL funkcije .

Na ta način se ustvari URL funkcije in uporabi za priklic funkcije lambda.

Prikličite funkcije Lambda z uporabo storitev AWS

Veliko storitev AWS je mogoče konfigurirati kot sprožilec za priklic funkcije lambda. Samo konfigurirati morate storitve AWS kot sprožilec za priklic funkcije lambda. Tukaj gremo skozi vse te storitve z razlago, kako jih uporabiti kot sprožilce lambda.

API Gateway

To je storitev AWS, ki se široko uporablja za ustvarjanje in upravljanje API-jev v vašem modelu aplikacije. API-ji omogočajo zelo prilagodljiv način generiranja zahtev ali klicev iz enega programskega paketa v drug paket, ki ga ne moremo neposredno izpostaviti in želimo samo ostati v ozadju.

Če želite svoji lambda funkciji dodati katero koli storitev kot sprožilec, preprosto pojdite na lambda funkcijo in kliknite dodaj sprožilec.

Nato lahko izberete storitev, ki jo želite pripeti kot sprožilec vaši lambda funkciji. Za ta razdelek izberemo prehod API kot sprožilec za funkcijo lambda.

Nato konfigurirajte storitev, kot želite, da deluje v strukturi vaše aplikacije.

Prehod API podpira dve vrsti API-jev, ki ju je mogoče uporabiti za priklic funkcije lambda.

API-ji HTTP : Uporabljajo se za ustvarjanje končnih točk HTTP, ki so usmerjene v vaše lambda funkcije. API-ji HTTP nudijo manj funkcionalnosti in so cenejši za uporabo.

API-ji REST : Če želite več funkcij v svojem API-ju, morate izbrati REST API. Ti API-ji lahko prikličejo funkcijo lambda in uporabljajo iste metode HTTP, kar zagotavlja večjo prilagodljivost in neodvisnost.

S3 žlica

Obstaja veliko primerov uporabe, kjer boste videli, da vedra S3 delujejo kot sprožilec za priklic funkcije lambda. Vedro S3 lahko konfigurirate tako, da sproži funkcijo lambda za določen dogodek S3.

Na primer, želite zbrati metapodatke katere koli datoteke, ko je ta naložena v vaše vedro. Za to razvijete kodo in jo namestite v lambda funkcijo. Za sprožilec Lambda izberite vedro S3. Za vrsto dogodka izberite postaviti predmet . Tako se vsakič, ko se v vedro doda nova datoteka, sproži funkcija lambda, metapodatki predmeta pa se zberejo in shranijo na ciljno lokacijo, ko jo določite.

Obstaja veliko drugih scenarijev, kjer se lahko S3 uporabi kot sprožilec za priklic funkcije lambda.

Izravnalnik obremenitve

Recimo, da je vaša aplikacija zasnovana za delovanje na lambda funkcijah, saj je lambda funkcija stroškovno najbolj učinkovita rešitev za preprosto aplikacijo v oblaku. Če želite svojo aplikacijo izpostaviti končnim uporabnikom, boste morda želeli prednjo pritrditi izravnalnik obremenitve. Za ta razdelek izberite izravnalnik obremenitve, ki deluje kot sprožilec za priklic funkcije lambda. Ne pozabite, da lahko za to nalogo nastavite samo izravnalnik obremenitve aplikacije, saj funkcije lambda ne podpirajo drugih izravnalnikov obremenitve.

Če želite funkciji lambda dodati izravnalnik obremenitve aplikacije, morate najprej ustvariti ciljno skupino in tej ciljni skupini se doda funkcija lambda. Zdaj lahko novo ustvarjeno ciljno skupino dodate med poslušalce izravnalnika obremenitve aplikacije.

CloudFront

Amazon CloudFront je pravzaprav CDN (Content Delivery Network) in se uporablja za predpomnilnik podatkov aplikacij na robnih lokacijah, ki so veliko bližje končnim uporabnikom v primerjavi z dejanskimi aplikacijskimi strežniki. Z uporabo CloudFront lahko resnično izboljšate odzivni čas, da statično vsebino ponudite končnim uporabnikom po vsem svetu.

Lambda funkcije je mogoče sprožiti s storitvijo CloudFront. Za to morate svojo lambda funkcijo namestiti na robne lokacije po vsem svetu, znane kot [email protected]

CloudFront lahko nastavite kot sprožilec za pošiljanje zahtev v [email protected] prek CloudFront za izboljšanje odzivnega časa. Kot je [email protected] je nameščen na vseh robnih lokacijah po vsem svetu, se končni uporabniki soočajo z minimalnim odzivnim časom z dostopom do najbližje robne lokacije, nameščene lambda.

Če želite to konfigurirati, preprosto pojdite na dodaj sprožilec in izberite storitev CloudFront. Tam boste videli namesti na [email protected] možnost.

Zdaj morate le dokončati konfiguracijske korake in začeti.

Dnevniki CloudWatch

Kadarkoli pomislite na spremljanje v oblaku AWS, vam najprej na misel pride CLoudWatch, saj je to zelo obsežna storitev spremljanja, ki jo je mogoče konfigurirati za različne storitve na zelo koristen način.

Dnevniki CloudWatch, kot že ime opredeljuje, so storitev beleženja, ki se lahko uporablja za shranjevanje vseh vrst dnevnikov. Ustvarite lahko različne skupine dnevnikov za različne storitve, da bodo dnevniki ločeni. Te dnevnike je mogoče uporabiti za sprožitev vaše lambda funkcije na podlagi dogodkov, ki jih prejemajo, ne glede na storitev ali postopek, ki ustvarja te dogodke.

Sprožilec lahko konfigurirate s konzole funkcije lambda ali neposredno iz dnevnikov CloudWatch. Če želite to narediti s konzole CloudWatch, preprosto pojdite na storitev CloudWatch in odprite skupine dnevnikov. Tukaj morate ustvariti naročniški filter lambda.

Nato izberite želeno lambda funkcijo in pripravljeni ste.

Zdaj, kadar CloudWatch dobi ta tok dnevnika, deluje kot sprožilec za priklic funkcije lambda.

EventBridge

Amazon EventBridge (prej znan kot CloudWatch Events) je storitev AWS, ki vam omogoča ustvarjanje pravil dogodkov za sprožitev določene storitve AWS ob določenem dogodku, ki se zgodi v računu AWS.

Obstaja veliko različnih pravil, ki jih lahko nastavite za storitve AWS (kot je ustvarjanje instance EC2 ali dogodki baze podatkov RDS) kot tudi storitve tretjih oseb (kot je potisni dogodek GitHub). Ta pravila je mogoče nadalje povezati z drugimi storitvami, kot so funkcije lambda, tako da kadar koli je to pravilo izpolnjeno, prikliče funkcijo lambda.

Če imate že nastavljeno pravilo EventBridge, lahko preprosto dodate to pravilo kot sprožilec svoji lambda funkciji. Izberite EventBridge kot sprožilec in preprosto vnesite ime pravila.

Obstoječe pravilo je dodano tukaj kot sprožilec, vendar lahko na tej točki ustvarite tudi pravilo.

DynamoDB

Morda ste vedeli, da je DynamoDB le baza podatkov NoSQL in se v AWS pojavlja kot popolnoma ločena storitev. To je popolnoma konfigurirana baza podatkov brez strežnika in lahko začnete neposredno ustvarjati tabele v njej. Te tabele DynamoDB je mogoče konfigurirati tako, da delujejo kot sprožilci za priklic funkcij lambda.

Podatke iz DynamoDB je mogoče naložiti v lambda kot vhod v obliki paketov in se obdelajo s kodo, ki je nameščena v lambda.

Kineza

Če želite zbirati in analizirati podatke v realnem času z visoko hitrostjo, lahko izkoristite AWS Kinesis. Recimo, da želite obdelati podatke, ki jih zbirajo podatkovni tokovi Kinesis, z uporabo lambda funkcij. Preprosto morate sprožiti svojo lambda funkcijo vsakič, ko Kinesis posname podatke.

Pravkar ste končali s konfiguriranjem podatkovnega toka Kinesis za priklic funkcije lambda.

SNS

To je preprosto storitev obveščanja, ki se običajno uporablja za pošiljanje obvestil iz ene storitve AWS v drugo, ker včasih ni mogoče konfigurirati obvestil neposredno iz ene storitve v drugo. S to storitvijo je mogoče sprožiti lambda funkcije.

Najprej ustvarite temo SNS, nato pa jo uporabite za priklic vaše lambda funkcije.

Izbrati morate ime svoje teme SNS. Ni drugih konfiguracij ali nastavitev.

Zaključek

Amazon Lambda je resnično preboj v arhitekturi oblaka. Razvoj in uvajanje aplikacij še nikoli nista bila tako enostavna in enostavna. Omogoča vam, da preprosto ustvarite svojo kodo v katerem koli običajnem ogrodju in jo naložite v lambda, ki se izvede. Obstaja dolg seznam drugih storitev, ki jih je mogoče povezati z AWS lambda in delujejo kot sprožilec za priklic vaše lambda funkcije le, ko je to potrebno. Ni stalnih tekočih stroškov strežnika, vendar vam bodo zaračunani glede na število sprožilcev in čas izvajanja kode.