Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menyebarkan fungsi PowerShell Lambda dengan arsip file.zip
Paket penerapan untuk PowerShell runtime berisi PowerShell skrip Anda, PowerShell modul yang diperlukan untuk PowerShell skrip Anda, dan rakitan yang diperlukan untuk meng-host Core. PowerShell
Buat fungsi Lambda
Untuk mulai menulis dan menjalankan PowerShell skrip dengan Lambda, Anda dapat menggunakan New-AWSPowerShellLambda
cmdlet untuk membuat skrip pemula berdasarkan templat. Anda dapat menggunakan cmdlet Publish-AWSPowerShellLambda
untuk men-deploy skrip Anda ke Lambda. Kemudian, Anda dapat menguji skrip Anda melalui baris perintah atau konsol Lambda.
Untuk membuat PowerShell skrip baru, unggah, dan uji, lakukan hal berikut:
-
Untuk menampilkan daftar templat yang tersedia, jalankan perintah berikut:
PS C:\> Get-AWSPowerShellLambdaTemplate Template Description -------- ----------- Basic Bare bones script CodeCommitTrigger Script to process AWS CodeCommit Triggers ...
-
Untuk membuat skrip sampel berdasarkan templat
Basic
, jalankan perintah berikut:New-AWSPowerShellLambda -ScriptName MyFirstPSScript -Template Basic
File baru bernama
MyFirstPSScript.ps1
dibuat di subdirektori baru dari direktori saat ini. Nama direktori didasarkan pada parameter-ScriptName
. Anda dapat menggunakan parameter-Directory
untuk memilih direktori alternatif.Anda dapat melihat file baru tersebut memiliki konten berikut:
# PowerShell script file to run as a Lambda function # # When executing in Lambda the following variables are predefined. # $LambdaInput - A PSObject that contains the Lambda function input data. # $LambdaContext - An Amazon.Lambda.Core.ILambdaContext object that contains information about the currently running Lambda environment. # # The last item in the PowerShell pipeline is returned as the result of the Lambda function. # # To include PowerShell modules with your Lambda function, like the AWSPowerShell.NetCore module, add a "#Requires" statement # indicating the module and version. #Requires -Modules @{ModuleName='AWSPowerShell.NetCore';ModuleVersion='3.3.618.0'} # Uncomment to send the input to CloudWatch Logs # Write-Host (ConvertTo-Json -InputObject $LambdaInput -Compress -Depth 5)
-
Untuk melihat bagaimana pesan log dari PowerShell skrip Anda dikirim ke Amazon CloudWatch Logs, batalkan komentar pada
Write-Host
baris skrip sampel.Untuk mendemonstrasikan bagaimana Anda dapat mengembalikan data dari fungsi Lambda Anda, tambahkan garis baru di akhir skrip dengan
$PSVersionTable
. Ini menambah$PSVersionTable
ke PowerShell pipa. 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.Setelah membuat perubahan ini, dua baris terakhir dari skrip sampel akan terlihat seperti ini:
Write-Host (ConvertTo-Json -InputObject $LambdaInput -Compress -Depth 5) $PSVersionTable
-
Setelah mengedit file
MyFirstPSScript.ps1
, ubah direktori ke lokasi skrip. Kemudian jalankan perintah berikut untuk menerbitkan skrip ke Lambda:Publish-AWSPowerShellLambda -ScriptPath .\MyFirstPSScript.ps1 -Name MyFirstPSScript -Region us-east-2
Perhatikan bahwa parameter
-Name
menentukan nama fungsi Lambda, yang muncul di konsol Lambda. Anda dapat menggunakan fungsi ini untuk mengaktifkan skrip Anda secara manual. -
Panggil fungsi Anda menggunakan perintah AWS Command Line Interface (AWS CLI)
invoke
.> aws lambda invoke --function-name MyFirstPSScript out