Увод у доступне окидаче за позивање Ламбда функције

Uvod U Dostupne Okidace Za Pozivane Lambda Funkcije



АВС Ламбда је невероватна услуга заснована на облаку која је револуционирала свет без сервера. То је заправо софтвер као услуга (СааС) који се може лако и брзо поставити и који је од помоћи за смањење укупног буџета ваше инфраструктуре у облаку. Оно што треба да урадите је да дизајнирате свој код и покренете га користећи ламбда функцију.

Сада, поента је како треба да извршите свој код у функцији, а одговор на ово је да постоји дуга листа метода помоћу којих можете позвати или покренути своје ламбда функције. Ово укључује многе друге АВС услуге које се могу користити за позивање жељене функције када је то потребно.

У овом чланку ћете видети кратко објашњење у вези са услугама и техникама које се могу применити за позивање ваших ламбда функција у Амазону.







Врсте Инвокација

Пре него што кренемо даље, хајде да разговарамо о следеће две главне врсте позива које ламбда функција може да обради.



  • Синцхроноус Инвоцатионс
  • Асинхроне инвокације
  1. Синцхроноус Инвоцатионс
    Код синхроних позива, услуга која позива ламбда мора да сачека док јој се не врате резултати, а затим да настави остатак процеса. Такође можемо рећи да је излаз ламбда функције потребан самој функцији или услузи која је позвала ову ламбда функцију.
  2. Асинхроне инвокације

    Овде нема чекања да ламбда функције врате резултате инвокеру. Ово се углавном користи за обавештења или за покретање неких других независних догађаја у АВС-у. Услуга која жели да позове ламбда функцију само шаље окидач и та операција је у реду чекања у ламбда и биће извршена на свом реду.



Различити начини за позивање Ламбда

Овде ћете видети бројне начине за позивање ламбда функција. Знати ово ће вам бити од велике помоћи следећи пут када дизајнирате своју једноставну, али исплативу АВС инфраструктуру.





Директно позовите Ламбда функције

У већини случајева, ламбда функције су дизајниране да се активирају помоћу других услуга, али можете их позвати директно помоћу АВС управљачке конзоле, АВС ЦЛИ-а и преко УРЛ-а функције.

Позивање Ламбда из управљачке конзоле

Када креирате било коју ламбда функцију у својој АВС конзоли, можете је лако покренути помоћу опције пробног покретања у конзоли. Тхе Тест дугме је доступно у одељку кода ламбда функције.



Можете да креирате прилагођени догађај, као и да користите конзолу са својим прилагођеним шаблоном догађаја.

На овај начин, ламбда функција може да се покрене са АВС конзоле.

АВС ЦЛИ

АВС вам даје могућност да користите све своје ресурсе користећи АВС интерфејс командне линије. Било која ламбда функција се такође може позвати са овим ЦЛИ. Ово може бити веома ефикасно за тестирање ствари током фаза развоја. Праћење АВС ЦЛИ команде може се користити као окидач за позивање ламбда функције.

[е-маил заштићен] :~$ авс ламбда инвоке \
--име-функције < Унесите назив Ламбда функције > \
--паилоад < Унета вредност за Ламбда функција > \
--цли-бинарни-формат < басе64 | рав-ин-басе64-оут > < Име излазне датотеке >

Функција је успешно покренута и то такође можете видети у излазу.

УРЛ функције

УРЛ функције је заправо ХТТП крајња тачка коју можете да конфигуришете за своје ламбда функције. Ова УРЛ адреса се може користити за покретање ламбда функција и такође можете да делите ову УРЛ адресу са другим корисницима чак и ван вашег АВС налога да бисте позвали ламбда функције. Иако треба да будете опрезни са УРЛ-овима функција, свако ко има ову везу може да покрене вашу ламбда функцију безброј пута, а сви трошкови ће бити на вашој глави.

УРЛ функције се може конфигурисати током креирања, као и након креирања ламбда функције. За ово једноставно идите на напредна подешавања у одељку за конфигурацију и проверите Омогући УРЛ функције кутија.

У случају да нисте приложили УРЛ функције док сте креирали ламбда функцију, то можете учинити касније. За ово морате да одете на картицу за конфигурацију, изаберете УРЛ функције и кликнете на Креирајте УРЛ функције .

