AWS API Gateway ile Sunucusuz Node.js API'si Nasıl Dağıtılır?

Aws Api Gateway Ile Sunucusuz Node Js Api Si Nasil Dagitilir



AWS, geniş bir hizmet portföyüne sahip bir bulut bilişim platformudur. Veri depolamadan veri manipülasyonuna ve veri analizine kadar bu hizmetler BT Sektörünün farklı yönlerini kapsar. Bugün AWS ayrıca çeşitli geliştirme dillerini ve çalışma zamanı ortamlarını da desteklemektedir. Bu tür hizmetlerin en yaygın örneklerinden biri AWS Lambda'dır

AWS Lambda'sı AWS'nin, kullanıcılarının sunucuları sağlamadan veya yönetmeden kodlarını yürütmelerine olanak tanıyan olay odaklı bir bilgi işlem hizmetidir. Lambda, tüm bilgi işlem altyapısını ve kaynakların yönetimini verimli bir şekilde yönetir. Lambda hizmeti tarafından desteklenen Go, Ruby, Python vb. gibi birden fazla geliştirme dili vardır. Lambda aynı zamanda yalnızca kullanıcı tarafından tüketilen hesaplama süresi için ücret talep ettiğinden uygun maliyetli bir hizmet olarak kabul edilir. Lambda işlevine sağlanan kod yürütme durumunda olmadığında ek ücret alınmaz.

Devamını oku : AWS Lambda'yı Kullanmaya Başlamak







Hızlı Taslak



Bu makalede aşağıdaki hususlar açıklanmaktadır:



Sunucusuz Çerçeve Nedir?

Dönem “Sunucusuz” sunucuların sağlanmasının ve bakımının üçüncü taraf yazılımlar veya bulut sağlayıcılar tarafından yönetildiği terminolojiyi ifade eder. Bu tür Çerçeveler, kullanıcıların sunucuların bakımını yapmak yerine temel iş mantığına odaklanmasına olanak tanır. Günümüzde Sunucusuz Çerçeveler Teknoloji devlerinin dikkatini çekmiş ve çok büyük faydalar sunmaktadır.





Ayrıca sunucuların servis sağlayıcılar tarafından sağlanması ve yönetilmesi nedeniyle bu aynı zamanda uygun maliyetli bir çözümdür. AWS'de Lambda, üzerinde çalışmak için yalnızca kullanıcıdan gelen kodu gerektirdiğinden Sunucusuz bir hizmet olarak kabul edilir. AWS Lambda ile kullanıcılar, farklı çalışma zamanı ortamlarındaki uygulamaları uygun maliyetli bir şekilde kolayca oluşturabilir ve ölçeklendirebilir.

API nedir?

API'si için bir kısaltmadır 'Uygulama programlama Arayüzü'. API'nin resmi tanıtımı, yazılımın veya bir uygulamanın iki bileşeninin iletişim için yararlı bilgi alışverişinde bulunmasına olanak tanıyan bir dizi tanım ve protokol olduğunu içerir.



API'nin gerçek zamanlı uygulaması bir web tarayıcısı kullanmaktır. Bir kullanıcı bir web sitesini aradığında, istek web sitesinin bulunduğu sunucuya iletilir. Sunucu ve tarayıcı arasındaki bu iletişim API aracılığıyla gerçekleşir.

API Ağ Geçidi nedir?

API Gateway, API Yönetim aracına benzeyen, tam olarak yönetilen bir AWS hizmetidir. Geliştiriciler, API ağ geçidini kullanarak farklı API'leri kolayca oluşturabilir, yönetebilir, yayınlayabilir ve ölçeklendirebilir. Benzer şekilde API ağ geçidi, kullanıcıların sunucu tarafında çalışan diğer mikro hizmetler ile iletişim kurmasına olanak tanır. Kullanıcıdan girdiyi alır, işler ve ardından uygun mikro hizmetlere yönlendirir. Bu mikro hizmetler daha sonra bu girdiyi çıktı üretimi için işleyecektir.

API Gateway'deki Farklı API Türleri Nelerdir?

API ağ geçidi, aşağıda belirtildiği gibi üç farklı API türü için yönetim hizmetleri sağlar:

HTTP API'si: Bu API, yalnızca istemci tarafıyla sınırlı olan web geliştirmede yaygın olarak kullanılır. Bu tür API'ler özel veya genel olarak sınıflandırılabilir.

Dinlenme API'si: REST terimi şu anlama gelir: “Temsil Durumu Aktarım API'si”. Uygulamanın ön ucunu ve arka ucunu ayıran en yaygın kullanılan yaklaşımlardan biridir. REST API'leri doğası gereği durum bilgisine sahip değildir ve geliştirme ve uygulama açısından esnektir.

