Nemrég találkoztam az AWS Chalice-val, és elbűvölt az általa kínált egyszerűség és használhatóság.
Az AWS Chalice egy szerver nélküli keretrendszer, amely lehetővé teszi szerver nélküli alkalmazások felépítését a Python használatával, és az Amazon API Gateway és az AWS Lambda használatával az AWS-en.
Úgy döntöttem, hogy kijátszom vele, és néhány percen belül valóban létrehozhattam és telepíthettem egy minta REST API-t az AWS-en.
Ebben a cikkben áttekintem azokat a lépéseket, amelyek szükségesek egy olyan kiszolgáló nélküli alkalmazás létrehozásához és telepítéséhez, amely a legfrissebb híreket kapja a Google Hírekből a Chalice segítségével.
Előfeltételek
Az oktatóanyaghoz AWS-fiók szükséges. Ha még nincs, akkor hozzon létre egyet. Alkalmazásunk csak a szabad réteg erőforrásait fogja felhasználni, így a költségeknek nem lehet kérdés.
Be kell állítania a biztonságot, és felhasználókat és szerepeket kell létrehoznia a hozzáféréshez.
Az AWS hitelesítő adatok konfigurálása
Chalice az AWS parancssori interfészt (CLI) használja a kulisszák mögött a projekt telepítéséhez. Ha korábban nem használta az AWS CLI-t az AWS-erőforrásokkal való munkavégzéshez, telepítheti az itt található útmutatásokat követve.
A telepítés után be kell állítania az AWS CLI-t az AWS-fiók hitelesítő adatainak használatához.

A Chalice telepítése
Ezután telepítenie kell a Chalice-t. Ebben az oktatóanyagban a Python 3-at fogjuk használni, de a Python bármelyik verzióját használhatja, amelyet az AWS Lambda támogat.
Ellenőrizze a Python telepítését

Telepítse a Chalice-t

Ellenőrizze a kehely telepítését

Hogyan hozzunk létre egy projektet
Ezután futtassa a chalice new-project
parancsot egy új projekt létrehozásához.

Ez létrehoz egy daily-news
mappát az aktuális könyvtárban. Láthatja, hogy Chalice több fájlt hozott létre ebben a mappában. Csak a cikkben dolgozunk a app.py
és requirements.txt
fájlokkal.

Vessünk egy pillantást a app.py
fájl tartalmára :
A new-project
parancs létrehozott egy minta alkalmazást daily-news
. Egyetlen nézetet határoz meg /
, amely visszahozza a JSON-testet, {"hello": "world"}
amikor meghívják . Most módosíthatja ezt a sablont, és további kódot adhat hozzá a Google-tól származó hírek olvasásához.
A Google RSS-hírcsatornáját fogjuk használni hírünk megszerzéséhez. Mivel az RSS-hírcsatornák XML formátumú adatokból állnak, az XML adatok elemzéséhez szükségünk lesz egy Gyönyörű Soup nevű Python könyvtárra.
A Beautiful Soup és annak XML-elemző könyvtárát a következőképpen telepítheti pip
:

Következő hozzá a következő import app.py
. Ez lényegében hozzáadja az importálást a urllib
HTTP hívások kezdeményezéséhez és bs4
az XML elemzéséhez.
Ezután hozzá kell adnia egy módszert az RSS-hírcsatorna letöltéséhez a Google-tól. urllib
HTTP-hívást fogunk használni a Google RSS-végpontjához, és megkapjuk a választ. Ezután elemezheti a választ, hogy kivonja a hír címét és a közzététel dátumát, és létrehozhassa a hírek listáját.
Ehhez adja hozzá a következő kódot a következőhöz app.py
:
Frissítse az index metódust a metódus app.py
meghívására, és ennek eredményeként adja vissza a hírek listáját.
Vegye figyelembe, hogy a kód működéséhez néhány függőséget telepített. Ezeket a függőségeket helyben telepítették, és futás közben nem lesznek elérhetőek az AWS Lambda tároló számára.
Ahhoz, hogy elérhetővé tegye őket az AWS Lambda számára, be kell csomagolnia őket a kódjával együtt.
Ehhez adja hozzá a következőket a requirements.txt
fájlhoz. A Chalice ezeket a függőségeket a kód részeként csomagolja az összeállítás során, és a Lambda funkció részeként tölti fel.
A projekt telepítése
Telepítsük ezt az alkalmazást. A daily-news
mappából futtassa a chalice deploy
parancsot.

Ez telepíti az API-t az Amazon API Gateway-en, és új funkciót hoz létre az AWS Lambda-n.


Próbáljuk meg most elérni az API-t. Ezzel curl
meghívhatja az API-átjáró URL-jét, amelyet közben kapott chalice deploy
. Az API hívás válasza a hírek listáját adja vissza, az alábbiak szerint.

Hogyan takarítsuk meg az erőforrásokat
A chalice delete
paranccsal törölheti a parancs futtatásakor létrehozott összes erőforrást is chalice deploy
.

Következtetés
Gratulálunk! Most telepített egy kiszolgáló nélküli alkalmazást az AWS-re a Chalice segítségével. Nem volt túl nehéz, igaz?
Most folytathatja a app.py
fájl bármilyen módosítását, és újra chalice deploy
futtathatja a módosítások áttelepítését.
A Chalice segítségével integrálhatja a szerver nélküli alkalmazást az Amazon S3, Amazon SNS, Amazon SQS és más AWS szolgáltatásokkal. Vessen egy pillantást az oktatóanyagokra, és folytassa a felfedezést. Az oktatóanyag teljes forráskódja itt található.
Köszönöm, hogy eddig velem maradtál. Remélem tetszett a cikk. Kapcsolatba léphet velem a LinkedIn-en, ahol rendszeresen megvitatom a technológiát és az életet. Vessen egy pillantást a Medium néhány egyéb cikkére is. Jó olvasást ?