На овај начин, УРЛ функције се креира и користи за позивање ламбда функције.

Позовите Ламбда функције користећи АВС услуге

Много АВС услуга може се конфигурисати као окидач за позивање ламбда функције. Само треба да конфигуришете АВС услуге као окидач за позивање ламбда функције. Овде пролазимо кроз све ове услуге са објашњењем како да их користите као ламбда окидаче.

АПИ Гатеваи

Ово је АВС услуга која се широко користи за креирање и управљање АПИ-јима у вашем моделу апликације. АПИ-ји дају веома флексибилан начин генерисања захтева или позива из једног софтверског пакета у други пакет који не можемо директно изложити и само желимо да задржимо иза сцене.

Да бисте додали било коју услугу као окидач вашој ламбда функцији, једноставно идите на ламбда функцију и кликните на додај окидач.

Затим можете да изаберете услугу коју желите да приложите као окидач за своју ламбда функцију. За овај одељак бирамо АПИ пролаз као окидач за ламбда функцију.

Затим конфигуришите услугу онако како желите да делује у структури ваше апликације.

Постоје два типа АПИ-ја које подржава АПИ мрежни пролаз и они се могу користити за позивање ламбда функције.

ХТТП АПИ-ји : Користе се за генерисање ХТТП крајњих тачака које се усмеравају на ваше ламбда функције. ХТТП АПИ-ји пружају мање функционалности и јефтинији су за коришћење.

РЕСТ АПИ-ји : Ако желите више функција у свом АПИ-ју, морате потражити РЕСТ АПИ. Ови АПИ-ји могу позвати ламбда функцију и користити исте ХТТП методе, пружајући већу флексибилност и независност.

С3 Буцкет

Постоји много случајева употребе у којима ћете видети да С3 канте делују као окидач за позивање ламбда функције. Можете да конфигуришете С3 канту да покрене ламбда функцију за одређени С3 догађај.

На пример, желите да прикупите метаподатке било које датотеке када се она отпреми у вашу корпу. За ово развијате код и постављате га на ламбда функцију. За Ламбда окидач, изаберите С3 канту. За тип догађаја изаберите ставити објекат . Тако да, кад год се нова датотека дода у корпу, ламбда функција се покреће и метаподаци објекта се прикупљају и чувају на одредишној локацији када наведете.

Може постојати много других сценарија у којима се С3 може користити као окидач за позивање ламбда функције.

Распоређивање оптерећења

Претпоставимо да је ваша апликација дизајнирана да ради на ламбда функцијама јер је ламбда функција најисплативије решење за једноставну апликацију засновану на облаку. Сада, да бисте своју апликацију изложили крајњим корисницима, можда бисте желели да прикачите балансер оптерећења испред ње. За овај одељак изаберите балансатор оптерећења који делује као окидач за позивање ламбда функције. Имајте на уму да балансирање оптерећења апликације можете подесити само за овај задатак јер друге балансаторе оптерећења не подржавају ламбда функције.

Да бисте додали балансер оптерећења апликације ламбда функцији, прво морате да креирате циљну групу и ламбда функција се додаје тој циљној групи. Сада се новокреирана циљна група може додати слушаоцима балансера оптерећења апликације.

ЦлоудФронт

Амазон ЦлоудФронт је заправо ЦДН (Мрежа за испоруку садржаја) и користи се за кеширање података апликације на ивичним локацијама које су много ближе крајњим корисницима у поређењу са стварним серверима апликација. Користећи ЦлоудФронт, заиста можете да побољшате време одзива да бисте сервирали статични садржај крајњим корисницима широм света.

Ламбда функције се могу покренути помоћу услуге ЦлоудФронт. За ово, морате да примените своју ламбда функцију на ивичним локацијама широм света познатим као [е-маил заштићен]

Можете поставити ЦлоудФронт као окидач за слање захтева на [е-маил заштићен] преко ЦлоудФронт-а да бисте побољшали време одговора. Као што је [е-маил заштићен] је распоређен на свим ивичним локацијама широм света, крајњи корисници се суочавају са минималним временом одговора приступом ламбда распоређеној најближој ивичној локацији.

