View a markdown version of this page

Buat fungsi Lambda pertama Anda - AWS Lambda

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Buat fungsi Lambda pertama Anda

Untuk memulai Lambda, gunakan konsol Lambda untuk membuat fungsi. Dalam beberapa menit, Anda dapat membuat dan menerapkan fungsi dan mengujinya di konsol.

Saat Anda melakukan tutorial, Anda akan mempelajari beberapa konsep dasar Lambda, seperti cara meneruskan argumen ke fungsi Anda menggunakan Lambda objek acara. Anda juga akan mempelajari cara mengembalikan output log dari fungsi Anda, dan cara melihat log pemanggilan fungsi Anda di Amazon CloudWatch Log.

Agar semuanya tetap sederhana, Anda membuat fungsi Anda menggunakan Python atau Node.js waktu pelaksanaan. Dengan bahasa yang ditafsirkan ini, Anda dapat mengedit kode fungsi langsung di editor kode bawaan konsol. Dengan bahasa yang dikompilasi seperti Java dan C#, Anda harus membuat paket penerapan pada mesin build lokal Anda dan mengunggahnya ke Lambda. Untuk mempelajari tentang menerapkan fungsi ke Lambda menggunakan runtime lain, lihat tautan di Sumber daya tambahan dan langkah selanjutnya bagian.

Tip

Untuk mempelajari cara membangun solusi tanpa server, lihat Panduan Pengembang Tanpa Server.

Mendaftar untuk Akun AWS

Untuk memulai dengan AWS, Anda membutuhkan Akun AWS. Ada dua cara untuk mendaftar AWS. Jika Anda ingin kontrol penuh atas konfigurasi akun dan tempat penyimpanan konten Anda, atau jika Anda telah mengatur beban kerja seperti HIPAA atau FedRAMP, gunakan Mendaftar untuk AWS (lanjutan). Jika Anda adalah pengguna baru dan ingin menggunakan login yang sudah Anda miliki untuk masuk AWS dan buat AWS lingkungan dengan default yang telah dikonfigurasi sebelumnya dalam pilihan Wilayah AWS, gunakan Mendaftar untuk AWS.

Membuat fungsi Lambda dengan konsol

Dalam contoh ini, fungsi Anda mengambil objek JSON yang berisi dua nilai integer berlabel "length" dan "width". Fungsi mengalikan nilai-nilai ini untuk menghitung area dan mengembalikannya sebagai string JSON.

Fungsi Anda juga mencetak area yang dihitung, bersama dengan namanya CloudWatch grup log. Kemudian dalam tutorial, Anda akan belajar menggunakan CloudWatch Log untuk melihat catatan pemanggilan fungsi Anda.

Untuk membuat fungsi Hello world Lambda dengan konsol
  1. Buka Halaman Fungsi Acara dari konsol Lambda.

  2. Memilih Buat Fungsi Acara.

  3. Pilih Penulis dari awal.

  4. Di Informasi dasar panel, untuk Nama fungsi, masukkan myLambdaFunction.

  5. Untuk Waktu pelaksanaan, pilih salah satu Node.js 24 atau Python 3.14.

  6. Tinggalkan arsitektur setel ke x86_64, dan kemudian memilih Buat Fungsi Acara.

Selain fungsi sederhana yang mengembalikan pesan Hello from Lambda!, Lambda juga menciptakan peran eksekusi untuk fungsi Anda. Peran eksekusi adalah AWS Identity and Access Management Peran (IAM) yang memberikan izin fungsi Lambda untuk mengakses Layanan AWS dan sumber daya. Untuk fungsi Anda, peran yang dibuat Lambda memberikan izin dasar untuk menulis CloudWatch Log.

Gunakan editor kode bawaan konsol untuk mengganti kode Hello world yang dibuat Lambda dengan kode fungsi Anda sendiri.

