Una introducció als activadors disponibles per invocar una funció Lambda

Una Introduccio Als Activadors Disponibles Per Invocar Una Funcio Lambda



AWS Lambda és un servei increïble basat en núvol que va revolucionar el món sense servidor. En realitat, és un programari com a servei (SaaS) que es pot configurar fàcilment i ràpidament i és útil per reduir el pressupost general de la vostra infraestructura de núvol. El que heu de fer és dissenyar el vostre codi i executar-lo mitjançant la funció lambda.

Ara, el punt aquí és com se suposa que heu d'executar el vostre codi a la funció i la resposta a això és que hi ha una llarga llista de mètodes mitjançant els quals podeu invocar o activar les vostres funcions lambda. Això inclou molts altres serveis d'AWS que es poden utilitzar per trucar a la funció desitjada quan sigui necessari.

En aquest article, veureu una breu explicació sobre els serveis i tècniques que es poden aplicar per invocar les vostres funcions lambda a Amazon.







Tipus d'invocacions

Abans d'anar més lluny, parlem dels dos tipus principals d'invocacions següents que pot gestionar la funció lambda.



  • Invocacions sincròniques
  • Invocacions asíncrones
  1. Invocacions sincròniques
    En les invocacions sincròniques, el servei que invoca la lambda ha d'esperar fins que se li retornin els resultats i després continuar amb la resta del procés. També podem dir que la sortida de la funció lambda és requerida per la funció o servei en si que ha invocat aquesta funció lambda.
  2. Invocacions asíncrones

    Aquí, no cal esperar perquè les funcions lambda proporcionin els resultats a l'invocador. S'utilitza principalment per a notificacions o per activar altres esdeveniments independents a AWS. El servei que vol invocar la funció lambda només envia el disparador i aquesta operació es posa a la cua a la lambda i s'executarà al seu torn.



Diferents maneres d'invocar Lambda

Aquí, veureu nombroses maneres d'invocar les funcions lambda. Saber això us serà molt útil la propera vegada que dissenyeu la vostra infraestructura AWS senzilla però rendible.





Invoqueu directament les funcions Lambda

En la majoria dels casos, les funcions lambda estan dissenyades per activar-se mitjançant altres serveis, però podeu invocar-les directament mitjançant la consola de gestió d'AWS, l'AWS CLI i mitjançant l'URL de la funció.

Invocació de Lambda des de la consola de gestió

Quan creeu qualsevol funció lambda a la vostra consola AWS, podeu activar-la fàcilment mitjançant l'opció d'execució de prova de la consola. El Prova El botó està disponible a la secció de codi de la funció lambda.



Podeu crear un esdeveniment personalitzat així com utilitzar la consola amb el vostre patró d'esdeveniment personalitzat.

D'aquesta manera, la funció lambda es pot activar des de la consola AWS.

AWS CLI

AWS us ofereix la possibilitat d'utilitzar tots els seus recursos mitjançant la interfície de línia d'ordres d'AWS. També es pot invocar qualsevol funció lambda amb aquesta CLI. Això pot ser molt eficaç per provar coses durant les etapes de desenvolupament. Seguir l'ordre AWS CLI es pot utilitzar com a activador per invocar la funció lambda.

[correu electrònic protegit] :~$ aws lambda invoke \
--nom-funció < Introduïu el nom de la funció Lambda > \
--càrrega útil < Valor d'entrada per Funció Lambda > \
--cli-format-binari < base 64 | raw-in-base64-out > < Nom del fitxer de sortida >

La funció s'ha activat correctament i també ho podeu observar a la sortida.

URL de la funció

L'URL de la funció és en realitat un punt final HTTP que podeu configurar per a les vostres funcions lambda. Aquest URL es pot utilitzar per activar les funcions lambda i també podeu compartir aquest URL amb altres usuaris fins i tot fora del vostre compte d'AWS per invocar les funcions lambda. Tot i que hauríeu de tenir cura amb els URL de les funcions, qualsevol persona amb aquest enllaç pot activar la vostra funció lambda innombrables vegades i tots els costos seran al vostre cap.

L'URL d'una funció es pot configurar durant la creació i després de crear la funció lambda. Per a això, només cal que aneu a la configuració avançada a la secció de configuració i comproveu Habilita l'URL de la funció Caixa.

En cas que no hàgiu adjuntat una URL de funció mentre creeu la funció lambda, podeu fer-ho més tard. Per a això, heu d'anar a la pestanya de configuració, seleccionar l'URL de la funció i fer clic a Crea l'URL de la funció .

