Kõlab hästi? Ei olnud Ruby Arendajad. Kuni 29. novembrini 2018 ei toetatud Ruby't, et alustada serverivaba revolutsiooni. Aga siis tuli Jets ja kõik on muutunud.

Nagu ametlikul Ruby on Jets veebilehel uhkelt öeldakse:

"Ruby on Jets" võimaldab hõlpsasti luua ja juurutada serverivabu teenuseid ning liimida sujuvalt kokku AWS teenuseid koos kõige ilusama dünaamilise keelega: Ruby. See sisaldab kõike, mida on vaja API loomiseks ja selle kasutuselevõtmiseks AWS Lambda'sse. Jets kasutab Ruby võimsust, et muuta serverless kõigile rõõmsaks"

Tõepoolest, töö Jetsiga, eriti kellelegi, kes on kuidagi Railsi või Sinatra kogemustega, muutub suhteliselt lihtsaks ja meeldivaks.

Selle tõestamiseks ehitame selles artiklis lihtsa serverivaba rakenduse.

Valmis?

Ehitustaotlus

What we’re gonna do, is create a very simple Jets app. This will provide us with some basic information of how to create routes, controllers and actions, and how to deploy to AWS Lambda. To keep it simple and easy, we’re gonna use just one endpoint, that will return random Chuck Norris joke.

Paigaldamine

Kõigepealt paigaldame Jets gem globaalselt. Kirjutage oma konsooli:

Kood1

Seejärel looge uus Jets projekt koos:

code2

(Valikud -mode api ja -no-database ei ole vajalikud, see lihtsalt kiirendab paigaldamist veidi, kuna me ei vaja siin mingeid andmebaase ega vaateid.)

Nüüd, oma chuck-norris-jokes kataloogi jooksma:

Code3

Sisestamine localhost:8888 brauseris, peaksite nägema midagi sellist:

Jets

Kui see on see, mida sa näed - õnnitlused, sa oled kõik õigesti teinud!

Kontroller ja marsruudid

Mida me nüüd teeme, on meie esimese Jets kontrolleri loomine.

Kirjutage konsooli:

Code4

See loob meie JokesController'i, mille sees on üks tegevus - create. Vaikimisi loob Jets tegevuse jaoks "get" tüüpi marsruudi, nii et me peame seda muutma.

Veebilehel routes.rb faili muutmine saada "naljad/loomine" aadressile postitus 'naljad', et: "jokes#create".

Kodeerimine

Taotluse kättesaamine

Chuck Norrise'i kraami kättesaamiseks tuleb teha kõne John Doe Api'le. Seejärel vastame jsoniga, mis sisaldab hangitud nalja.

Ruby

Testimine kohapeal

Me võime seda lokaalselt käivitada, et testida, kas me saame oodatud vastuse. Mida me teeme, on teha POST päring meie kohalikule serverile kasutades curl.

(Ettevaatust: veenduge, et teie server on endiselt töökorras).

Code5

Kasutusele

Eeldusel, et teil on AWS-i konto, millel on sobivad poliitikad (need leiate Jetsi ametlikust dokumentatsioonist), on viimane asi, mida peate tegema, lihtsalt käivitada:

Code6

See laadib meie rakenduse AWS-i üles.

Kui juurutamine on lõppenud, antakse teile API värava lõpp-punkt (tõenäoliselt konsooli viimane rida).

Testige oma AWS Lambda rakendust

Nii et nüüd on lõpuks aeg testida meie kasutusele võetud rakendust!

Me saame seda teha, kasutades curl uuesti, kuid nüüd asendades localhost API gateway lõpp-punkti, meile anti.

Code7

Kokkuvõte

See on kõik, inimesed! Loodan, et teile meeldis see lühike pilk Ruby on Jets ja serverless maailma.

Loe edasi:

etEstonian