Johdatus käytettävissä oleviin laukaisuihin lambda-toiminnon käynnistämiseksi

Johdatus Kaytettavissa Oleviin Laukaisuihin Lambda Toiminnon Kaynnistamiseksi



AWS Lambda on hämmästyttävä pilvipohjainen palvelu, joka mullisti palvelimettoman maailman. Se on itse asiassa ohjelmisto palveluna (SaaS), joka voidaan määrittää helposti ja nopeasti ja joka auttaa vähentämään pilviinfrastruktuurisi kokonaisbudjettia. Sinun tarvitsee vain suunnitella koodisi ja suorittaa se lambda-toiminnolla.

Tässä on nyt se, kuinka sinun pitäisi suorittaa koodisi funktiossa, ja vastaus tähän on, että on olemassa pitkä luettelo menetelmistä, joiden avulla voit kutsua tai laukaista lambda-toimintosi. Tämä sisältää monia muita AWS-palveluita, joita voidaan käyttää halutun toiminnon kutsumiseen tarvittaessa.

Tässä artikkelissa näet lyhyen selityksen palveluista ja tekniikoista, joita voidaan käyttää lambda-toimintojesi käynnistämiseen Amazonissa.







Kutsujen tyypit

Ennen kuin siirrymme pidemmälle, keskustelkaamme seuraavista kahdesta suuresta kutsutyypistä, joita lambda-funktio voi käsitellä.



  • Synkroniset kutsut
  • Asynkroniset kutsut
  1. Synkroniset kutsut
    Synkronisissa kutsuissa lambdaa kutsuvan palvelun on odotettava, kunnes tulokset palautetaan sille, ja sitten jatkettava loput prosessista. Voimme myös sanoa, että lambda-funktion tulos vaatii itse toiminto tai palvelu, joka kutsui tämän lambda-funktion.
  2. Asynkroniset kutsut

    Tässä ei tarvitse odottaa, että lambda-toiminnot toimittavat tulokset takaisin kutsujalle. Tätä käytetään pääasiassa ilmoituksiin tai joidenkin muiden itsenäisten tapahtumien käynnistämiseen AWS:ssä. Palvelu, joka haluaa kutsua lambda-funktion, lähettää vain liipaisimen ja tämä toiminto on jonossa lambdassa ja suoritetaan vuorotellen.



Eri tapoja kutsua lambda

Tässä näet lukuisia tapoja kutsua lambda-toimintoja. Tämän tietäminen on erittäin hyödyllistä, kun seuraavan kerran suunnittelet yksinkertaisen mutta kustannustehokkaan AWS-infrastruktuurin.





Kutsu Lambda-funktiot suoraan

Useimmissa tapauksissa lambda-funktiot on suunniteltu käynnistymään muiden palveluiden avulla, mutta voit kutsua niitä suoraan AWS-hallintakonsolin, AWS CLI:n ja toiminnon URL-osoitteen kautta.

Lambdan kutsuminen hallintakonsolista

Kun luot minkä tahansa lambda-toiminnon AWS-konsoliisi, voit käynnistää sen helposti käyttämällä konsolin testiajo-vaihtoehtoa. The Testata -painike on saatavana lambda-toiminnon koodiosiossa.



Voit luoda mukautetun tapahtuman sekä käyttää konsolia mukautetun tapahtumakuvion kanssa.

Tällä tavalla lambda-toiminto voidaan laukaista AWS-konsolista.

AWS CLI

AWS antaa sinulle mahdollisuuden käyttää kaikkia resurssejaan AWS-komentoriviliittymän avulla. Tämän CLI:n avulla voidaan myös kutsua mikä tahansa lambda-toiminto. Tämä voi olla erittäin tehokas testata asioita kehitysvaiheessa. AWS CLI -komentoa voidaan käyttää liipaisimena lambda-funktion käynnistämiseen.

