【问题标题】:Bulk AWS Lambda Upload from Visual Studio从 Visual Studio 批量上传 AWS Lambda
【发布时间】:2017-06-17 07:51:17
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

    • 你知道做这种事情的任何示例脚本吗?还是我应该自己破解一个?
    • 副手,我不知道。但是一个简单的批处理文件或 Powershell 脚本就足够了。
    • 我真的只是误解了无服务器应用程序的架构。我假设我的 api 中的每个端点都需要一个 lambda 函数。原来整个项目都托管在一个 lambda 函数中。从我正在查看的文档中,我并不清楚。
    【解决方案2】:

    我通常为我想要的每种发布类型创建一个选项文件,如下所示(新文件是 aws-options-live.json 并且具有与我的实时环境相关的特定名称/env 变量):

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

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

    然后,您可以随心所欲地将多个上传链接在一起/错误检查等。

    您仍然可以右键单击项目并选择对 AWS Lambda 公开 - 它将使用 aws-lambda-tools-defaults.json 文件来发布函数。

    【讨论】:

      猜你喜欢
      • 2020-10-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-02
      • 1970-01-01
      • 2013-10-18
      • 2020-05-31
      • 2019-07-01
      • 2019-09-04
      相关资源
      最近更新 更多