一次部署/发布多个lambda无服务器项目

时间:2019-04-03 13:38:07

标签: asp.net-core aws-lambda serverless

我有VS解决方案文件和多个lambda项目。要将lambda部署/发布到AWS,我必须进行单独的项目,需要右键单击,然后单击“发布到AWS Lambda”。我的解决方案中有10多个lambda项目,需要重复进行此练习。

有没有解决方案可以通过单击来部署所有此lambda函数?

1 个答案:

答案 0 :(得分:0)

您应该能够使用AWS PowerShell tools创建一个快速脚本来一次发布功能

这两个功能PublishUpdate应该足够了。

这是一个示例脚本PowerShell脚本,用于发布单个lambda

$zipFile = "E:\my-awesome-function\release.zip"
$zipFileItem = Get-Item -Path $zipFile
$fileStream = $zipFileItem.OpenRead()
$memoryStream = New-Object System.IO.MemoryStream
$fileStream.CopyTo($memoryStream)   

//Check if function exists
$cmdOutput = Get-LMFunction -FunctionName my-awesome-function;

try{
    if($?) {
        "Function exists update the code"               
        Update-LMFunctionCode -FunctionName my-awesome-function -ZipFile $memoryStream -Publish 1

    } else {
        "Publish new function"           
        Publish-LMFunction -FunctionName my-awesome-function -FunctionZip $zipFilePath -Handler exports.handler -Role arn:aws:iam::0000000:role/my-extract -Region us-east-1 --Runtime python3.6
    }
}
finally {
    $fileStream.Close()
}