Membangun Fungsi Lambda

Fungsi AWS Lambda menjalankan kode saat dipanggil. Bab ini membahas semua langkah yang terlibat dalam siklus hidup fungsi AWS Lambda secara mendetail.

Langkah-langkah untuk Membangun fungsi Lambda

Siklus hidup fungsi Lambda mencakup empat langkah yang diperlukan -

  • Authoring
  • Deploying
  • Monitoring
  • Troubleshooting

Membuat Kode Lambda

Kode fungsi AWS Lambda dapat ditulis dalam bahasa berikut -

  • NodeJS
  • Java,
  • Python
  • C#
  • Go.

Kami dapat menulis kode untuk AWS Lambda menggunakan konsol AWS, AWS CLI, dari Eclipse IDE, dari Visual Studio IDE, kerangka kerja tanpa server, dll.

Tabel berikut menunjukkan daftar bahasa dan berbagai alat dan IDE yang dapat digunakan untuk menulis fungsi Lambda -

Bahasa IDE untuk Membuat Kode Lambda
NodeJS

Konsol AWS Lambda

Visual Studio IDE

Jawa Eclipse IDE
Python Konsol AWS Lambda
C #

Visual Studio IDE

.NET core

Pergilah Konsol AWS Lambda

Menerapkan Kode Lambda

Setelah Anda memutuskan bahasa yang Anda inginkan untuk menulis fungsi Lambda, ada dua cara untuk menerapkan kode -

  • Tulis kode secara langsung di konsol AWS
  • Zip atau jar file dengan semua file dan dependensi

Namun, ingatlah bahwa izin yang tepat harus diberikan untuk diberikan ke file zip.

Menguji Kode Lambda

Kode Lambda dapat diuji untuk acara di dalam konsol AWS Lambda. Anda juga dapat menguji fungsi Lambda dari cli AWS dan cli tanpa server. Konsol AWS juga memiliki data peristiwa yang dapat digunakan sebagai peristiwa sampel saat menguji fungsi AWS Lambda.

Memantau fungsi Lambda

Pemantauan fungsi Lambda dapat dilakukan menggunakan AWS CloudWatch. Kami dapat menambahkan pesan log yang diperlukan dalam bahasa yang kami pilih dan melihat hal yang sama di AWS CloudWatch.

Untuk mulai menulis fungsi Lambda, ada pola yang harus diikuti. Berikut ini adalah konsep inti utama yang harus diikuti untuk menulis fungsi Lambda -

Penangan

Handler adalah nama fungsi lambda AWS tempat eksekusi dimulai. Itu muncul di konsol AWS seperti yang ditunjukkan di bawah ini -

Perhatikan bahwa di sini kami telah mengubah penangan default ke nama lain dan memperbaruinya di Penangan -

Perhatikan bahwa cara penangan dipanggil berbeda dari bahasa yang dipilih sebagai runtime.

Params diteruskan ke pawang

Jika Anda mengamati fungsi handler, parameter yang diteruskan adalah event, context dan call back function seperti yang ditunjukkan di bawah ini -

Event parameter memiliki semua detail untuk pemicu yang digunakan.

Contextparameter pada dasarnya menangani detail waktu proses untuk menjalankan fungsi Lambda. Kita dapat berinteraksi dengan fungsi Lambda menggunakancontextparam. Ini memiliki detail seperti waktu yang tersisa sebelum AWS Lambda menghentikan suatu fungsi yaitu, waktu tunggu yang ditentukan saat membuat fungsi Lambda, nama fungsi Lambda, nama grup cloudwatch, detail arn, dll.

Contoh

Mari kita pahami detail yang diperoleh dari objek konteks AWS Lambda dengan bantuan contoh -

exports.lambdahandler = (event, context, callback) => {
   // TODO implement
   console.log("context object details");
   console.log(JSON.stringify(context));
   callback(null, 'Lambda test');
};

Saat Anda menjalankan fungsi Lambda yang ditunjukkan di atas, Anda dapat melihat output berikut -

Keluaran

Itu context rincian diberikan sebagai berikut -

{
   "callbackWaitsForEmptyEventLoop":true,"logGroupName":"/aws/lambda/myfirstlambdafunction",
   "logStreamName":"2018/05/20/[$LATEST]04f17ee4ff7048d5bb1fedffaa807c71","functionName":
   "myfirstlambdafunction","memoryLimitInMB":"128","functionVersion":"$LATEST","invokeid":
   "c931e21c-5bf3-11e8-acfe-47fdbb39eee9","awsRequestId":"c931e21c-5bf3-11e8-acfe-47fdbb39eee9",
   "invokedFunctionArn":"arn:aws:lambda:us-east-1:625297745038:function:myfirstlambdafunction"
}

Perhatikan bahwa ia memiliki detail seperti functionName, memorylimit, requestId, dll.

Logging

Log yang ditambahkan di dalam fungsi Lambda ditampilkan di AWS CloudWatch saat fungsi AWS dijalankan. Sintaks log akan berbeda dari bahasa yang dipilih. Untuk Contoh dinodejs, itu adalah console.log.

Ini adalah output yang dapat Anda lihat di AWSCloudWatch -

Penanganan Error

Fungsi AWS Lambda menyediakan fungsi panggilan balik yang digunakan untuk memberi tahu fungsi Lambda bahwa kesalahan atau keberhasilan telah terjadi. Perhatikan bahwa di sini kami telah menggunakan nodejs sebagai runtime. Penanganan kesalahan akan berbeda sesuai bahasa yang dipilih.

Perhatikan Contoh yang diberikan di sini untuk pemahaman yang lebih baik -

exports.lambdahandler = (event, context, callback) => {
   // TODO implement
   var error = new Error("There is error in code");
   callback(error);
};

Keluaran

Saat Anda menguji kode Lambda, Anda dapat menemukan output seperti yang ditunjukkan di bawah ini -

Rincian log sebagai berikut -