AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda) · Pelajaran

Membina Fungsi Lambda Pertama Anda

Tulis dan gunakan fungsi Lambda ringkas dengan mengkonfigurasikan masa jalan, memori dan peranan pelaksanaannya.

Pelajaran 2 daripada 411 langkah

Membina Fungsi Lambda Pertama Anda ialah pelajaran AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda) percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda), dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda) merangkumi sejumlah 4 pelajaran.

Fungsi Lambda Pertama Anda

Masanya untuk membina fungsi tanpa pelayan pertama anda! Dalam pelajaran ini, kita akan menulis fungsi AWS Lambda ringkas yang menjalankan kod anda tanpa mengurus pelayan.

Kita akan membincangkan struktur asasnya, cara memilih masa jalan, serta konfigurasi penting seperti memori dan peranan pelaksanaan. Bersedialah untuk melancarkannya!

Terasnya: Pengendali Lambda Anda

Setiap fungsi Lambda memerlukan fungsi 'pengendali'. Inilah titik mula AWS Lambda melaksanakan kod anda. Biasanya, fungsi ini menerima dua argumen:

  • event: Mengandungi data yang mencetuskan seruan.
  • context: Menyediakan maklumat masa jalan tentang seruan, fungsi dan persekitaran pelaksanaan.

Anggaplah pengendali sebagai kaedah 'utama' untuk kod tanpa pelayan anda.

Pilih Bahasa Anda: Masa Jalan Lambda

AWS Lambda menyokong banyak bahasa pengaturcaraan yang dipanggil 'masa jalan'. Anda memilih bahasa yang digunakan untuk menulis kod fungsi anda. Masa jalan menentukan persekitaran pelaksanaan dan cara pengendali anda dipanggil.

  • Python: Sesuai untuk penskripan, pemprosesan data dan pembelajaran mesin.
  • Node.js: Ideal untuk aplikasi masa nyata, API dan perkhidmatan mikro.
  • Java: Sesuai untuk aplikasi perusahaan, prestasi tinggi dan ekosistem JVM sedia ada.
  • Go, C#, Ruby, Masa Jalan Tersuai: Lebih banyak pilihan untuk keperluan pelbagai dan kes penggunaan khusus.

Hello Lambda: Contoh Python Asas

Mari kita tulis fungsi Lambda Python yang sangat ringkas. Fungsi ini akan mengambil nama input daripada event dan mengembalikan ucapan. Cuba jalankannya untuk melihat output!

import json

def lambda_handler(event, context):
    # event is a dictionary containing invocation data
    # context provides runtime info (e.g., function name, memory limit)

    # We expect 'name' in the event payload
    name = event.get('name', 'World')
    message = f"Hello, {name}!"

    # Lambda functions often return a dictionary, which AWS converts to JSON
    return {
        'statusCode': 200,
        'body': json.dumps(message)
    }

# --- Local Test Simulation ---
if __name__ == "__main__":
    # Simulate an event payload
    test_event = {"name": "CoddyKit User"}
    
    # Simulate a dummy context object
    class Context:
        def __init__(self):
            self.function_name = "my-test-function"
            self.memory_limit_in_mb = 128
            self.invoked_function_arn = "arn:aws:lambda:us-east-1:123456789012:function:my-test-function"
            self.aws_request_id = "test-request-id-123"

    test_context = Context()

    # Call the handler
    response = lambda_handler(test_event, test_context)
    
    # Print the response for local verification
    print(f"Status Code: {response['statusCode']}")
    print(f"Body: {json.loads(response['body'])}")

    # Test without a name
    test_event_no_name = {}
    response_no_name = lambda_handler(test_event_no_name, test_context)
    print(f"\nStatus Code (no name): {response_no_name['statusCode']}")
    print(f"Body (no name): {json.loads(response_no_name['body'])}")

Input Fungsi Anda: Peristiwa

Objek event ialah kamus Python (atau objek JSON dalam masa jalan lain) yang mengandungi data yang dihantar kepada fungsi anda. Data ini datang daripada perkhidmatan yang mencetuskan Lambda anda.

  • Jika dicetuskan oleh API Gateway: Ia mengandungi kaedah HTTP, pengepala dan isi.
  • Jika dicetuskan oleh S3: Ia mengandungi butiran tentang baldi dan objek S3.
  • Jika dipanggil secara terus: Ia mengandungi apa-apa muatan JSON yang anda hantar.

Fungsi anda memproses input ini untuk melaksanakan tugasnya.

Butiran Masa Jalan: Context

