AWS Недавно объявил о поддержке Lambda для PowerShell Core. Ссылочный URL-адрес https://aws.amazon.com/blogs/developer/announcing-lambda-support-for-powershell-core/
Выполнил шаги, указанные в URL-адресе, и развернул ниже сценарий Powershell Core как лямбда-функцию.
Сценарий:
#Requires -Modules @{ModuleName='AWSPowerShell.NetCore';ModuleVersion='3.3.335.0'}
$pw = convertto-securestring -AsPlainText -Force -String "Password"
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist "UserID",$pw
$s = new-pssession -computername "AWSECS2DNS" -credential $cred
Invoke-Command -Session $s -ScriptBlock {Get-Service}
Когда я запускаю функцию лямбда, она не работает. Этот сценарий Powershell пытается удаленно подключиться к экземпляру Windows EC2 и запустить командлет «Get-Service». Он терпит неудачу в Commandlet "new-pssession". Тот же сценарий отлично работает в Windows PowerShell компьютера. Но не работает при запуске в качестве функции AWS Lambda. Это происходит, когда функция AWS Lambda работает в среде Linux. Пожалуйста помоги.
Ошибка:
{
"errorType": "DllNotFoundException",
"errorMessage": "Unable to load shared library 'libpsrpclient' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibpsrpclient: cannot open shared object file: No such file or directory",
"stackTrace": [
"at Amazon.Lambda.PowerShellHost.PowerShellFunctionHost.ExecuteFunction(Stream inputStream, ILambdaContext context)",
"at lambda_method(Closure , Stream , Stream , LambdaContextInternal )"
]
}