AWS Lambda kullanarak Amazon API Gateway'e giriş

AWS Lambda kullanarak Amazon API Gateway'e giriş

Kaynak Düğüm: 1860150

Giriş

API nedir?

Basit bir ifadeyle, API bir habercidir; bunu bazı örneklerle anlayalım. Diyelim ki karnınız acıktı ve evde bir şeyler pişirmeniz gerekiyor. Erişte yapmak istiyorsanız, malzemeleri dolaptan çıkarın, ocağı yakın ve kendiniz yapın. Bu, kendi kaynaklarıyla kendi başına bir şeyler yapan bir programdır. Ancak pizza istediğinizi varsayalım - malzemelere sahip değilsiniz ve evdeki fırınınız güzel bir çıtır çıtır hamur yapmak için pek uygun değil. Demek onun yerine bir pizzacıya gidiyorsun. Ancak evde olduğu gibi, mutfağa gidip malzemelerini pizza yapmak için kullanmaya başlayamazsınız. Eşyalarının üzerinde senin kirli ellerini istemiyorlar! Peki ne yapacaksın? Tezgaha gitmeli ve sipariş vermelisiniz - hangi pizzaları sipariş edebileceğinizi ve hangi sosları veya diğer seçenekleri seçebileceğinizi listeleyen bir menü olacak. Bu bir API'dir.

Bir uygulama Programlama Arayüzü (API), iki yazılım programının nasıl etkileşime girmesi gerektiğini belirleyen bir dizi kuraldır.

Bir API, bir yazılım programının başka bir yazılım programının işlevselliğine erişmesine izin verir. Örneğin, internetten veri alması gereken bir yazılım programınız varsa, bu programı bir sunucudan veri istemek için bir API kullanabilir. Sunucu daha sonra istenen verilerle yanıt verir ve yazılım programı bunu gerektiği gibi kullanabilir.

API'ler, farklı yazılım programlarının birbirleriyle iletişim kurmasına ve veri ve işlevleri paylaşmasına izin vermek için kullanılır. Farklı sistemlerin birlikte çalışmasına izin verdiği ve daha karmaşık ve güçlü yazılım uygulamalarının oluşturulmasını sağladığı için modern yazılım geliştirmenin önemli bir parçasıdır.

HTTP API'leri

HTTP API, veri göndermek ve almak için HTTP protokolünü kullanan bir API türüdür. Yazılım programlarının HTTP isteklerini ve yanıtlarını kullanarak veri gönderip almasına izin verir. Bu istekler ve yanıtlar, düz metin, JSON veya XML gibi çeşitli biçimlerde olabilir. Web uygulamaları, mobil uygulamalar ve mikro hizmetler dahil olmak üzere çok çeşitli uygulamalarda yaygın olarak kullanılırlar. Bu API'ler, REST API'lerinden nispeten daha ucuzdur ve daha sonrakilere göre daha az işlevselliğe sahiptir.

REST API'leri

REST API, REST (Temsili Durum Aktarımı) adı verilen bir dizi mimari ilkeyi izleyen bir API türüdür. REST, web API'leri oluşturmak için bir dizi kısıtlama tanımlayan bir yazılım mimarisi stilidir.

Durum bilgisi olan API'ler

Durum bilgisi olan bir API, her müşteri isteği hakkında bilgi tutan ve bu bilgiyi sonraki istekleri işlemek için kullanan bir API'dir. Bu, API'nin, istek parametreleri gibi her istekle ilgili verileri bir sunucu tarafı oturumunda depoladığı anlamına gelir. Bu veriler daha sonra aynı müşteriden gelen sonraki istekleri işlemek için kullanılır.

Durum bilgisiz API'ler

Öte yandan, durum bilgisiz bir API, müşteri istekleri hakkında bilgi tutmaz. Önceki isteklerle ilgili herhangi bir veri depolamadan her isteği bağımsız olarak işler. Bu, API'nin bir sunucu tarafı oturumu sürdürmediği ve sonraki istekleri işlemek için önceki isteklerden gelen verileri kullanmadığı anlamına gelir.