[sähköposti suojattu] :~$ aws lambda kutsu \
--funktion nimi < Syötä lambda-funktion nimi > \
--hyötykuorma < Syöttöarvo varten Lambda toiminto > \
--cli-binäärimuoto < base64 | raaka-in-base64-out > < Tulostustiedoston nimi >

Toiminto laukeaa onnistuneesti ja tämä näkyy myös lähdössä.

Toiminnon URL-osoite

Function URL on itse asiassa HTTP-päätepiste, jonka voit määrittää lambda-funktioillesi. Tätä URL-osoitetta voidaan käyttää lambda-toimintojen käynnistämiseen, ja voit myös jakaa tämän URL-osoitteen muille käyttäjille jopa AWS-tilisi ulkopuolella lambda-toimintojen käynnistämiseksi. Vaikka sinun tulee olla varovainen toiminto-URL-osoitteiden kanssa, kuka tahansa tämän linkin saanut voi laukaista lambda-toiminnon lukemattomia kertoja, ja kaikki kustannukset jäävät sinun päähäsi.

Toiminnon URL-osoite voidaan määrittää luomisen aikana sekä lambda-funktion luomisen jälkeen. Tätä varten siirry määritysosion lisäasetuksiin ja tarkista Ota funktion URL käyttöön laatikko.

Jos et ole liittänyt funktion URL-osoitetta luodessasi lambda-funktiota, voit tehdä sen myöhemmin. Tätä varten sinun on mentävä määritysvälilehdelle, valittava toiminnon URL-osoite ja napsautettava Luo funktion URL-osoite .

Tällä tavalla funktion URL-osoite luodaan ja sitä käytetään lambda-funktion kutsumiseen.

Kutsu Lambda-funktioita AWS-palveluiden avulla

Monet AWS-palvelut voidaan konfiguroida liipaisuiksi lambda-toiminnon käynnistämiseksi. Sinun tarvitsee vain määrittää AWS-palvelut laukaisuksi käynnistääksesi lambda-toiminnon. Tässä käymme läpi kaikki nämä palvelut ja selitämme, kuinka niitä käytetään lambda-laukaisimina.

API-yhdyskäytävä

Tämä on AWS-palvelu, jota käytetään laajasti sovellusmallisi API:iden luomiseen ja hallintaan. API:t tarjoavat erittäin joustavan tavan luoda pyyntöjä tai kutsuja yhdestä ohjelmistopaketista toiseen, joita emme voi paljastaa suoraan ja haluamme vain pitää kulissien takana.

Jos haluat lisätä minkä tahansa palvelun laukaisimeksi lambda-toimintoon, siirry lambda-toimintoon ja napsauta Lisää liipaisin.

Seuraavaksi voit valita palvelun, jonka haluat liittää laukaisuksi lambda-toimintoon. Tässä osiossa valitsemme API-yhdyskäytävän lambda-funktion laukaisimeksi.

Määritä seuraavaksi palvelu sellaiseksi kuin haluat sen toimivan sovellusrakenteessa.

API-yhdyskäytävä tukee kahden tyyppisiä sovellusliittymiä, ja niitä voidaan käyttää lambda-funktion käynnistämiseen.

HTTP API:t : Niitä käytetään HTTP-päätepisteiden luomiseen, jotka reititetään lambda-funktioihisi. HTTP API:t tarjoavat vähemmän toimintoja ja ovat halvempia käyttää.

REST-sovellusliittymät : Jos haluat lisää ominaisuuksia sovellusliittymään, sinun on valittava REST API. Nämä API:t voivat kutsua lambda-funktiota ja käyttää samoja HTTP-menetelmiä, mikä tarjoaa enemmän joustavuutta ja riippumattomuutta.

S3 Kauha

On monia käyttötapauksia, joissa näet, että S3-ämpärit toimivat laukaisinna lambda-toiminnon käynnistämiseksi. Voit määrittää S3-säihön käynnistämään lambda-toiminnon tietylle S3-tapahtumalle.

