3

Je tente de publier une nouvelle fonction Lambda si elle n'existe pas déjà. La mise à jour semble fonctionner très bien, et je peux la mettre à jour à volonté. Cependant, lorsque je tente de faire la commande Publier Je continue à obtenir l'erreur Member must not be nullPublier la fonction Lambda dans 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() 
} 

Si je lance le Publish-LMFunction sans tous les paramètres et entrer manuellement les choses que je reçois toujours l'erreur. Y a-t-il quelque chose d'évident que je joue? Je crois que j'ai tous les 4 champs requis ajoutés à ma fonction de publication. Je peux aussi les créer dans la webconsole, donc je ne pense pas que ce soit un problème d'identification.

Répondre

3

je manque tout simplement le paramètre d'exécution

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

leur documentation, il montre au besoin, mais lorsque vous écrivez dans le Powershell ISE ne met pas un astérisque par le champ.