Durum Bilgili ve Durum Bilgisiz API'ler Arasındaki Temel Farklılıklar

Aşağıda, durum bilgisi olan ve durum bilgisi olmayan API'ler arasındaki bazı önemli farklar yer almaktadır:

AÇIKLAMALI API'LER

DEVLETSİZ API'LER

1. İstemci istekleriyle ilgili verileri depolamak için bir sunucu tarafı oturumu gerektirin 1. İstemci istekleriyle ilgili verileri depolamak için sunucu tarafı oturumu gerekmez
2. Bunlar, zaman alan verileri gerektirdiklerinden ve depoladıklarından, bazen Durumsuz API'lerden daha yavaş olabilir. 2. Durum bilgisiz API'ler daha hızlıdır çünkü bunlar istekler hakkında veri gerektirmez ve depolamaz.
3. Durum bilgisi olan API'lerin ölçeklendirilmesi kolay değildir  3. Önceki isteklerle ilgili verileri tutmaları gerekmediğinden ölçeklendirmeleri daha kolaydır.
4. Genel olarak Durum bilgisi olmayan API'lerden daha az güvenli kabul edilir 4. Bunlar genellikle daha güvenli kabul edilir.

Amazon API Ağ Geçidi nedir?

Amazon API Gateway, hem durum bilgisi olan (websocket) hem de durum bilgisi olmayan (HTTP ve REST) ​​API'ler oluşturmak, sürdürmek ve izlemek için kullanılan bir AWS Hizmetidir. Bu API'leri şunlara erişmek için kullanabiliriz:

  1. Herhangi bir AWS hizmeti
  2. AWS bulutunda depolanan veriler (S3 klasörü gibi)
  3. Diğer web hizmetleri.

Bir API geliştiricisiyseniz, API'lerinizi üçüncü taraf geliştiricilere de kolayca yapabilirsiniz.

AWS API Gateway'in temel olarak iki tür kullanıcısı vardır.

  1. i) API Gateway'de gerekli işlevselliği etkinleştirmek için bir API oluşturan ve dağıtan API Geliştiricileri
  2. ii) API geliştiricisinin müşterisi olan Uygulama Geliştiricileri.

Amazon API Ağ Geçidi Mimarisi

mimari

Bu mimari, sunucusuz uygulamaların tutarlı ve entegre geliştirici deneyimiyle nasıl oluşturulabileceğini gösterir. API Gateway, son kullanıcılardan veri merkezlerine kadar, binlerce eşzamanlı çağrıyı kabul etme ve işleme, trafik yönetimi, yetkilendirme, izleme, erişim kontrolü vb. gibi ilgili tüm görevleri yerine getirir.

Amazon API Ağ Geçidi Özellikleri

  1. Hem durum bilgisi olan hem de durum bilgisi olmayan API'leri destekler. (Örnekler: Websocket, HTTP ve REST).
  2. Güçlü kimlik doğrulama mekanizmaları arasında AWS Identity, Access Management Policies ve Lambda yetkilendirici bulunur.
  3. API geliştiricilerinin API'lerini yayınlayabilecekleri geliştirici portalı.
  4. Alarm ayarlama seçeneği de dahil olmak üzere CloudWatch için yürütme ve erişim kaydı.
  5. Aşağıdakiler gibi diğer AWS Hizmetleriyle entegrasyon AWS Lambda ve AWS Kinesis.
  6. AWS WAF ile entegrasyon, web istismarlarına karşı koruma için, AWS X-Ray ise performans gecikmelerini anlamak ve vurgulamak için kullanılır.

Amazon API Gateway'e Başlarken

Şimdi sunucusuz bir API oluşturacağız. Sunucusuz bir API'de, sunucuları yönetmek için zaman harcamak yerine uygulamalarımıza odaklanabiliriz. Şu şekilde çalışır:

  • API istemci tarafından çağrılır
  • API, lambda'ya istek gönderir
  • Lambda, lambda işlevini yürütür ve sonucu API'ye geri gönderir
  • API, lambda'dan sonucu aldıktan sonra istemciye yanıt verir.