Да бисте ово конфигурисали, једноставно идите на додати окидач и изаберите услугу ЦлоудФронт. Тамо ћете видети распоредити на [е-маил заштићен] опција.

Сада само треба да довршите кораке конфигурисања и да започнете.

ЦлоудВатцх Логс

Кад год размишљате о надгледању у АВС облаку, прва ствар која вам пада на памет је ЦЛоудВатцх јер је ово веома огромна услуга надгледања која се може конфигурисати за различите услуге на веома користан начин.

ЦлоудВатцх дневники, као што име дефинише, је услуга евидентирања која се може користити за складиштење свих врста дневника. Можете креирати различите групе дневника за различите услуге како бисте евиденције држали одвојено. Ови дневники се могу користити за покретање ваше ламбда функције на основу догађаја које примају, без обзира на услугу или процедуру која производи ове догађаје.

Можете да конфигуришете окидач са ламбда функцијске конзоле или директно из ЦлоудВатцх евиденције. Да бисте то урадили са ЦлоудВатцх конзоле, једноставно идите на услугу ЦлоудВатцх и отворите групе дневника. Овде морате да креирате филтер за ламбда претплату.

Затим изаберите ламбда функцију коју желите и спремни сте.

Сада, кад год ЦлоудВатцх добије тај дневник, он делује као окидач за позивање ламбда функције.

ЕвентБридге

Амазон ЕвентБридге (раније познат као ЦлоудВатцх Евентс) је АВС услуга која вам омогућава да креирате правила догађаја да бисте покренули одређену АВС услугу на одређени догађај који се дешава на АВС налогу.

Постоји широк спектар правила која можете поставити за АВС услуге (као што је креирање ЕЦ2 инстанце или догађаји РДС базе података), као и услуге трећих страна (као што је ГитХуб пусх догађај). Ова правила се могу даље повезати са другим услугама као што су ламбда функције на такав начин да кад год је ово правило задовољено, оно позива ламбда функцију.

Ако већ имате постављено ЕвентБридге правило, можете лако додати ово правило као окидач вашој ламбда функцији. Изаберите ЕвентБридге као окидач и једноставно наведите назив правила.

Постојеће правило се додаје овде као покретач, али у овом тренутку можете и да креирате правило.

ДинамоДБ

Можда сте знали да је ДинамоДБ само НоСКЛ база података и да се појављује као потпуно засебна услуга у АВС-у. Ово је потпуно конфигурисана база података без сервера и можете директно да почнете да креирате табеле у њој. Ове ДинамоДБ табеле се могу конфигурисати да делују као окидачи за позивање ламбда функција.

Подаци из ДинамоДБ-а се могу учитати у ламбда као улаз у облику група и обрађују се помоћу кода који је распоређен у ламбда.

Кинесис

Ако желите да прикупљате и анализирате податке у реалном времену великом брзином, можете имати користи од АВС Кинесис. Претпоставимо да желите да обрадите податке прикупљене Кинесис токовима података користећи ламбда функције. Једноставно морате да покренете своју ламбда функцију сваки пут када Кинесис сними податке.

Управо сте завршили са конфигурисањем Кинесис тока података да позове ламбда функцију.

СНС

То је једноставно услуга обавештења која се обично користи за слање обавештења са једне АВС услуге на другу јер понекад не постоји начин да се конфигуришу обавештења директно са једне услуге на другу. Ламбда функције се могу покренути помоћу ове услуге.

Прво креирајте СНС тему, а затим је користите да бисте позвали своју ламбда функцију.

Морате да изаберете назив ваше СНС теме. Нема других конфигурација или подешавања.

Закључак

Амазон Ламбда је заиста пробој у архитектури облака. Развој и примена апликација никада пре тога нису били тако лаки и једноставни. Омогућава вам да једноставно креирате свој код у било ком уобичајеном оквиру и учитате свој код у ламбда и он се извршава. Постоји дуга листа других услуга које се могу упарити са АВС ламбда и деловати као окидач за позивање ваше ламбда функције само када је то потребно. Не постоји континуирани трошак рада сервера, али ће вам бити наплаћено у зависности од броја окидача и времена извршења кода.