Menyebarkan fungsi PowerShell Lambda dengan arsip file.zip - AWS Lambda

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:

  1. 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 ...
  2. 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)
  3. 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. $PSVersionTableadalah 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
  4. 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.

  5. Panggil fungsi Anda menggunakan perintah AWS Command Line Interface (AWS CLI) invoke.

    > aws lambda invoke --function-name MyFirstPSScript out