http api'si

Adım 1 – Bir lambda işlevi oluşturun

Lambda işlevi, API'mizin arka ucu için kullanılır. Lambda, kodu yalnızca gerektiğinde çalıştırır. Ayrıca, günde birkaç istekten saniyede bin isteğe kadar otomatik olarak ölçeklenir.

lambada işlevi oluştur

Bir lambda işlevi oluşturma:

1) https://console.aws.amazon.com/lambda adresindeki lambda konsoluna gidin.

2) İşlev oluştur'a tıklayın.

3) Fonksiyon adı olarak “fonksiyonum”u girin.

4) Çalışma zamanı olarak Python 3.9'u seçin.

5) Bu işlev için, varsayılan izinler bu gösteri için yeterli olduğundan, İzinler ve Gelişmiş Ayarlar sekmesinde herhangi bir değişiklik yapmamız gerekmeyecek.

4) İşlev oluştur'a tıklayın.

ADIM 2 – HTTP API oluşturma

Amazon API

HTTP API, Lambda işleviniz için bir HTTP uç noktası sağlar. Şu şekilde çalışır:

  • İstemci, sorguyu HTTP API'ye gönderir
  • API, lambda işlevini çalıştıran lambda'yı tetikler.
  • Lambda sonucu API'ye gönderir
  • API, istemciye alınan yanıtla yanıt verir

HTTP API oluşturma adımları

1) https://console.aws.amazon.com/apigateway adresindeki API Gateway konsolunu ziyaret edin.

2) İlk HTTP API'nizi oluşturmak için Oluştur'a tıklayın

3) Entegrasyon için Entegrasyon ekle'ye tıklayın

4) Lambda'yı seçin.

5) Lambda fonksiyonunuzu my-function girin.

6) API adı için my-http-api'yi girin.

7) İleri'ye tıklayın.

8) Sizin için oluşturulan rotayı gözden geçirin ve ardından İleri'yi seçin.

9) Sizin için oluşturulan aşamayı gözden geçirin ve ardından İleri'yi seçin.

10) Oluştur'a tıklayın.

ADIM 3 API'nizi test edin –

Ardından, çalıştığından emin olmak için API'mizi test etmemiz gerekiyor. Bunun için API'mizi çağırmak için bir web tarayıcısı kullanacağız.

Amazon API

API'mizi test etmek için

  1. https://console.aws.amazon.com/apigateway adresindeki API Gateway konsoluna gidin.
  2. API'nizi seçin.
  3. API'nizin çağırma URL'sini not edin. (yukarıdaki resme bakın)
  4. API'nizin çağırma URL'sini kopyalayın ve bir web tarayıcısına yapıştırın. Lambda işlevinizi çağırmak için çağırma URL'sini ve lambda işlevinizin adını birleştirin. API Ağ Geçidi konsolu, varsayılan olarak Lambda işlevinizin "işlevim" adını kullanarak bir yol oluşturur. 

    Tam URL, https://abcdef123.execute-api.us-east-2.amazonaws.com/my-function şeklinde görünmelidir. Bu URL'yi yüklediğinizde, tarayıcınız tarafından API'ye bir GET isteği gönderilir.

  1. “Lambda'dan Merhaba!” Yazısını görmelisiniz. tarayıcınızda. Dolayısıyla, API'nizin yanıtı doğrulanmıştır.

Amazon API

Sonuç

Amazon API Gateway ve AWS Lambda kullanarak ilk HTTP API'mizi oluşturduk. Ayrıca, bunun çeşitli kullanım durumlarını keşfedebiliriz ve benzer şekilde, daha fazla işlevsellik sağlayan REST API de oluşturabiliriz.

Bu makaleyi beğendiniz mi? Aşağıdaki yorumda bize düşüncelerinizi bildirin. Ayrıca bundan sonra hangi makaleyi okumak istediğinizi belirtmeyi unutmayın.

Zaman Damgası:

Den fazla Analitik Vidhya