

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
<a name="powershell-handler"></a>

Ketika fungsi Lambda dipanggil, penangan Lambda memanggil skrip. PowerShell 

Saat PowerShell skrip dipanggil, variabel berikut telah ditentukan sebelumnya:
+  *\$1LambdaInput*— 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. 
+  *\$1LambdaContext*— 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 \$1.

**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](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_requires?view=powershell-6). Untuk informasi selengkapnya tentang paket PowerShell penerapan, lihat[Menyebarkan fungsi PowerShell Lambda dengan arsip file.zip](powershell-package.md).  
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](https://aws.amazon.com/powershell/?track=sdk).

## Mengembalikan data
<a name="powershell-handler-output"></a>

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.