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 -