D'aquesta manera, l'URL de la funció es crea i s'utilitza per invocar la funció lambda.

Invoqueu les funcions Lambda mitjançant els serveis d'AWS

Es poden configurar molts serveis AWS com a activador per invocar la funció lambda. Només cal que configureu els serveis d'AWS com a activador per invocar la funció lambda. Aquí, repassem tots aquests serveis amb una explicació sobre com utilitzar-los com a activadors de lambda.

API Gateway

Aquest és un servei d'AWS que s'utilitza àmpliament per crear i gestionar les API del vostre model d'aplicació. Les API ofereixen una manera molt flexible de generar sol·licituds o trucades d'un paquet de programari a un altre paquet que no podem exposar directament i només volem mantenir entre bastidors.

Per afegir qualsevol servei com a activador a la funció lambda, només cal que aneu a la funció lambda i feu clic a afegir activador.

A continuació, podeu seleccionar el servei que voleu connectar com a activador de la vostra funció lambda. Per a aquesta secció, seleccionem la passarel·la API com a activador de la funció lambda.

A continuació, configureu el servei com voleu que actuï a l'estructura de l'aplicació.

Hi ha dos tipus d'API compatibles amb la passarel·la API i es poden utilitzar per invocar una funció lambda.

API HTTP : S'utilitzen per generar els punts finals HTTP que s'encaminen a les vostres funcions lambda. Les API HTTP ofereixen menys funcionalitats i són menys costoses d'utilitzar.

API REST : Si voleu més funcions a la vostra API, heu de buscar una API REST. Aquestes API poden invocar la funció lambda i utilitzar els mateixos mètodes HTTP, proporcionant més flexibilitat i independència.

Cubell S3

Hi ha molts casos d'ús en què veureu que els cubs S3 actuen com a activador per invocar la funció lambda. Podeu configurar un cub S3 per activar la funció lambda per a un esdeveniment S3 específic.

Per exemple, voleu recollir les metadades de qualsevol fitxer quan es pengeu al vostre cub. Per a això, desenvolupeu un codi i el desplegueu a la funció lambda. Per al disparador Lambda, seleccioneu el cub S3. Per al tipus d'esdeveniment, seleccioneu posar objecte . De manera que, sempre que s'afegeix un fitxer nou al cub, s'activa la funció lambda i les metadades de l'objecte es recullen i s'emmagatzemen a la ubicació de destinació quan ho especifiqueu.

Hi pot haver molts altres escenaris on S3 es pot utilitzar com a activador per invocar la funció lambda.

Equilibrador de càrrega

Suposem que la vostra aplicació està dissenyada per executar-se amb funcions lambda, ja que la funció lambda és la solució més rendible per a una aplicació senzilla basada en núvol. Ara, per exposar la vostra aplicació als usuaris finals, és possible que vulgueu adjuntar un equilibrador de càrrega al davant. Per a aquesta secció, seleccioneu l'equilibrador de càrrega que actua com a activador per invocar la funció lambda. Recordeu que només podeu configurar l'equilibrador de càrrega de l'aplicació per a aquesta tasca, ja que altres equilibradors de càrrega no són compatibles amb les funcions lambda.

Per afegir l'equilibrador de càrrega de l'aplicació a la funció lambda, primer heu de crear un grup objectiu i la funció lambda s'afegeix a aquest grup objectiu. Ara, el grup objectiu creat recentment es pot afegir als oients de l'equilibrador de càrrega de l'aplicació.

CloudFront

Amazon CloudFront és en realitat una CDN (xarxa de lliurament de contingut) i s'utilitza per emmagatzemar a la memòria cau les dades de l'aplicació en ubicacions de punta molt més properes als usuaris finals en comparació amb els servidors d'aplicacions reals. Amb CloudFront, podeu millorar realment el temps de resposta per oferir el contingut estàtic als usuaris finals de tot el món.

Les funcions lambda es poden activar mitjançant el servei CloudFront. Per a això, heu de desplegar la vostra funció lambda a les ubicacions de la vora de tot el món conegudes com [correu electrònic protegit]

Podeu configurar CloudFront com a activador per enviar les sol·licituds a [correu electrònic protegit] a través de CloudFront per millorar el temps de resposta. Com el [correu electrònic protegit] s'ha desplegat a totes les ubicacions de punta a tot el món, els usuaris finals s'enfronten a un temps de resposta mínim accedint a la ubicació de lambda més propera desplegada.

