3

Я пытаюсь опубликовать новую функцию Лямбда, если она еще не существует. Обновление, похоже, отлично работает, и я могу его обновить по своему усмотрению. Однако, когда я пытаюсь сделать команду Опубликовать я получаю ошибку Member must not be nullОпубликовать Лямбда-функцию в AWS

$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-LMFunction без всех параметров и ввести вручную вещи я все еще получаю ошибку. Есть ли что-то очевидное? Я считаю, что у меня есть все 4 обязательные поля, добавленные в мою функцию публикации. Я также могу создать их в веб-консоли, поэтому я не думаю, что это вопрос с полномочиями.

ответ

3

Я был просто отсутствует параметр Runtime

Publish-LMFunction -FunctionName $FunctionName -FunctionZip $zipFilePath -Handler exports.handler -Role arn:aws:iam:$AccountNumber:role/$RoleName -Region $Region -Runtime nodejs4.3 

их документации показывает, как требуется, но если вы пишете в Powershell ISE он не ставит звездочку полем.

Смежные вопросы