Kaip sukurti programą be serverio naudojant AWS Chalice
Neseniai susidūriau su „AWS Chalice“ ir susižavėjau jo siūlomu paprastumu ir patogumu.
„AWS Chalice“ yra be serverio sistema, leidžianti kurti programas be serverių naudojant „Python“, o jas diegti AWS naudojant „Amazon API Gateway“ ir „AWS Lambda“.
Aš nusprendžiau pažaisti su juo ir iš tikrųjų sugebėjau per kelias minutes sukurti ir įdiegti pavyzdinį REST API AWS.
Šiame straipsnyje paaiškinsiu veiksmus, kurių reikia norint sukurti ir įdiegti programą be serverio, kuri gauna naujausias naujienas iš „Google“ naujienų naudodama „Chalice“.
Būtinos sąlygos
Šiai pamokai reikalinga AWS paskyra. Jei dar neturite, eikite į priekį ir sukurkite. Mūsų programoje bus naudojami tik nemokamo lygio ištekliai, todėl išlaidos neturėtų būti problema.
Taip pat turite sukonfigūruoti saugumą ir sukurti prieigai naudotojus bei vaidmenis.
Kaip konfigūruoti AWS prisijungimo duomenis
Chalice naudoja AWS komandų eilutės sąsają (CLI) užkulisiuose, kad įdiegtų projektą. Jei anksčiau nenaudojote AWS CLI, kad galėtumėte dirbti su AWS ištekliais, galite jį įdiegti vadovaudamiesi čia pateiktomis gairėmis.
Įdiegę turite sukonfigūruoti AWS CLI, kad būtų naudojami jūsų AWS paskyros kredencialai.

Kaip įdiegti taurę
Tada turite įdiegti „Chalice“. Šioje mokymo programoje naudosime „Python 3“, tačiau galite naudoti bet kurią „Python“ versiją, palaikomą „AWS Lambda“.
Patikrinkite „Python“ diegimą

Įdiekite taurę

Patikrinkite taurelių įrengimą

Kaip sukurti projektą
Tada paleiskite chalice new-project
komandą, kad sukurtumėte naują projektą.

Tai sukurs daily-news
aplanką jūsų dabartiniame kataloge. Galite pamatyti, kad Chalice šiame aplanke sukūrė keletą failų. Mes bus dirbti su app.py
ir requirements.txt
failus tik šiame straipsnyje.

Pažvelkime į app.py
failo turinį :
new-project
Komanda sukūrė pavyzdinį programą daily-news
. Tai apibrėžia vieną vaizdą /
, kuris grąžina JSON kūną, {"hello": "world"}
kai jis iškviečiamas. Dabar galite modifikuoti šį šabloną ir pridėti daugiau kodo, kad galėtumėte skaityti „Google“ naujienas.
Norėdami gauti savo naujienas, naudosime „Google“ RSS kanalą. Kadangi RSS sklaidos kanalus sudaro duomenys XML formatu, XML duomenims analizuoti reikės „Python“ bibliotekos, vadinamos „Beautiful Soup“.
Galite įdiegti „Beautiful Soup“ ir jos XML analizavimo biblioteką naudodamiesi pip
tokiu būdu:

Tada pridėkite šiuos importuojamus failus į app.py
. Tai iš esmės prideda importą iš urllib
HTTP skambučių ir bs4
XML analizavimo.
Tada turite pridėti metodą, kaip gauti RSS kanalą iš „Google“. Mes naudosime urllib
HTTP skambutį į „Google“ RSS galutinį tašką ir gausime atsakymą. Tada galite analizuoti atsakymą, kad gautumėte naujienų pavadinimą ir paskelbimo datą, ir sukursite naujienų sąrašą.
Norėdami tai padaryti, pridėkite šį kodą prie savo app.py
:
Atnaujinkite indekso metodą, app.py
norėdami pasinaudoti šiuo metodu ir grąžinti naujienų sąrašą.
Atminkite, kad įdiegėte keletą priklausomybių, kad kodas veiktų. Šios priklausomybės buvo įdiegtos vietoje ir nebus vykdomos „AWS Lambda“ talpykloje.
Norėdami, kad jie būtų prieinami „AWS Lambda“, turėsite juos supakuoti kartu su savo kodu.
Norėdami tai padaryti, pridėkite šiuos requirements.txt
failus prie failo. „Chalice“ sudaro šias priklausomybes kaip jūsų kodo dalį kuriant ir įkelia jas kaip „Lambda“ funkcijos dalį.
Kaip įdiegti projektą
Diegime šią programą. Iš daily-news
aplanko vykdykite chalice deploy
komandą.

Tai įdiegia jūsų API „Amazon API Gateway“ ir sukuria naują „AWS Lambda“ funkciją.


Pabandykime dabar pasiekti API. Galite naudoti curl
norėdami iškviesti API šliuzo URL, kurį gavote per chalice deploy
. Atsakius į API skambutį, bus pateiktas naujienų sąrašas, kaip parodyta žemiau.

Kaip išvalyti išteklius
Be to, naudodami chalice delete
komandą galite ištrinti visus išteklius, sukurtus vykdant chalice deploy
komandą.

Išvada
Sveikiname! Jūs ką tik įdiegėte programą be serverio AWS naudodami „Chalice“. Tai nebuvo per sunku, ar ne?
Dabar galite tęsti bet kokius app.py
failo pakeitimus ir paleisti chalice deploy
iš naujo, kad pakeistumėte pakeitimus.
Taip pat galite naudoti „Chalice“, kad integruotumėte programą be serverio į „Amazon S3“, „Amazon SNS“, „Amazon SQS“ ir kitas AWS paslaugas. Pažvelkite į mokymo programas ir toliau tyrinėkite. Visą šios mokymo programos šaltinio kodą galite rasti čia.
Ačiū, kad likote su manimi iki šiol. Tikiuosi, kad jums patiko straipsnis. Su manimi galite susisiekti per „LinkedIn“, kur aš reguliariai aptariu technologijas ir gyvenimą. Taip pat pažiūrėkite į keletą kitų mano straipsnių apie „Medium“. Laimingo skaitymo?