Публикация лямбда-функции в AWS
Я пытаюсь опубликовать новую функцию Lambda, если она еще не существует. Обновление работает отлично, и я могу обновить его по своему усмотрению. Однако, когда я пытаюсь выполнить команду "Опубликовать", я получаю сообщение об ошибке Member must not be null
$zipFilePath = "E:\ProductName-Dev\release.zip"
$zipFileItem = Get-Item -Path $zipFilePath
$fileStream = $zipFileItem.OpenRead()
$memoryStream = New-Object System.IO.MemoryStream
$fileStream.CopyTo($memoryStream)
$cmdOutput = Get-LMFunction -FunctionName new-extract;
try{
if($?) {
"lambda function already in AWS"
Update-LMFunctionCode -FunctionName new-extract -ZipFile $memoryStream -Publish 1
} else {
"need to publish new lambda function"
Publish-LMFunction -FunctionName new-extract -FunctionZip $zipFilePath -Handler exports.handler -Role arn:aws:iam::0000000:role/my-extract -Region us-east-1
}
}
finally {
$fileStream.Close()
}
Если я запускаю функцию Publish-LM без всех параметров и ввожу данные вручную, я все равно получаю сообщение об ошибке. Есть что-то очевидное, что я порчу? Я полагаю, что все 4 обязательных поля добавлены в мою функцию публикации. Я также могу создать их в веб-консоли, так что я не думаю, что это проблема с учетными данными.
1 ответ
Решение
Мне просто не хватало параметра Runtime
Publish-LMFunction -FunctionName $FunctionName -FunctionZip $zipFilePath -Handler exports.handler -Role arn:aws:iam:$AccountNumber:role/$RoleName -Region $Region -Runtime nodejs4.3
Их документация показывает, что это необходимо, но когда вы пишете в Powershell ISE, в поле не ставится звездочка.