Amazon API Gateway ile çalışma

AWS Lambda işlevi şu tarihte çağrılabilir: HTTPSurl. GET, POST, PUT üzerinde yapılabilir. HTTPS url çağrıldığında, AWS Lambda işlevi de tetiklenebilir ve veriler kullanılarak HTTPS'ye geçirilebilir.get/post DynamoDB'ye eklemek veya posta göndermek vb. için kullanılmak üzere AWS Lambda içinde kullanılabilir hale getirilebilir.

Bu bölüm, AWS lambda ve API Gateway ile çalışmaya dahil olan çeşitli süreçleri ayrıntılı olarak tartışır.

İlgili süreçler

Aşağıdakiler, AWS lambda ve API Gateway ile çalışmaya dahil olan süreçlerdir -

  • İzin için IAM rolü oluşturun
  • AWS lambda işlevi oluşturun
  • API Ağ Geçidi Oluşturun
  • Lambda işlevini api ağ geçidine bağlama
  • API ağ geçidine veri aktarımı

API ağ geçidi ve AWS Lambda'nın çalışmasını açıklayan temel bir şema burada verilmiştir -

Bu süreçler, ilgili ekran görüntüleriyle bu bölümde ayrıntılı olarak açıklanmıştır.

İzin için IAM rolü oluşturun

Aşağıda gösterildiği gibi Amazon hizmetlerinden, Lambda işlevi tarafından kullanılacak roller oluşturmak için IAM'yi seçin.

IAM'ye gidin ve seçin Roles sol taraftaki bölümden aşağıda gösterildiği gibi -

Tıklayın Create role Lambda işlevi için.

Lambda'yı seçin ve tıklayın Permissionsaltta. API Ağ Geçidi ve Lambda için gerekli izni seçin.

Aramada API ağ geçidini arayın ve size ilgili tüm izinleri listeleyecektir. Burada, aşağıda gösterildiği gibi API ağ geçidine tam erişimi seçtik -

Şimdi, API ağ geçidini arayın ve size ilgili tüm izinleri listeleyecektir. Burada, aşağıda gösterildiği gibi API ağ geçidine tam erişimi seçtik -

Aynı işlemi Politikalar için de tekrarlamalısınız.

Gerekli politikaları seçmeyi tamamladığınızda, tıklayın Reviewsonraki adım için. Aşağıda gösterildiği gibi seçiminize göre rolün adını girin -

Role eklenmiş ilkeleri görüntüler. TıklayınCreate role ve rol oluşturma işlemini tamamladık ve lambda işlevi ile devam edebiliriz.

AWS Lambda İşlevi Oluşturun

AWS hizmetlerine gidin ve onu api ağ geçidi ile bağlamak üzere bir işlev oluşturmak için lambda hizmetine tıklayın.

Lambda işlevi için kullanıcı arayüzü ekranı aşağıda gösterilmiştir. TıklayınCreate function Lambda işlevinin oluşturulmasına devam etmek için düğmesine basın.

Fonksiyonun adını girin ve yukarıda oluşturduğumuz mevcut rolü seçin.

İsmi olan fonksiyonun lambdawithapigateway başarıyla oluşturuldu.

Burada kullanacağımızı unutmayın nodejskodu yazmak için çalışma zamanı. AWS koduhelloworld mesaj aşağıda gösterildiği gibidir -

AWS Lambda kodu şurada mevcuttur: index.jsdosya. İşleyici adı verilen işlevin parametreleri vardır:events, context ve callback.

Geri arama işlevi temelde hata ve başarı mesajına sahiptir. Burada hatayla ilgili herhangi bir kodumuz olmadığına dikkat edin, bu nedenle null geçirilir ve başarı mesajıHelloWorld from lambda.

Son olarak, eklenen değişiklikleri kaydedin ve Lambda işlevini API ağ geçidine eklemeye devam edelim.

API Ağ Geçidi Oluşturun

AWS hesabınıza giriş yapın ve aşağıda gösterildiği gibi API Gateway'i açın -

API Ağ Geçidi'ne tıklayın ve sizi yeni API ağ geçidinin oluşturulabileceği ekrana yönlendirecektir.

Tıklayın Create API ve aşağıda gösterildiği gibi ayrıntıları ekleyin -

Tıkla Create APIEkranın sağ tarafındaki düğmesine basın. Bu, yeni oluşturulan API'yi ekranın sol tarafında gösterecektir.

Tıkla Actions API için yeni bir kaynak oluşturmak için açılır menü.

Şimdi, aşağıda gösterildiği gibi yeni bir kaynak oluşturun -

Giriş Resource NameAşağıda gösterildiği gibi. Sonunda oluşturulan url'ye girilen kaynağın adını göreceksiniz. TıklayınCreate Resource ve ekranda aşağıdaki gibi göreceksiniz -