Node.js
Untuk memodifikasi kode di konsol
  1. Pilih Kode tab.

    Di editor kode bawaan konsol, Anda akan melihat kode fungsi yang dibuat Lambda. Jika Anda tidak melihat index.mjs tab di editor kode, pilih index.mjs di file explorer seperti yang ditunjukkan pada diagram berikut.

    Diagram yang menunjukkan editor kode konsol dan file index.mjs di file explorer.
  2. Tempelkan kode berikut ke index.mjs tab, menggantikan kode yang dibuat Lambda.

    export const handler = async (event, context) => { const length = event.length; const width = event.width; let area = calculateArea(length, width); console.log(`The area is ${area}`); console.log('CloudWatch log group: ', context.logGroupName); let data = { "area": area, }; return JSON.stringify(data); function calculateArea(length, width) { return length * width; } };
  3. Di MENYEBARKAN bagian, pilih Menyebarkan untuk memperbarui kode fungsi Anda:

    Menyebarkan tombol di editor kode konsol Lambda
Memahami kode fungsi Anda

Sebelum Anda pindah ke langkah berikutnya, mari kita luangkan waktu sejenak untuk melihat kode fungsi dan memahami beberapa konsep Lambda kunci.

  • Handler Lambda:

    Fungsi Lambda Anda berisi Node.js fungsi bernama handler. Fungsi Lambda di Node.js dapat berisi lebih dari satu Node.js fungsinya, tetapi pengurus fungsi selalu menjadi titik masuk ke kode Anda. Ketika fungsi Anda dipanggil, Lambda menjalankan metode ini.

    Saat Anda membuat fungsi Hello world menggunakan konsol, Lambda secara otomatis mengatur nama metode handler untuk fungsi Anda ke handler. Pastikan untuk tidak mengedit nama ini Node.js fungsi. Jika Anda melakukannya, Lambda tidak akan dapat menjalankan kode Anda saat Anda memanggil fungsi Anda.

    Untuk mempelajari selengkapnya tentang handler Lambda di Node.js, lihat Tentukan penangan Fungsi Peristiwa Lambda di Node.js.

  • Objek peristiwa Lambda:

    Fungsi handler membutuhkan dua argumen, event dan context. Sebuah peristiwa di Lambda adalah dokumen berformat JSON yang berisi data untuk diproses fungsi Anda.

    Jika fungsi Anda dipanggil oleh orang lain Layanan AWS, objek acara berisi informasi tentang peristiwa yang menyebabkan pemanggilan. Misalnya, jika fungsi Anda dipanggil saat objek diunggah ke bucket Amazon Simple Storage Service (Amazon S3), acara tersebut berisi nama bucket dan kunci objek.

    Dalam contoh ini, Anda akan membuat acara di konsol dengan memasukkan dokumen berformat JSON dengan dua pasangan kunci-nilai.

  • Objek konteks Lambda:

    Argumen kedua yang diambil fungsi Anda adalah context. Lambda melewati objek konteks untuk fungsi Anda secara otomatis. Objek konteks berisi informasi tentang pemanggilan fungsi dan lingkungan eksekusi.

    Anda dapat menggunakan objek konteks untuk menampilkan informasi tentang pemanggilan fungsi Anda untuk tujuan pemantauan. Dalam contoh ini, fungsi Anda menggunakan logGroupName parameter untuk menampilkan nama nya CloudWatch grup log.

    Untuk mempelajari lebih lanjut tentang objek konteks Lambda di Node.js, lihat Menggunakan objek konteks Lambda untuk mengambil informasi Fungsi Acara Node.js.

  • Masuk ke Lambda:

    Dengan Node.js, Anda dapat menggunakan metode konsol seperti console.log dan console.error untuk mengirim informasi ke log fungsi Anda. Contoh kode menggunakan console.log pernyataan untuk menampilkan area yang dihitung dan nama fungsi CloudWatch Grup log. Anda juga dapat menggunakan pustaka logging apa pun yang menulis ke stdout atau stderr.

    Untuk mempelajari selengkapnya, lihat Log dan pantau Node.js Fungsi Acara Lambda. Untuk mempelajari cara masuk dalam runtime lain, lihat halaman 'Membangun dengan' untuk runtime yang Anda minati.