Haluat esimerkiksi kerätä minkä tahansa tiedoston metatiedot, kun se ladataan ämpäriisi. Tätä varten kehität koodin ja otat sen käyttöön lambda-funktiossa. Valitse Lambda-liipaisua varten S3-kauha. Valitse tapahtumatyypiksi laita esine . Jotta aina kun uusi tiedosto lisätään ämpäriin, lambda-toiminto käynnistyy ja objektin metatiedot kerätään ja tallennetaan kohdesijaintiin, kun määrität.

Voi olla monia muita skenaarioita, joissa S3:ta voidaan käyttää laukaisimena lambda-funktion käynnistämiseksi.

Load Balancer

Oletetaan, että sovelluksesi on suunniteltu toimimaan lambda-toiminnoilla, koska lambda-toiminto on kustannustehokkain ratkaisu yksinkertaiselle pilvipohjaiselle sovellukselle. Nyt, jotta voit paljastaa sovelluksesi loppukäyttäjille, sinun kannattaa kiinnittää kuormantasauslaite sen eteen. Valitse tässä osiossa kuormantasaaja, joka toimii laukaisimena lambda-toiminnon käynnistämiseksi. Muista, että voit määrittää vain sovelluksen kuormituksen tasapainottimen tätä tehtävää varten, koska lambda-toiminnot eivät tue muita kuormituksen tasaajia.

Sovelluksen kuormituksen tasapainottimen lisäämiseksi lambda-toimintoon on ensin luotava kohderyhmä ja lambda-funktio lisätään kyseiseen kohderyhmään. Nyt äskettäin luotu kohderyhmä voidaan lisätä sovellusten kuormituksen tasapainottimen kuuntelijoiden joukkoon.

CloudFront

Amazon CloudFront on itse asiassa CDN (Content Delivery Network) ja sitä käytetään tallentamaan sovellustiedot välimuistiin reunapaikoissa, jotka ovat paljon lähempänä loppukäyttäjiä kuin todelliset sovelluspalvelimet. Käyttämällä CloudFrontia voit todella parantaa vasteaikaa tarjotaksesi staattista sisältöä loppukäyttäjille ympäri maailmaa.

Lambda-toiminnot voidaan laukaista CloudFront-palvelun avulla. Tätä varten sinun on otettava lambda-toiminto käyttöön reunapaikoilla ympäri maailmaa, jotka tunnetaan nimellä [sähköposti suojattu]

Voit asettaa CloudFrontin laukaisimeksi, joka lähettää pyynnöt [sähköposti suojattu] CloudFrontin kautta vasteajan parantamiseksi. Kuten [sähköposti suojattu] on käytössä kaikissa reunapaikoissa ympäri maailmaa, loppukäyttäjät kohtaavat mahdollisimman lyhyen vasteajan, kun he käyttävät lambdaa lähimpään reunapaikkaan.

Voit määrittää tämän siirtymällä osoitteeseen lisää liipaisin ja valitse CloudFront-palvelu. Siellä näet ottaa käyttöön [sähköposti suojattu] vaihtoehto.

Nyt sinun tarvitsee vain suorittaa määritysvaiheet ja aloittaa se.

CloudWatch-lokit

Aina kun ajattelet valvontaa AWS-pilvessä, ensimmäisenä tulee mieleen CLoudWatch, koska tämä on erittäin laaja seurantapalvelu, joka voidaan konfiguroida eri palveluille erittäin hyödyllisellä tavalla.

CloudWatch-lokit, kuten nimi määrittelee, on lokipalvelu, jota voidaan käyttää kaikenlaisten lokien tallentamiseen. Voit luoda erilaisia ​​lokiryhmiä eri palveluille pitääksesi lokit erillään. Näitä lokeja voidaan käyttää lambda-toiminnon käynnistämiseen niiden vastaanottamien tapahtumien perusteella, riippumatta palvelusta tai menettelystä, joka tuottaa nämä tapahtumat.