WebSocket API'si: Bu tür API'ler, soket iletişimi söz konusu olduğunda kullanılır. WebSocket API, kullanıcıların Web geliştirmede çift yönlü tam çift yönlü iletişim için yuvalar oluşturmasına olanak tanır. Bu API'ler JavaScript'te yazılmıştır.

API Ağ Geçidi ile Sunucusuz Node.js API'si Nasıl Dağıtılır?

API Ağ Geçidi ile Serverless Node.js API'sinin dağıtımı için S3 paketini, Lambda İşlevini ve API ağ geçidini kullanacağız. S3 kovası uygulamanın kodunu içerecektir. Kovanın benzersiz URI'si, işleyici olarak Lambda İşlevine sağlanacaktır. API ağ geçidi, kullanıcının girişini işleyecek ve uygun çıkışı sağlayacak Lambda İşlevine tetikleyici olarak eklenecektir.

API ağ geçidiyle Serverless Node.js API'sini dağıtmaya yönelik adımlar aşağıda verilmiştir:

Adım 1: Lambda İşlevi Oluşturun

Lambda İşlevi oluşturmak için şuraya erişin: “Lambda” servisinden AWS Yönetim Konsolu :

Daha fazla bilgi edin: “Python Runtime ile Lambda Fonksiyonu Nasıl Oluşturulur” .

Lambda Fonksiyonu arayüzünde, “İşlev oluştur” düğme:

İşlev Oluştur arayüzünden, “Sıfırdan yazar” seçenek:

Sonra geliyor “Temel bilgiler” bölüm. Bu bölümde Lambda fonksiyonunun adını girin. 'Fonksiyon adı' :

Tıkla “İşlev oluştur” arayüzün alt kısmında bulunan düğme:

Burada, işlev yaratıldı başarıyla :

2. Adım: API Ağ Geçidi Oluşturun

Bir sonraki adım bir API Ağ Geçidi oluşturmaktır. Bu amaçla şuraya erişin: “API Ağ Geçidi” servisinden AWS Yönetim Konsolu :

API Ağ Geçidi arayüzünü aşağı kaydırın ve 'İnşa etmek' seçeneğinden REST API'si engellemek:

Üzerinde “API oluştur” arayüz, seçme aşağıdaki vurgulanan seçenek . Biz bir bina inşa ederken Dinlenme API'si sıfırdan aşağıdaki seçenekleri seçtik:

İçinde Ayarlar Aynı arayüzdeki bölümde API'nin adını girin. “API adı” Metin alanı:

Tıkla “API oluştur” düğme:

API'yi başarıyla oluşturduktan sonra, 'Hareketler' düğmesini tıklayın ve API'nin kaynaklarını ve yöntemlerini yapılandırmak için aşağıdaki vurgulanan seçenekleri seçin:

Daha sonra, API'nin adını girin. “Kaynak Adı” Metin alanı. İçinde Kaynak Yolu, kullanıcılar kaynakların yolunu belirtebilir. Belirtilen bu yol daha sonra istekleri işlemek için orijinal yöntemlerle birleştirilecektir. Tıkla “Kaynak Oluşturun” düğme:

Kaynağı oluşturduktan sonra, 'Hareketler' tekrar sekmeyi seçin ve “Kaynak Oluşturun” API içindeki yöntemleri ve kaynakları tanımlama yöntemi:

Adını belirtin “Kaynak Adı” alanına tıklayın ve “Kaynak Oluşturun” düğme:

İç içe geçmiş kaynakları yapılandırdıktan sonra, 'Hareketler' düğmesine tıklayın ve “Yöntem Oluştur” düğmesi Aşağıya doğru açılan menü :

API'mizin çalışmasını aşağıdakileri kullanarak test etmek istiyoruz: AL isteği Node.js'de. Bu nedenle, Yöntemler arayüzünde şunu seçeceğiz: 'ELDE ETMEK' rica etmek:

Seçtikten sonra AL isteği , tıkla 'kontrol etmek' Değişiklikleri onaylamak için düğme:

Üzerinde 'ELDE ETMEK' method arayüzüne daha önce oluşturduğumuz Lambda fonksiyonuna isim verin ve aşağıdaki konfigürasyonları yapın. Bundan sonra vurdu 'Kaydetmek' Değişiklikleri onaylamak için düğme:

Tıkladıktan sonra 'Kaydetmek' düğmesine bastığınızda aşağıdaki iletişim kutusu görünecektir. Tıkla 'TAMAM' düğme:

Benzer şekilde ilk yöntemde izlediğimiz adımların aynısını takip ederek bir yöntem daha oluşturun. Kullanıcılar, gereksinimlerine göre bir API içerisinde birden fazla yöntem oluşturabilir. Tüm Yöntemleri yapılandırdıktan sonra, 'Hareketler' sekmesini seçin ve 'API'yi dağıt' seçenek:

