#asp.net-core #aws-lambda #serverless
#asp.net-ядро #aws-lambda #Бессерверный
Вопрос:
У меня есть файл решения VS и в нем несколько проектов lambda. Чтобы развернуть / опубликовать мою lambda в AWS, мне нужно перейти к отдельному проекту и щелкнуть правой кнопкой мыши, а затем нажать «Опубликовать в AWS Lambda». В моем решении более 10 лямбда-проектов, и мне нужно выполнять это упражнение повторно.
Есть ли какое-либо решение для развертывания всей этой лямбда-функции одним щелчком мыши?
Ответ №1:
Вы должны уметь использовать инструменты AWS PowerShell для создания быстрого скрипта для публикации ваших функций за один запуск
Этих двух функций Publish и Update должно быть достаточно.
Вот пример сценария сценарий PowerShell для публикации одного lambda
$zipFile = "E:my-awesome-functionrelease.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()
}