June 28, 2016 · Node.js Lambda serverless

Node.js Projesinin AWS Lambda üzerinde deployu

Yazan: Orhan Gürsel

AWS lambda üzerinde node.js çalıştırmak için komut satırı kodu eklememiz yada node.js projesini .zip haline getirip sisteme yüklememiz gerekmekte.

Yazacağımız fonksiyon Node.js’de sacede “aws sdk” modülünü kullanacaksa komut satırı olarak var AWS = require(‘aws-sdk’); eklememiz durumunda aws üzerinde zaten yüklü olan sdk yı çağırıp kullanabiliriz.

AWS üzerinde yüklü olmayan modülleri(soket.io,node-uuid) kullanmamız gerekebilir. Bu durumda oluşturacağımız node.js projesini .zip halinde sisteme yüklememiz gerekmekte.

Örnek olarak unique id üretmek için node-uuuid modülünü kullanan node.js proejesi oluşturacağız.

 npm install node-uuid

Yukarıdaki kod parçasını cmd üzerinde çalıştırdığımızda node-uuid modülü yüklenir.

index.js
node_modules/node-uuid
node_modules/node-uuid/lib
node_modules/node-uuid/lib/uuid.js
node_modules/node-uuid/package.json

Oluşturduğumuz dosya yapısı yukarıdaki gibi olmalıdır. index.js bizim çağıracağımız init(başlatma) fonksiyonu olduğu js dosyasıdır. node-uuid içindede npm ile yüklediğimiz node-uuid modülüdür.

NodeJs01

unique id üretmek için index.js içerisine yukarıdaki kod yazılmıştır.

var uuid = require(‘node-uuid’); ile node-uuid modülü çağrılmış

var uuid1 = uuid.v1(); ile node-uuid modülünün v1() fonksiyonu çağrılarak unique id üretilmiştir.

Yukarıdaki yapı bir zip dosyası haline getirilip aşağıdaki konfigürasyonlar yapıldıktan sonra lambda fonksiyonu oluşturulmuş olur.

NodeJs02

Handler kısmına başlatmak istediğimiz js dosyasının ismi verilerek

exports.handler = function(event, context, callback) {} fonksiyonunun init edilmesi sağlanır.

  • LinkedIn
  • Tumblr
  • Reddit
  • Google+
  • Pinterest
  • Pocket
Comments powered by Disqus