Voit määrittää liipaisimen joko lambda-toimintokonsolista tai suoraan CloudWatch-lokeista. Voit tehdä tämän CloudWatch-konsolista siirtymällä CloudWatch-palveluun ja avaamalla lokiryhmät. Täällä sinun on luotava lambda-tilaussuodatin.

Valitse seuraavaksi haluamasi lambda-toiminto ja olet valmis.

Nyt aina kun CloudWatch saa kyseisen lokivirran, se toimii laukaisinna lambda-toiminnon käynnistämiseksi.

Tapahtumasilta

Amazon EventBridge (aiemmin CloudWatch Events) on AWS-palvelu, jonka avulla voit luoda tapahtumasääntöjä tietyn AWS-palvelun käynnistämiseksi tietyssä AWS-tilillä tapahtuvassa tapahtumassa.

Voit asettaa monia erilaisia ​​sääntöjä AWS-palveluille (kuten EC2-ilmentymien luominen tai RDS-tietokantatapahtumat) sekä kolmannen osapuolen palveluille (kuten GitHub-push-tapahtumalle). Nämä säännöt voidaan edelleen linkittää muihin palveluihin, kuten lambda-toimintoihin siten, että aina kun tämä sääntö täyttyy, se vetoaa lambda-toimintoon.

Jos sinulla on jo EventBridge-sääntö, voit helposti lisätä tämän säännön laukaisimeksi lambda-toimintoon. Valitse EventBridge käynnistimeksi ja anna säännön nimi.

Olemassa oleva sääntö lisätään tähän triggeriksi, mutta voit myös luoda säännön tässä vaiheessa.

DynamoDB

Olet ehkä tiennyt, että DynamoDB on vain NoSQL-tietokanta ja se näkyy täysin erillisenä palveluna AWS:ssä. Tämä on täysin konfiguroitu palvelimeton tietokanta, ja voit aloittaa siihen taulukoiden luomisen suoraan. Nämä DynamoDB-taulukot voidaan konfiguroida toimimaan laukaisimina lambda-funktioiden käynnistämiseksi.

DynamoDB:n tiedot voidaan ladata lambdaan syötteenä erien muodossa ja ne käsitellään lambdassa käyttöönotetun koodin avulla.

Kinesis

Jos haluat kerätä ja analysoida reaaliaikaista dataa suurella nopeudella, voit hyötyä AWS Kinesisistä. Oletetaan, että haluat käsitellä Kinesis-datavirtojen keräämiä tietoja lambda-toimintojen avulla. Sinun tarvitsee vain käynnistää lambda-toiminto aina, kun Kinesis tallentaa tiedot.

Olet juuri määrittänyt Kinesis-tietovirran käynnistämään lambda-toiminnon.

SNS

Se on yksinkertaisesti ilmoituspalvelu, jota käytetään yleisesti ilmoitusten lähettämiseen yhdestä AWS-palvelusta toiseen, koska joskus ei ole mahdollista määrittää ilmoituksia suoraan palvelusta toiseen. Lambda-toiminnot voidaan käynnistää tällä palvelulla.

Luo ensin SNS-aihe ja käytä sitä sitten lambda-funktion käynnistämiseen.

Sinun on valittava SNS-aiheesi nimi. Muita määrityksiä tai asetuksia ei ole.

Johtopäätös

Amazon Lambda on todellinen läpimurto pilviarkkitehtuurissa. Sovellusten kehittäminen ja käyttöönotto ei ole koskaan ollut näin helppoa ja suoraviivaista ennen sitä. Sen avulla voit yksinkertaisesti luoda koodisi missä tahansa yleisessä kehyksessä ja ladata koodisi lambdaan ja se suoritetaan. On olemassa pitkä lista muita palveluita, jotka voidaan liittää AWS lambdaan ja jotka toimivat laukaisimina lambda-toiminnon käynnistämiseksi vain silloin, kun sitä tarvitaan. Palvelimella ei ole jatkuvaa käyttökustannuksia, mutta sinua veloitetaan liipaisujen lukumäärän ja koodin suoritusajan mukaan.