Cara menggunakan python lambda list

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

Handler fungsi Lambda Anda adalah metode dalam kode fungsi Anda yang memproses peristiwa. Saat fungsi Anda diaktifkan, Lambda menjalankan metode handler. Saat handler keluar atau mengembalikan respons, hal ini akan tersedia untuk menangani peristiwa lain.

Anda dapat menggunakan sintaksis umum berikut ketika membuat handler fungsi di Python:

def handler_name(event, context): 
    ...
    return some_value

Penamaan

Nama handler fungsi Lambda yang ditentukan pada saat Anda membuat fungsi Lambda berasal dari berikut ini:

  • Nama file tempat fungsi handler Lambda berada.

  • Nama fungsi handler Python.

Handler fungsi dapat berupa nama apa saja; Namun, nama default di konsol Lambda adalah lambda_function.lambda_handler. Nama handler fungsi ini mencerminkan nama fungsi (lambda_handler) dan file tempat kode handler disimpan (

def lambda_handler(event, context):
    message = 'Hello {} {}!'.format(event['first_name'], event['last_name'])  
    return { 
        'message' : message
    }
0).

Untuk mengubah nama handler fungsi di konsol Lambda, di panel Pengaturan runtime, pilihEdit.

Cara menggunakan python lambda list

Cara kerjanya

Ketika Lambda memanggil handler fungsi Anda, Runtime Lambda meneruskan dua argumen ke handler fungsi:

  • Argumen pertama adalah . Peristiwa adalah dokumen yang diformat JSON yang berisi data untuk memproses fungsi Lambda. Runtime Lambda mengonversi peristiwa menjadi objek dan menyampaikannya ke kode fungsi Anda. Ini biasanya dari jenis

    def lambda_handler(event, context):
        message = 'Hello {} {}!'.format(event['first_name'], event['last_name'])  
        return { 
            'message' : message
        }
    1 Python. Ini juga dapat bertipe
    def lambda_handler(event, context):
        message = 'Hello {} {}!'.format(event['first_name'], event['last_name'])  
        return { 
            'message' : message
        }
    2,
    def lambda_handler(event, context):
        message = 'Hello {} {}!'.format(event['first_name'], event['last_name'])  
        return { 
            'message' : message
        }
    3,
    def lambda_handler(event, context):
        message = 'Hello {} {}!'.format(event['first_name'], event['last_name'])  
        return { 
            'message' : message
        }
    4,
    def lambda_handler(event, context):
        message = 'Hello {} {}!'.format(event['first_name'], event['last_name'])  
        return { 
            'message' : message
        }
    5, atau
    def lambda_handler(event, context):
        message = 'Hello {} {}!'.format(event['first_name'], event['last_name'])  
        return { 
            'message' : message
        }
    6.

    Objek peristiwa berisi informasi dari layanan invokasi. Saat Anda mengaktifkan fungsi, Anda menentukan struktur dan konten peristiwa. Saat layanan AWS memanggil fungsi Anda, layanan ini menentukan struktur peristiwa. Untuk informasi selengkapnya tentang peristiwa dari layanan AWS, lihat Menggunakan AWS Lambda dengan layanan lainnya.

  • Argumen kedua adalah objek konteks. Objek konteks diteruskan ke fungsi Anda dengan Lambda saat runtime. Objek ini menyediakan metode dan properti yang memberikan informasi tentang lingkungan invokasi, fungsi, dan lingkungan runtime.

Mengembalikan nilai

Handler dapat mengembalikan nilai secara opsional. Apa yang terjadi dengan nilai yang dikembalikan bergantung pada jenis invokasi dan layanan yang memanggil fungsi. Misalnya:

  • Jika Anda menggunakan tipe invokasi

    def lambda_handler(event, context):
        message = 'Hello {} {}!'.format(event['first_name'], event['last_name'])  
        return { 
            'message' : message
        }
    7, seperti Invokasi sinkron, AWS Lambda mengembalikan hasil panggilan fungsi Python ke klien yang melakukan invokasi fungsi Lambda (dalam respons HTTP terhadap permintaan invokasi, yang diserialkan ke dalam JSON). Misalnya, konsol AWS Lambda menggunakan tipe invokasi
    def lambda_handler(event, context):
        message = 'Hello {} {}!'.format(event['first_name'], event['last_name'])  
        return { 
            'message' : message
        }
    7, jadi ketika Anda melakukan invokasi fungsi menggunakan konsol, konsol akan menampilkan nilai yang dikembalikan.

  • Jika penangan mengembalikan objek yang tidak dapat diserialkan

    def lambda_handler(event, context):
        message = 'Hello {} {}!'.format(event['first_name'], event['last_name'])  
        return { 
            'message' : message
        }
    9, waktu pengoperasian akan mengembalikan kesalahan.

  • Jika penangan mengembalikan

    {
        "first_name": "John",
        "last_name": "Smith"
    }
    0, sebagaimana fungsi Python tanpa pernyataan
    {
        "first_name": "John",
        "last_name": "Smith"
    }
    1 yang dilakukan secara implisit, hasil waktu pengoperasian akan mengembalikan
    {
        "first_name": "John",
        "last_name": "Smith"
    }
    2.

  • Jika Anda menggunakan jenis

    {
        "first_name": "John",
        "last_name": "Smith"
    }
    3 invokasi (invokasi asinkron), nilai akan dibuang.

