Membuat dan Menerapkan menggunakan AWS Console

Kami dapat membuat fungsi Lambda dan mengujinya di konsol AWS. Bab ini membahasnya secara rinci. Untuk tujuan ini, Anda harus mengikuti langkah-langkah yang diberikan di sini dan mengamati masing-masing tangkapan layar yang diberikan -

Langkah 1

Masuk ke Konsol AWS https://aws.amazon.com/console/. Sekarang, Anda akan diarahkan ke layar tempat layanan AWS ditampilkan.

Langkah 2

Sekarang, klik Lambdalayanan seperti yang disorot di atas. Ini akan mengarahkan ke membuat fungsi seperti yang ditunjukkan di bawah ini -

LANGKAH 3

Sekarang, klik Create functiondan masukkan detail fungsinya. Kemudian Anda dapat melihat layar seperti yang ditunjukkan di bawah ini -

LANGKAH 4

Anda dapat menulis kode Anda dengan memilih bahasa pilihan Anda. Kode harus ditulis di editor jika opsi yang dipilih adalah edit kode sebaris. Opsi lain yang tersedia adalah sebagai berikut -

LANGKAH 5

Setelah selesai Anda perlu menyimpan perubahan yang tombolnya diberikan di sudut kanan atas seperti yang ditunjukkan di bawah ini -

LANGKAH 6

Sekarang, klik Testtombol. Ini memberikan semua detail eksekusi fungsi Lambda seperti yang ditunjukkan di bawah ini -

LANGKAH 7

Kode untuk index.js adalah sebagai berikut -

exports.handler = (event, context, callback) => {
   // TODO implement
   callback(null, 'Lambda test');
};

Ini akan memanggil Callback functiondan hasilnya bisa error atau sukses. Jika berhasil, Anda akan melihat aLambda testpesan; jika kesalahan itu akan melewati nol.

LANGKAH 8

Itu Role detail untuk fungsi Lambda adalah bagian dari konfigurasi dan ditampilkan seperti yang ditunjukkan di bawah ini -

LANGKAH 9

Sekarang, Anda dapat memperbarui peran tersebut jika diperlukan dan menyimpan fungsi Lambda. Kemudian, detail memori dan batas waktu untuk fungsi lambda ditampilkan seperti di bawah ini -

LANGKAH 10

Sekarang, kita perlu menambahkan pemicu ke fungsi Lambda agar dijalankan saat peristiwa terjadi. Detail pemicu ditampilkan di awal layar fungsi AWS Lambda seperti yang ditunjukkan di bawah ini -

Dari sini, Anda dapat memilih pemicu yang Anda inginkan agar fungsi Lambda Anda dipicu. Saat Anda memilih pemicu, detail konfigurasi untuk pemicu harus ditambahkan.

Sebagai Contoh, untuk trigger pada S3, detail konfigurasi yang akan ditambahkan adalah sebagai berikut -

LANGKAH 11

Sekarang, pilih bucket tempat Anda ingin trigger. Jenis acara memiliki detail berikut -

LANGKAH 12

Untuk pemicu, Anda juga dapat menyebutkan file tipe awalan atau pola file, Lambda harus menjadi pemicu. Detailnya seperti yang ditunjukkan -

LANGKAH 13

Sekarang, isi detail yang diperlukan untuk pemicu dan klik Add tombol. Simpan fungsi Lambda agar pemicu ditambahkan. Menyimpan fungsi akan menyebarkan detail, dan mulai sekarang dan seterusnya kapan saja file ditambahkan ke bucket S3, Lambda akan dipicu.

Amati tangkapan layar berikut yang menunjukkan pemicu S3 ditambahkan ke AWS Lambda -

LANGKAH 14

Sekarang, mari kita gunakan contoh kejadian S3 untuk menguji fungsi Lambda. Kode yang sama ditunjukkan di sini -

Amazon S3 Put Sample Event

{
   "Records": [{
      "eventVersion": "2.0",
      "eventTime": "1970-01-01T00:00:00.000Z",
      "requestParameters": {
         "ExampleIPAddress": "127.0.0.1"
      },
      "s3": {
         "configurationId": "testConfigRule",
         "object": {
            "eTag": "0123456789abcdef0123456789abcdef",
            "sequencer": "0A1B2C3D4E5F678901",
            "key": "HappyFace.jpg",
            "size": 1024
         },
         "bucket": { 
            "arn": bucketarn,
            "name": "Examplebucket",
            "ownerIdentity": {
               "principalId": "Example"
            }
         },
         "s3SchemaVersion": "1.0"
      },
      "responseElements": { 
         "x-amz-id-2": "Example123/5678abcdefghijklambdaisawesome/mnopqrstuvwxyzABCDEFGH",
         "x-amz-request-id": "Example123456789"
      },
      "awsRegion": "us-east-1",
      "eventName": "ObjectCreated:Put",
      "userIdentity": {
         "principalId": "Example"
      },
      "eventSource": "aws:s3"
   }]
}

Anda harus menggunakan perintah berikut untuk mendapatkan detail file yang diunggah dari peristiwa put S3 -

event.Records[0].s3.object.key     //will display the name of the file

Anda harus menggunakan perintah berikut untuk mendapatkan nama keranjang -

event.Records[0].s3.bucket.name    //will give the name of the bucket.

Anda harus menggunakan perintah berikut untuk mendapatkan EventName -

event.Records[0].eventName        // will display the event name

LANGKAH 15

Sekarang, mari kita perbarui kode AWS Lambda untuk mencetak detail S3 seperti yang ditunjukkan di bawah ini -

exports.lambdahandler = (event, context, callback) => {
   callback(null, "Bucket name: "+event.Records[0].s3.bucket.name+"  
   File name:"+event.Records[0].s3.object.key );
};

LANGKAH 16

Simpan perubahannya. KlikTest dan masuk ke acara sampel S3 -

LANGKAH 17

Sekarang klik Test dan Anda dapat melihat hasilnya seperti yang ditunjukkan -

LANGKAH 18

Untuk menguji pemicu pada S3 menggunakan layanan AWS S3, unggah file di bucket S3: test bucket trigger. Perbarui peran yang digunakan dengan Lambda untuk mengambil kebijakan S3 dan SES (untuk mengirim email) untuk izin. Ini akan memperbarui kode AWS Lambda untuk mengirim email untuk melihat pemicu berfungsi -

Kode AWS Lambda yang diperbarui seperti yang ditunjukkan -

var aws = require('aws-sdk');
var ses = new aws.SES({
   region: 'us-east-1'
});
exports.lambdahandler = function(event, context, callback) {
   var eParams = {
      Destination: {
         ToAddresses: ["[email protected]"]
      },
      Message: {
         Body: {
            Text: {
               Data: "Bucket name: "+event.Records[0].s3.bucket.name+"  File name:"+event.Records[0].s3.object.key
            }
         },
         Subject: {
            Data: "S3 and AWS Lambda"
         }
      },
      Example: "[email protected]"
   };
   console.log('===SENDING EMAIL===');
   var email = ses.sendEmail(eParams, function(err, data) {
      if (err) console.log(err);
         else {
            console.log("===EMAIL SENT===");
            console.log("EMAIL CODE END");
            console.log('EMAIL: ', email);
            context.succeed(event);
            callback(null, "email is send");
         }
   });
};

Tangkapan layar yang sesuai seperti yang ditunjukkan di sini -

LANGKAH 19

Sekarang, unggah file dan periksa id email yang disediakan dalam kode AWS Lambda -