AWS Lambda ile Python

ilteriskeskin

Ali İlteriş Keskin

Posted on January 22, 2022

AWS Lambda ile Python

Herkese iyi hafta sonları. Bir süredir heyboosterda
Django ile yazdığımız bazı endpointleri
AWS Lambdaya taşıyoruz. Bu yazımda da
basit bir Lambda function nasıl oluşturulur, API Gateway ile nasıl bir endpoint oluştururuz
bu soruların cevabını vereceğim. Hazırsak kemerleri takalım ✈️


Not:

AWS'da açacağınız bir hesap ilk 1 yıl ücretsizdir.


AWS Lambda Nedir?

AWS Lambda, sunucu tedarik etmeden veya yönetmeden neredeyse her tür uygulama veya arka uç hizmeti için kod çalıştırmanıza olanak tanıyan, sunucusuz, olaya dayalı bir işlem hizmetidir. Lambda'yı 200'ün üzerinde AWS hizmeti ve hizmet olarak yazılım (SaaS) uygulamasından tetikleyebilir ve yalnızca kullandığınız kadar ödeyebilirsiniz.

Yani Lambda aslında kullandığın kadar öde mantığında çalışan ve serverless bir kod çalıştırma ortamı sunan AWS teknolojisidir. Ölçeklemek ve yönetmek oldukça kolaydır.


API Gateway Nedir?

Amazon API Gateway, geliştiriciler tarafından istenen ölçekte API'ler oluşturulup yayımlanmasını, bunların izlenmesini, bakımın yapılmasını ve güvenliğinin sağlanmasını mümkün kılan, tam olarak yönetilen bir hizmettir.


Not:

Aşağıdaki servisleri açmak için AWS'da arama ekranına servis ismini yazmanız yeterlidir.


AWS Lambda Function Oluşturalım

Bu kısımda biraz ekran görüntüleri ile devam etmemiz gerekecek. Bunu ben de istemezdim ama durum
bunu gerektiriyor :(

İlk olarak Lambda servis ekranına giriyoruz ve Create function butouna basıyoruz.

lambda1

Ardından Lambda functionımıza bir isim veriyoruz, bir dil seçimi yapıyoruz ve sistem mimarisini seçiyoruz. Sistem mimarisi olarak ben arm64 seçiyorum. Nedeni ise arm64 x86_64'e kıyasla daha az maliyetli. Benim yapılandırmam aşağıdaki gibi.

lambda2

"Create function" butonuna tıkladıktan sonra artık bir Lambda functionımız oluşmuş oldu.

Image description

Yukarıdaki gibi bir ekran bizi karşılıyor. Bu ekranda kodunuzu düzenleyebilirsiniz. Ben şimdilik bu şekilde bırakacağım. E peki biz nereye istek atacağız. Gelen cevabı nasıl görüntüleyeceğiz. Hemen aşağıdaki başlığa geçelim.

API Gateway Oluşturalım

İstek almak ve bu istekleri karşılayabilmek için bir API Gateway oluşturmamız gerek. İlk olarak AWS API Gateway servisine giriyoruz.

apigateway1

Yukarıdaki alanda HTTP API kısmındaki Build butonuna tıklıyoruz ve yapılandırma ekranı bizi karşılıyor. Bu ekranda ilk olarak integrations kısmından istediğimiz servisi seçeceğiz. Biz şu an Lambda ile uğraştığımız için "Lambda" yazan seçeneğe tıklıyoruz. Ardından bizim lambda functionımızı belirtmemiz gerekiyor. Onu da seçtikten sonra API ismi girip "Next" butonuna tıklayabiliriz. Benim yapılandırmam aşağıdaki gibi.

apigateway2

Şimdi ise route ayarlarını yapmalıyız. Burda da HTTP methodu olarak GET seçiyorum ve diğer kısımları olduğu gibi bırakıyorum. "Resource path" alanını özelleştirebilirsiniz. Bir sonraki adımı da "Next" diyerek geçiyorum.

apigateway3

Bize yaptığımız ayarları gösteren son adımı da kontrol edip "Create" dedikten sonra artık hazırız 🎉

apigateway4

Bizi her şey bittikten sonra karşılayan ekranda bir Invoke URL var. O URLin sonuna ayarladığınız resouce pathi girerek oluşturduğunuz API'yi test edebilirsiniz. Eğer resource pathinizi hatırlamıyorsanız Routes menüsünden bakabilirsiniz.

apigateway5

Artık AWS Lambda üzerinde çalışan bir API'niz oldu. Tebrik ederim 😃


Umarım yazı işinize yaramıştır. Anlamadığınız yerleri ya da isteklerinizi, önerilerinizi bana iletbilirsiniz. Keyifli haftalar dilerim :)


Yararlandığım Kaynaklar

💖 💪 🙅 🚩
ilteriskeskin
Ali İlteriş Keskin

Posted on January 22, 2022

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related