Python
Untuk memodifikasi kode di konsol
  1. Pilih Kode tab.

    Di editor kode bawaan konsol, Anda akan melihat kode fungsi yang dibuat Lambda. Jika Anda tidak melihat lambda_function.py tab di editor kode, pilih lambda_function.py di file explorer seperti yang ditunjukkan pada diagram berikut.

    Diagram menunjukkan editor kode konsol dan file lambda_function.py di file explorer.
  2. Tempelkan kode berikut ke lambda_function.py tab, menggantikan kode yang dibuat Lambda.

    import json import logging logger = logging.getLogger() logger.setLevel(logging.INFO) def lambda_handler(event, context): # Get the length and width parameters from the event object. The # runtime converts the event object to a Python dictionary length = event['length'] width = event['width'] area = calculate_area(length, width) print(f"The area is {area}") logger.info(f"CloudWatch logs group: {context.log_group_name}") # return the calculated area as a JSON string data = {"area": area} return json.dumps(data) def calculate_area(length, width): return length*width
  3. Di MENYEBARKAN bagian, pilih Menyebarkan untuk memperbarui kode fungsi Anda:

    Menyebarkan tombol di editor kode konsol Lambda
Memahami kode fungsi Anda

Sebelum Anda pindah ke langkah berikutnya, mari kita luangkan waktu sejenak untuk melihat kode fungsi dan memahami beberapa konsep Lambda kunci.

  • Handler Lambda:

    Fungsi Lambda Anda berisi fungsi Python bernama lambda_handler. Fungsi Lambda dalam Python dapat berisi lebih dari satu fungsi Python, tetapi pengurus fungsi selalu menjadi titik masuk ke kode Anda. Ketika fungsi Anda dipanggil, Lambda menjalankan metode ini.

    Saat Anda membuat fungsi Hello world menggunakan konsol, Lambda secara otomatis mengatur nama metode handler untuk fungsi Anda ke lambda_handler. Pastikan untuk tidak mengedit nama fungsi Python ini. Jika Anda melakukannya, Lambda tidak akan dapat menjalankan kode Anda saat Anda memanggil fungsi Anda.

    Untuk mempelajari selengkapnya tentang handler Lambda di Python, lihat Tentukan penangan Fungsi Peristiwa Lambda dengan Python.

  • Objek peristiwa Lambda:

    Fungsi lambda_handler membutuhkan dua argumen, event dan context. Sebuah peristiwa di Lambda adalah dokumen berformat JSON yang berisi data untuk diproses fungsi Anda.

    Jika fungsi Anda dipanggil oleh orang lain Layanan AWS, objek acara berisi informasi tentang peristiwa yang menyebabkan pemanggilan. Misalnya, jika fungsi Anda dipanggil saat objek diunggah ke bucket Amazon Simple Storage Service (Amazon S3), acara tersebut berisi nama bucket dan kunci objek.

    Dalam contoh ini, Anda akan membuat acara di konsol dengan memasukkan dokumen berformat JSON dengan dua pasangan kunci-nilai.

  • Objek konteks Lambda:

    Argumen kedua yang diambil fungsi Anda adalah context. Lambda melewati objek konteks untuk fungsi Anda secara otomatis. Objek konteks berisi informasi tentang pemanggilan fungsi dan lingkungan eksekusi.

    Anda dapat menggunakan objek konteks untuk menampilkan informasi tentang pemanggilan fungsi Anda untuk tujuan pemantauan. Dalam contoh ini, fungsi Anda menggunakan log_group_name parameter untuk menampilkan nama nya CloudWatch grup log.

    Untuk mempelajari lebih lanjut tentang objek konteks Lambda di Python, lihat Menggunakan objek konteks Lambda untuk mengambil informasi Fungsi Acara Python.

  • Masuk ke Lambda:

    Dengan Python, Anda dapat menggunakan salah satu print pernyataan atau pustaka logging Python untuk mengirim informasi ke log fungsi Anda. Untuk mengilustrasikan perbedaan dalam apa yang ditangkap, kode contoh menggunakan kedua metode. Dalam aplikasi produksi, sebaiknya gunakan pustaka logging.

    Untuk mempelajari selengkapnya, lihat Log dan pantau Fungsi Acara Lambda Python. Untuk mempelajari cara masuk dalam runtime lain, lihat halaman 'Membangun dengan' untuk runtime yang Anda minati.