Per configurar-ho, simplement aneu a afegir disparador i trieu el servei CloudFront. Allà, veuràs el desplegar a [correu electrònic protegit] opció.

Ara, només cal completar els passos de configuració i començar-lo.

Registres de CloudWatch

Sempre que penseu en la monitorització al núvol d'AWS, el primer que us ve al cap és CLoudWatch, ja que es tracta d'un servei de monitorització molt ampli que es pot configurar per a diferents serveis d'una manera molt útil.

Els registres de CloudWatch, com el seu nom defineix, és un servei de registre que es pot utilitzar per emmagatzemar tot tipus de registres. Podeu crear diferents grups de registres per a diferents serveis per mantenir els registres separats. Aquests registres es poden utilitzar per activar la funció lambda en funció dels esdeveniments que estan rebent, independentment del servei o procediment que produeix aquests esdeveniments.

Podeu configurar l'activador des de la consola de la funció lambda o directament des dels registres de CloudWatch. Per fer-ho des de la consola de CloudWatch, només cal que aneu al servei CloudWatch i obriu els grups de registre. Aquí, heu de crear un filtre de subscripció lambda.

A continuació, trieu la funció lambda que vulgueu i ja esteu a punt.

Ara, sempre que CloudWatch rep aquest flux de registre, actua com a activador per invocar la funció lambda.

EventBridge

Amazon EventBridge (anteriorment conegut com a CloudWatch Events) és un servei d'AWS que us permet crear les regles d'esdeveniments per activar un servei d'AWS específic en un esdeveniment específic que es produeix en un compte d'AWS.

Hi ha una gran varietat de regles que podeu establir per als serveis d'AWS (com la creació d'instàncies EC2 o els esdeveniments de bases de dades RDS), així com per a serveis de tercers (com ara l'esdeveniment push de GitHub). Aquestes regles es poden enllaçar encara més amb altres serveis, com ara funcions lambda, de manera que sempre que es compleixi aquesta regla, invoqui la funció lambda.

Si ja teniu configurada una regla EventBridge, podeu afegir-la fàcilment com a activador a la vostra funció lambda. Seleccioneu l'EventBridge com a activador i simplement proporcioneu el nom de la regla.

Aquí s'afegeix una regla existent com a activador, però també podeu crear una regla en aquest moment.

DynamoDB

Potser heu sabut que DynamoDB és només una base de dades NoSQL i que apareix com un servei totalment independent a AWS. Aquesta és una base de dades sense servidor totalment configurada i només podeu començar a crear-hi taules directament. Aquestes taules DynamoDB es poden configurar per actuar com a activadors per invocar les funcions lambda.

Les dades del DynamoDB es poden carregar a lambda com a entrada en forma de lots i es processen mitjançant el codi que es desplega a lambda.

Kinesis

Si voleu recollir i analitzar les dades en temps real a un ritme elevat, podeu beneficiar-vos d'AWS Kinesis. Suposem que voleu processar les dades recollides pels fluxos de dades de Kinesis mitjançant les funcions lambda. Només cal que activeu la vostra funció lambda cada vegada que Kinesis enregistri les dades.

Acabeu de configurar el vostre flux de dades Kinesis per invocar la funció lambda.

SNS

És simplement un servei de notificacions que s'utilitza habitualment per enviar notificacions d'un servei d'AWS a un altre perquè de vegades no hi ha manera de configurar les notificacions directament d'un servei a l'altre. Les funcions lambda es poden activar mitjançant aquest servei.

Creeu primer un tema SNS i, a continuació, utilitzeu-lo per invocar la vostra funció lambda.

Heu de seleccionar el nom del vostre tema SNS. No hi ha altres configuracions o paràmetres.

Conclusió

Amazon Lambda és realment un avenç en l'arquitectura del núvol. El desenvolupament i el desplegament d'aplicacions mai havien estat tan fàcils i senzills abans. Us permet simplement crear el vostre codi en qualsevol marc comú i carregar el vostre codi a lambda i s'executa. Hi ha una llarga llista d'altres serveis que es poden combinar amb AWS lambda i actuar com a activador per invocar la funció lambda només quan sigui necessari. No hi ha cap cost de funcionament continu del servidor, però se us cobrarà en funció del nombre d'activadors i del temps d'execució del codi.