我正在尝试发布一个新的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-LMFunction并手动输入内容,我仍然会收到错误。有什么明显的东西我搞砸了吗?我相信我已将所有4个必填字段添加到我的发布功能中。我也可以在网络控制台中创建这些内容,因此我认为它不是凭证问题。
答案 0 :(得分:4)
我只是错过了Runtime参数
Publish-LMFunction -FunctionName $FunctionName -FunctionZip $zipFilePath -Handler exports.handler -Role arn:aws:iam:$AccountNumber:role/$RoleName -Region $Region -Runtime nodejs4.3
他们的文档按要求显示,但是当您在Powershell ISE中编写时,它不会在字段中添加星号。