Tentukan penangan fungsi Lambda di PowerShell - AWS Lambda

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

Ketika PowerShell skrip dipanggil, variabel-variabel berikut telah ditentukan sebelumnya:

  • $ LambdaInput — Sebuah 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 — LambdaContext Objek Amazon.Lambda.Core.I 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 diminta untuk 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. Untuk informasi selengkapnya tentang paket PowerShell penerapan, lihatMenyebarkan fungsi PowerShell Lambda dengan arsip file.zip.

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. $PSVersionTableadalah variabel PowerShell global yang juga memberikan informasi tentang lingkungan berjalan.