C# 从Visual Studio批量上载AWS Lambda
使用用于VisualStudio的AWS工具插件,如何将Lambda函数批量上载到AWS 我有一个包含两个函数的项目,它们分别定义了lambda函数。AWS Lambda的上下文菜单似乎只允许一次发布一个函数。你可以想象,这有点像一场噩梦 它生成的json配置文件也没有任何答案,因为它看起来非常简单,一次只允许一个函数:C# 从Visual Studio批量上载AWS Lambda,c#,visual-studio,amazon-web-services,aws-lambda,C#,Visual Studio,Amazon Web Services,Aws Lambda,使用用于VisualStudio的AWS工具插件,如何将Lambda函数批量上载到AWS 我有一个包含两个函数的项目,它们分别定义了lambda函数。AWS Lambda的上下文菜单似乎只允许一次发布一个函数。你可以想象,这有点像一场噩梦 它生成的json配置文件也没有任何答案,因为它看起来非常简单,一次只允许一个函数: "region" : "us-west-2", "configuration" : "Release", "framework" : "netcoreapp1
"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" : ""
名为“AWS Lambda项目”的Visual Studio项目是为单个Lambda函数设计的 所以,如果您的解决方案有多个项目,并且您希望同时部署它们,那么最好通过脚本/命令行来完成
“新建项目向导”生成的
Readme.md
文件包含使用dotnet lambda部署函数通过命令行部署的说明
我通常会为我想要的每种类型的发布创建一个选项文件,如下所示(新文件为aws-options-live.json,具有与我的live环境相关的特定名称/env变量):
然后在主解决方案文件夹的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文件发布该函数。您知道有任何执行此类操作的示例脚本吗?或者我应该自己编写一个吗?我不知道。但是一个简单的批处理文件或Powershell脚本就足够了。我真的只是误解了无服务器应用程序的体系结构。我假设我的api中的每个端点都需要一个lambda函数。结果表明整个项目都托管在一个lambda函数中。我看的文档不清楚。