Memanggil fungsi Lambda menggunakan editor kode konsol

Untuk memanggil fungsi Anda menggunakan editor kode konsol Lambda, buat acara pengujian untuk dikirim ke fungsi Anda. Acara ini adalah dokumen berformat JSON yang berisi dua pasangan kunci-nilai dengan kunci "length" dan "width".

Untuk membuat acara pengujian
  1. Di ACARA UJI bagian dari editor kode konsol, pilih Buat acara pengujian.

    Buat tombol acara uji di editor kode konsol Lambda
  2. Untuk Nama Acara, masukkan myTestEvent.

  3. Di JSON acara bagian, ganti JSON default dengan yang berikut:

    { "length": 6, "width": 7 }
  4. Pilih Simpan.

Untuk menguji fungsi Anda dan melihat catatan pemanggilan

Di ACARA UJI bagian editor kode konsol, pilih ikon jalankan di sebelah acara pengujian Anda:

Jalankan tombol acara uji di editor kode konsol Lambda.

Ketika fungsi Anda selesai berjalan, log respons dan fungsi ditampilkan di KELUARAN tab. Anda akan melihat hasil yang serupa dengan yang berikut:

Node.js
Status: Succeeded Test Event Name: myTestEvent Response "{\"area\":42}" Function Logs START RequestId: 5c012b0a-18f7-4805-b2f6-40912935034a Version: $LATEST 2024-08-31T23:39:45.313Z 5c012b0a-18f7-4805-b2f6-40912935034a INFO The area is 42 2024-08-31T23:39:45.331Z 5c012b0a-18f7-4805-b2f6-40912935034a INFO CloudWatch log group: /aws/lambda/myLambdaFunction END RequestId: 5c012b0a-18f7-4805-b2f6-40912935034a REPORT RequestId: 5c012b0a-18f7-4805-b2f6-40912935034a Duration: 20.67 ms Billed Duration: 21 ms Memory Size: 128 MB Max Memory Used: 66 MB Init Duration: 163.87 ms Request ID 5c012b0a-18f7-4805-b2f6-40912935034a
Python
Status: Succeeded Test Event Name: myTestEvent Response "{\"area\": 42}" Function Logs START RequestId: 2d0b1579-46fb-4bf7-a6e1-8e08840eae5b Version: $LATEST The area is 42 [INFO] 2024-08-31T23:43:26.428Z 2d0b1579-46fb-4bf7-a6e1-8e08840eae5b CloudWatch logs group: /aws/lambda/myLambdaFunction END RequestId: 2d0b1579-46fb-4bf7-a6e1-8e08840eae5b REPORT RequestId: 2d0b1579-46fb-4bf7-a6e1-8e08840eae5b Duration: 1.42 ms Billed Duration: 2 ms Memory Size: 128 MB Max Memory Used: 39 MB Init Duration: 123.74 ms Request ID 2d0b1579-46fb-4bf7-a6e1-8e08840eae5b

Saat Anda memanggil fungsi Anda di luar konsol Lambda, Anda harus menggunakan CloudWatch Log untuk melihat hasil eksekusi fungsi Anda.