Dalam Python 3.9 dan rilis yang lebih baru, Lambda menyertakan requestId pemanggilan dalam respons kesalahan.

Contoh

Bagian berikut menunjukkan contoh fungsi Python yang dapat Anda gunakan dengan Lambda. Jika Anda menggunakan konsol Lambda untuk membuat fungsi, Anda tidak perlu melampirkan file arsip .zip untuk menjalankan fungsi di bagian ini. Fungsi ini menggunakan pustaka Python standar yang disertakan dengan runtime Lambda yang Anda pilih. Untuk informasi selengkapnya, lihat Paket deployment Lambda.

Mengembalikan pesan

Contoh berikut menunjukkan fungsi bernama lambda_handler yang menggunakan runtime Lambda

{
    "first_name": "John",
    "last_name": "Smith"
}
5. Fungsi ini menerima input pengguna dari nama depan dan belakang, serta mengembalikan pesan yang berisi data dari peristiwa yang diterima sebagai input.

def lambda_handler(event, context):
    message = 'Hello {} {}!'.format(event['first_name'], event['last_name'])  
    return { 
        'message' : message
    }

Anda dapat menggunakan data peristiwa berikut untuk memanggil fungsi:

{
    "first_name": "John",
    "last_name": "Smith"
}

Respons menunjukkan data peristiwa yang diteruskan sebagai input:

{
    "message": "Hello John Smith!"
}

Menguraikan respons

Contoh berikut menunjukkan fungsi bernama lambda_handler yang menggunakan runtime Lambda

{
    "first_name": "John",
    "last_name": "Smith"
}
5. Fungsi ini menggunakan data peristiwa yang diteruskan oleh Lambda pada saat runtime. Ini menguraikan variabel lingkungan di
{
    "first_name": "John",
    "last_name": "Smith"
}
8 yang dikembalikan dalam respons JSON.

import os
import json
        
def lambda_handler(event, context):
    json_region = os.environ['AWS_REGION']
    return {
        "statusCode": 200,
        "headers": {
            "Content-Type": "application/json"
        },
        "body": json.dumps({
            "Region ": json_region
        })
    }

Anda dapat menggunakan data peristiwa berikut untuk memanggil fungsi:

{
  "key1": "value1",
  "key2": "value2",
  "key3": "value3"
}

Runtime Lambda menetapkan beberapa variabel lingkungan selama permulaan. Untuk informasi selengkapnya tentang variabel lingkungan yang dikembalikan dalam respons saat runtime, lihat Menggunakan variabel lingkungan AWS Lambda.

Fungsi dalam contoh ini bergantung pada respons yang sukses (dalam

{
    "first_name": "John",
    "last_name": "Smith"
}
9) dari API Invoke. Untuk informasi selengkapnya tentang status API Invoke, lihat Memanggil Sintaks Respons invokasi.

Mengembalikan perhitungan

Contoh berikut Lambda Python kode fungsi pada GitHubmenunjukkan fungsi yang disebutlambda_handler yang menggunakan runtimepython3.6 Lambda. Fungsi ini menerima input pengguna dan mengembalikan perhitungan kepada pengguna.

Apa fungsi lambda pada python?

Intinya, lambda digunakan untuk membuat fungsi dalam satu baris ekspresi. Lambda bisa memiliki lebih dari satu argumen atau parameter, tapi hanya bisa memiliki satu ekspresi atau isi. Karena fungsi lambda tidak punya nama, jadi kita butuh variabel untuk menyimpannya.

Apa itu lambda pada java?

Ekspresi Lambda/Lambda Expression ditambahkan pada Java 8. Ekspresi lambda merupakan blok kode pendek yang mengambil parameter dan mengembalikan nilai. Ekspresi lambda mirip seperti method, tapi tidak memerlukan nama dan dapat diimplementasikan tepat di dalam badan method.

Apakah yang dimaksud dengan lambda atau anonymous function?

Lambda expressions dan anonymous function adalah fungsi yang tidak perlu diklarasikan tetapi dapat langsung digunakan sebagai sebuah ekspresi.