Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Tentukan penangan fungsi Lambda di PowerShell
Ketika fungsi Lambda dipanggil, penangan Lambda memanggil skrip. PowerShell
Saat PowerShell skrip dipanggil, variabel berikut telah ditentukan sebelumnya:
-
$LambdaInput
— A PSObject yang berisi input ke handler. Input ini dapat berupa data peristiwa (diterbitkan oleh sumber peristiwa) atau input kustom yang Anda berikan, seperti string atau objek data kustom apa pun. -
$LambdaContext
— Amazon.Lambda.Core. ILambdaObjek konteks yang dapat Anda gunakan untuk mengakses informasi tentang pemanggilan saat ini—seperti nama fungsi saat ini, batas memori, waktu eksekusi yang tersisa, dan pencatatan.
Misalnya, perhatikan PowerShell contoh kode berikut.
#Requires -Modules @{ModuleName='AWSPowerShell.NetCore';ModuleVersion='3.3.618.0'} Write-Host 'Function Name:' $LambdaContext.FunctionName
Script ini mengembalikan FunctionName properti yang diperoleh dari LambdaContext variabel $.
catatan
Anda harus menggunakan #Requires
pernyataan dalam PowerShell skrip Anda untuk menunjukkan modul yang menjadi sandaran skrip Anda. Pernyataan ini melakukan dua tugas penting. 1) Ini berkomunikasi dengan pengembang lain modul mana yang digunakan skrip, dan 2) mengidentifikasi modul dependen yang perlu dikemas AWS PowerShell alat dengan skrip, sebagai bagian dari penerapan. Untuk informasi selengkapnya tentang #Requires
pernyataan di PowerShell, lihat Tentang membutuhkan
Saat fungsi PowerShell Lambda Anda menggunakan AWS PowerShell cmdlet, pastikan untuk menetapkan #Requires
pernyataan yang mereferensikan AWSPowerShell.NetCore
modul, yang mendukung PowerShell Core—dan bukan modul, yang hanya mendukung Windows. AWSPowerShell
PowerShell Selain itu, pastikan untuk menggunakan versi 3.3.270.0 atau yang lebih baru dari AWSPowerShell.NetCore
yang mengoptimalkan proses impor cmdlet. Jika Anda menggunakan versi lama, Anda akan mengalami proses mulai dari awal dalam waktu yang lebih lama. Untuk informasi selengkapnya, lihat AWS Alat untuk PowerShell
Mengembalikan data
Beberapa invokasi Lambda dimaksudkan untuk mengembalikan data ke pemanggilnya. Misalnya, jika invokasi adalah sebagai respons terhadap permintaan web yang berasal dari API Gateway, fungsi Lambda kita harus mengembalikan respons tersebut. Untuk PowerShell Lambda, objek terakhir yang ditambahkan ke PowerShell pipeline adalah data pengembalian dari pemanggilan Lambda. Jika objek berupa string, data akan dikembalikan apa adanya. Jika tidak, objek dikonversi ke JSON dengan menggunakan cmdlet ConvertTo-Json
.
Misalnya, perhatikan PowerShell pernyataan berikut, yang $PSVersionTable
menambah PowerShell pipa:
$PSVersionTable
Setelah PowerShell skrip selesai, objek terakhir dalam PowerShell pipeline adalah data pengembalian untuk fungsi Lambda. $PSVersionTable
adalah variabel PowerShell global yang juga memberikan informasi tentang lingkungan berjalan.