Ekle GET/POSTaşağıda gösterildiği gibi oluşturulan kaynağa yöntemler. Yöntemi seçinActions yıkılmak.

Tıkla GET yöntemi API'ye ekleme yöntemi.

Sonraki adım, onu Lambda işlevi ile entegre edecek entegrasyondur. Şimdi Lambda işlevini aşağıda gösterildiği gibi ekleyin -

Lambda İşlevini API Ağ Geçidine Bağlayın

Daha önce oluşturulan lambda işlevini seçin.

Değişiklikleri kaydedin ve aşağıda gösterildiği gibi izin isteyen bir iletişim kutusu görebilirsiniz -

Tıklayın OKizin için. Bu, API ağ geçidi HTTP isteği ile Lambda işlevi arasındaki yürütme ayrıntılarıdır -

Şimdi, API ağ geçidi değişikliklerini konuşlandıralım. Bu amaçla, seçmemiz gerekenDeploy API itibaren Actions aşağıda gösterildiği gibi açılır -

Seçiniz Deploy API. Dağıtım durumunu soracaktır. SeçinizNew Stage Dağıtım aşaması açılır listesinden aşama adını ekleyin Production.

Tıklayın Deploy düğmesi ve sizi aşağıda gösterildiği gibi url'ye yönlendirecektir -

Seçin GETurl'yi almak için sol taraftan yöntem. Lambda işlevinden gelen mesajı görmek için url'yi yeni bir sekmede açın.

Bu, AWS Lambda ve AWS API Gateway ile çalışmanın temel bir örneğidir. Yukarıdaki örnekte, mesajı Lambda fonksiyonunda kodladık.

Şimdi API Gateway'den mesaj detaylarını alalım. HTTPS çağrısının farklı bir etki alanından çağrılması gerekirse, örneğin API'ye AJAX çağrısı, oluşturulan API ağ geçidi için CORS'u etkinleştirmemiz gerekir.

API için oluşturulan kaynağı seçin ve tıklayın Actions açılır -

Şimdi, Enable CORS aşağıdaki ekranı açacak -

CORS'U ETKİNLEŞTİRMEK için birkaç yöntem kullanabilirsiniz. Access-Control-Allow-Origin * olarak işaretlenmiştir; bu, herhangi bir etki alanından API ağ geçidinden içerik alınmasına izin vereceği anlamına gelir.

API ile çalışmak istediğiniz alan adını da belirtebilirsiniz. TıklayınEnable CORS and replace existing CORS headers düğmesi ve aşağıda gösterildiği gibi bir onay mesajı gösterecektir -

Tıklayın Yes, replace existing valuesetkinleştirmek için düğmesine basın. Enable CORS ekran aşağıda gösterildiği gibi görünür -

API Ağ Geçidine Veri Aktarma

API Gateway'de oluşturulan API'yi açın displayhelloworld aşağıda gösterildiği gibi -

Tıklayın Integration Request aşağıda gösterildiği gibi veri göndermek için -

Seç Body Mapping Templates ve ekle Content-Type bu örnek için application/json. Eklenen içerik türüne tıklayın, ayrıntıları aşağıdaki gibi ekleyin -

Şimdi, şablonu aşağıda gösterildiği gibi JSON biçiminde ekleyin -

API Gateway'den veri almak ve AWS Lambda ile paylaşmak için mesajı parametre olarak aldığımızı gözlemleyin. Ayrıntıları almak için sözdizimi yukarıda gösterildiği gibidir.

Şimdi, değişiklikleri API Ağ Geçidi URL'sinde kullanılabilir hale getirmek için API'yi dağıtın. Bunun için, verileri API Ağ Geçidi URL'sine göre görüntülemek için Lambda işlevini değiştirmemiz gerekiyor. Lambda işlevinin kodu aşağıda verilmiştir. Mesajı olaydan aldığımızı ve geri aramaya geçtiğimizi unutmayın.

exports.handler = (event, context, callback) => {
   let message = event.message;
   callback(null, message);
};

Şimdi, değişiklikleri Lambda'ya kaydedin ve değişiklikleri görmek için URL'yi tıklayın. Aşağıda verilen ekran görüntüsüne bakın -

Aşağıda gösterilen URL'yi tıklayın -

https://rw2ek1xung.execute-api.us-east-
1.amazonaws.com/prod/hello?message=hello%20from%20api%20gateway

Burada iletiyi sorgu dizesi olarak GET url'sine geçirdiğimizi gözlemleyin. Ardından, çıktıyı aşağıda gösterildiği gibi gözlemleyebilirsiniz -

URL'den mesaja gönderilen detayları okur ve tarayıcıda da aynısını görüntüler.