Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从Visual Studio批量上载AWS Lambda_C#_Visual Studio_Amazon Web Services_Aws Lambda - Fatal编程技术网

C# 从Visual Studio批量上载AWS Lambda

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

使用用于VisualStudio的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" : ""

名为“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函数中。我看的文档不清楚。