Bu, aşağıdaki iletişim kutusunu görüntüleyecektir. İçinde “Dağıtım aşaması” ayrıntıları sağlayın. Sonra geliyor 'Sahne adı' Aşama adını belirtmek için alan. Tıkla 'Dağıtmak' düğme:

API'si oldu başarıyla oluşturuldu :

Aşağı kaydır arayüze tıklayın ve 'Değişiklikleri Kaydet' düğme:

3. Adım: S3 Kovasını Oluşturun

Bu adımda kodu saklayacak bir kova oluşturacağız. Bu kod Lambda işleviyle ilişkilendirilecek ve API, kodun içinde yapılandırılan nitelikleri almak için kullanılacaktır.

Bir S3 klasörü oluşturmak için 'S3' arama çubuğunda hizmet AWS Yönetim Konsolu. Görüntülenen sonuçlardan hizmetin adına dokunun:

S3 konsolunda, “Paket oluştur” işlemi başlatma seçeneği:

İçinde Genel konfigürasyon bölümünde, paket için genel olarak benzersiz bir tanımlayıcı sağlayın. vurgulanan metin alanı :

tutarak ayarlar gibi varsayılan , tıkla “Paket oluştur” arayüzün altındaki düğme:

Bu kovayı yaratacaktır. Şimdi, kodu S3 klasörüne yüklemek için bir basit Düğüm JS kodu içinde GitHub depo. İçindeki kodu indirin Zip formatı :

İndirdikten sonra Sıkıştırılmış dosya , git S3 Kontrol Paneli ve kovayı seçin. Bir sonraki arayüzde, 'Yüklemek' düğmesi ve yüklemek the Sıkıştırılmış dosya kovaya:

Daha fazla bilgi edin: Amazon Basit Depolama Hizmetine Nesneler Nasıl Yüklenir?

öğesine dokunun 'Dosya Ekle' arayüzün sağında, yanında bulunan düğme 'Klasörü eklemek' düğme. Ekledikten sonra Sıkıştırılmış dosya kovaya, vur 'Yüklemek' arayüzün altındaki düğme:

dosya oldu başarıyla yüklendi :

Sonrasında yükleniyor dosyayı kovaya ekleyin, tıklayın Nesne özellikleri görüntülemek için:

Tıkla “S3 URI'yi kopyala” düğme. Bu Lambda işlevine eklenecektir:

Şuraya git: Lambda Kontrol Paneli ve Lambda işlevini seçin:

Aşağıya doğru kaydırın “Kod” bölümüne dokunun ve 'Şuradan yükle' düğme. itibaren Aşağıya doğru açılan menü, tıkla “Amazon S3 konumu” seçenek:

Yapıştır 'S3 URI'si' Görüntülenen iletişim kutusunda 'Kaydetmek' düğme:

Üzerinde Lambda Fonksiyonu arayüzü , aşağıya doğru kaydırın “Çalışma zamanı ayarları” ve üzerine tıklayın 'Düzenlemek' düğme:

İçinde “İşleyici” alanında aşağıdaki yapılandırmaları düzenleyin. “nodeapi” S3 klasörüne yüklenen klasör adıdır ve index.js giriş noktasıdır. Bundan sonra üzerine tıklayın 'Kaydetmek' düğme:

4. Adım: Doğrulama

Şuraya git: API ağ geçidi Servis konsoluna tıklayın ve 'API' isim:

API'yi seçtikten sonra, “Aşamalar” kenar çubuğundan düğmesini tıklayın ve ardından dağıtım aşamasına (ör. ilk aşama) tıklayın:

Kopyala URL'si ve başlatın Postacı yerel makinedeki araç:

Oluşturmak AL isteği içinde Postacı ve URL'yi içine yapıştırın. Tıkladıktan sonra 'Göndermek' düğmesine bastığımızda aşağıdaki sonuçları elde ederiz:

Bu rehberden hepsi bu.

Çözüm

Node.js API'sini API ağ geçidiyle dağıtmak için kodu S3 klasörüne yükleyin, bunu işleyici olarak ekleyin ve API ağ geçidini Lambda İşlevine tetikleyici olarak ekleyin. Postacı kullanılarak başlatılan istek, API aracılığıyla Lambda Fonksiyonuna iletilecektir. API oluşturmak için AWS'nin API ağ geçidi hizmetini kullanın. Lambda İşlevine işleyici olarak eklenen S3 klasörü, isteğin işlenmesine yönelik kodu sağlayacaktır. Çıktı Postacının konsolunda gösterilecektir. Bu makale, Node.js API'sini AWS API ağ geçidiyle uygulamaya yönelik adım adım bir eğitimdir.