我一直在尝试使用AWS Update-LMFunctionCode将我的文件部署到AWS中现有的lambda函数。与Publish-LMFunction不同的是,我可以只提供zipFile的路径(-FunctionZip),而Update-LMFunction需要一个内存流作为其-Zipfile参数。
有没有加载本地zip文件到内存流的示例可用?我的初始调用出错了,无法解压缩文件...
$deployedFn = Get-LMFunction -FunctionName $functionname
"Function Exists - trying to update"
try{
[system.io.stream]$zipStream = [system.io.File]::OpenRead($zipFile)
[byte[]]$filebytes = New-Object byte[] $zipStream.length
[void] $zipStream.Read($filebytes, 0, $zipStream.Length)
$zipStream.Close()
"$($filebytes.length)"
$zipString = [System.Convert]::ToBase64String($filebytes)
$ms = new-Object IO.MemoryStream
$sw = new-Object IO.StreamWriter $ms
$sw.Write($zipString)
Update-LMFunctionCode -FunctionName $functionname -ZipFile $ms
}
catch{
$ErrorMessage = $_.Exception.Message
Write-Host $ErrorMessage
break
}
这个Powershell函数的文档在这里:http://docs.aws.amazon.com/powershell/latest/reference/items/Update-LMFunctionCode.html ,虽然它需要在框架中运行...