Objek context menyediakan maklumat tentang seruan, fungsi dan persekitaran pelaksanaan. Objek ini berguna untuk pengelogan dan membuat keputusan masa jalan.

  • function_name: Nama fungsi Lambda anda.
  • aws_request_id: ID unik untuk seruan tersebut.
  • memory_limit_in_mb: Memori yang diperuntukkan kepada fungsi.
  • get_remaining_time_in_millis(): Tempoh masa yang tinggal sebelum fungsi mencapai had masa.

Anda boleh menggunakannya untuk pengendalian ralat lanjutan atau pengelogan dalam fungsi anda.

Kebenaran dengan Peranan Pelaksanaan IAM

Fungsi Lambda memerlukan kebenaran untuk berinteraksi dengan perkhidmatan AWS yang lain. Perkara ini diuruskan oleh Peranan IAM, yang khususnya dipanggil "peranan pelaksanaan".

  • Peranan ini menentukan tindakan yang boleh dilakukan oleh Lambda anda (contohnya, menulis log ke CloudWatch dan membaca daripada S3).
  • Anda melampirkan dasar pada peranan ini untuk menetapkan kebenaran.
  • Tanpa kebenaran yang betul, fungsi anda akan gagal apabila cuba mengakses sumber AWS yang lain.

Sentiasa ikuti prinsip keistimewaan minimum dengan memberikan kebenaran yang diperlukan sahaja.

Penalaan Halus: Memori & Had Masa

Apabila anda mencipta fungsi Lambda, anda mengkonfigurasi beberapa tetapan yang mempengaruhi prestasi dan kosnya:

  • Memori: Menentukan RAM yang diperuntukkan (contohnya, 128MB hingga 10GB). Lebih banyak memori biasanya turut memberikan lebih kuasa CPU.
  • Had masa: Tempoh maksimum fungsi anda boleh berjalan (contohnya, 3 saat hingga 15 minit). Jika melebihi tempoh ini, Lambda akan menghentikannya.
  • Pemboleh Ubah Persekitaran: Pasangan kunci-nilai yang boleh diakses oleh kod anda, sesuai untuk konfigurasi tanpa mengubah kod.

Memilih tetapan yang sesuai amat penting untuk kecekapan dan pengoptimuman kos.

Menjadikan Fungsi Anda Aktif

Setelah kod anda siap, anda melancarkannya ke AWS Lambda. Berikut ialah gambaran keseluruhan:

  1. Pakejkan kod anda: Zipkan kod dan semua kebergantungannya ke dalam pakej pelancaran.
  2. Muat naik: Gunakan Konsol AWS, AWS CLI atau alat Infrastruktur sebagai Kod (IaC) seperti AWS SAM atau CloudFormation.
  3. Uji: Panggil fungsi anda secara terus daripada konsol Lambda dengan peristiwa ujian, atau cetuskannya melalui perkhidmatan bersepadu seperti API Gateway atau S3.

Konsol menyediakan cara pantas untuk bermula dan menguji fungsi anda dengan serta-merta.

Semakan Pantas: Pengendali Lambda

Pertimbangkan struktur asas pengendali Lambda Python:

def lambda_handler(event, context):
    # ... your code ...
    return response

Apakah tujuan utama parameter event?

Imbas Kembali: Langkah Tanpa Pelayan Pertama Anda

Syabas! Anda telah mempelajari asas membina fungsi Lambda:

  • Setiap Lambda memerlukan fungsi pengendali sebagai titik mulanya.
  • Anda memilih masa jalan (seperti Python) untuk kod anda.
  • Objek event membawa data input, manakala context menyediakan maklumat masa jalan.
  • Peranan pelaksanaan IAM memberikan kebenaran yang diperlukan kepada fungsi anda.
  • Anda mengkonfigurasi tetapan seperti memori dan had masa untuk prestasi dan kos.

Inilah asas anda untuk membina aplikasi tanpa pelayan yang berkuasa!

Percuma untuk bermula

Pelajari AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda) dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
12
Pelajaran
48

Soalan Lazim

Adakah pelajaran “Membina Fungsi Lambda Pertama Anda” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda), termasuk “Membina Fungsi Lambda Pertama Anda”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda) merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Membina Fungsi Lambda Pertama Anda”?

Tulis dan gunakan fungsi Lambda ringkas dengan mengkonfigurasikan masa jalan, memori dan peranan pelaksanaannya. Anda berlatih AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda) menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda)?

Tiada pengalaman terdahulu diperlukan. Pembelajaran AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda) di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Membina Fungsi Lambda Pertama Anda” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda) ini?

Ya. Setiap pelajaran AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda) menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Apakah AWS Lambda?
  2. Membina Fungsi Lambda Pertama Anda
  3. Pencetus dan Integrasi Lambda
  4. Memantau dan Menyahpepijat Fungsi Lambda
← Kembali ke AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda)