从Visual Studio

时间:2017-01-31 18:33:55

标签: c# visual-studio amazon-web-services aws-lambda

使用Visual Studio的AWS工具插件,如何将Lambda函数批量上传到AWS?

我有一个包含两个定义单独lambda函数的函数的项目。 AWS Lambda的上下文菜单似乎只允许一次发布一个函数。你可以想象,这是一个可维护性的噩梦。

它生成的json配置文件没有任何答案,因为它看起来非常扁平,并且一​​次只允许一个函数:

"region"      : "us-west-2",
"configuration" : "Release",
"framework"     : "netcoreapp1.0",
"function-runtime" : "dotnetcore1.0",
"function-memory-size" : 256,
"function-timeout"     : 5,
"function-handler"     : "LambdaSamples::LambdaSamples.SampleFunction::HelloWorld",
"function-name"        : "HelloWorld",
"function-role"        : "lambda_basic_execution",
"environment-variables" : ""

2 个答案:

答案 0 :(得分:1)

名为“AWS Lambda Project”的Visual Studio项目专为单个Lambda函数而设计。

因此,如果您的解决方案有多个项目,并且您希望一次性部署它们,那么最好通过脚本/命令行来完成它。

新项目向导生成的Readme.md文件包含有关使用dotnet lambda deploy-function按命令行部署的说明。

答案 1 :(得分:0)

通常,我会为每种想要的发行版创建一个选项文件,像这样(新文件是aws-options-live.json,并且具有与我的实时环境有关的特定名称/ env变量):

aws options

然后在主解决方案文件夹之外的Deploy文件夹中的批处理文件中使用以下内容:

echo off
cd ..\ApiGatewayLambda
dotnet lambda deploy-function -cfg aws-options-live.json
set /p asd="Hit enter to continue"

然后,您可以将多个上传链接在一起/进行错误检查等,从而获得所需的智能。

您仍然可以右键单击该项目,然后选择Public to AWS Lambda-它将使用aws-lambda-tools-defaults.json文件发布该功能。