Untuk melihat catatan pemanggilan fungsi Anda di CloudWatch Log
  1. Buka Grup log halaman dari CloudWatch konsol.

  2. Pilih grup log untuk fungsi Anda (/aws/lambda/myLambdaFunction). Ini adalah nama grup log yang dicetak fungsi Anda ke konsol.

  3. Gulir ke bawah dan pilih Log aliran untuk pemanggilan fungsi yang ingin Anda lihat.

    Daftar aliran log untuk fungsi Lambda.

    Anda akan melihat output yang serupa dengan yang berikut:

    Node.js
    INIT_START Runtime Version: nodejs:22.v13 Runtime Version ARN: arn:aws:lambda:us-west-2::runtime:e3aaabf6b92ef8755eaae2f4bfdcb7eb8c4536a5e044900570a42bdba7b869d9 START RequestId: aba6c0fc-cf99-49d7-a77d-26d805dacd20 Version: $LATEST 2024-08-23T22:04:15.809Z 5c012b0a-18f7-4805-b2f6-40912935034a INFO The area is 42 2024-08-23T22:04:15.810Z aba6c0fc-cf99-49d7-a77d-26d805dacd20 INFO CloudWatch log group: /aws/lambda/myLambdaFunction END RequestId: aba6c0fc-cf99-49d7-a77d-26d805dacd20 REPORT RequestId: aba6c0fc-cf99-49d7-a77d-26d805dacd20 Duration: 17.77 ms Billed Duration: 18 ms Memory Size: 128 MB Max Memory Used: 67 MB Init Duration: 178.85 ms
    Python
    INIT_START Runtime Version: python:3.13.v16 Runtime Version ARN: arn:aws:lambda:us-west-2::runtime:ca202755c87b9ec2b58856efb7374b4f7b655a0ea3deb1d5acc9aee9e297b072 START RequestId: 9d4096ee-acb3-4c25-be10-8a210f0a9d8e Version: $LATEST The area is 42 [INFO] 2024-09-01T00:05:22.464Z 9315ab6b-354a-486e-884a-2fb2972b7d84 CloudWatch logs group: /aws/lambda/myLambdaFunction END RequestId: 9d4096ee-acb3-4c25-be10-8a210f0a9d8e REPORT RequestId: 9d4096ee-acb3-4c25-be10-8a210f0a9d8e Duration: 1.15 ms Billed Duration: 2 ms Memory Size: 128 MB Max Memory Used: 40 MB

Bersihkan

Ketika Anda selesai bekerja dengan fungsi contoh, hapus. Anda juga dapat menghapus grup log yang menyimpan log fungsi, dan peran eksekusi yang dibuat konsol.

Untuk menghapus Lambda Event Function
  1. Buka Halaman Fungsi Acara dari konsol Lambda.

  2. Pilih Fungsi Event yang Anda buat.

  3. Pilih Tindakan, Hapus.

  4. Mengetik confirm di bidang input teks dan pilih Hapus.

Untuk menghapus grup log
  1. Buka Grup log halaman dari CloudWatch konsol.

  2. Pilih grup log fungsi (/aws/lambda/myLambdaFunction).

  3. Pilih Tindakan, Hapus grup log.

  4. Di kotak dialog Hapus grup log, pilih Hapus.

Untuk menghapus peran eksekusi
  1. Buka Halaman Peran dari AWS Identity and Access Management (IAM) konsol.

  2. Pilih peran eksekusi fungsi (misalnya, myLambdaFunction-role-31exxmpl).

  3. Pilih Hapus.

  4. Di dalam Hapus peran kotak dialog, masukkan nama peran, lalu pilih Hapus.

Sumber daya tambahan dan langkah selanjutnya

Sekarang setelah Anda membuat dan menguji fungsi Lambda sederhana menggunakan konsol, lakukan langkah-langkah berikut ini: