帮酷LOGO
0 0 评论
  • 显示原文与译文双语对照的内容
文章标签:aws-lambda  plugin  SBT  cod  sbt-plugin  aws  Lambda  DEP  
sbt plugin to deploy code to AWS Lambda

  • 源代码名称:sbt-aws-lambda
  • 源代码网址:http://www.github.com/gilt/sbt-aws-lambda
  • sbt-aws-lambda源代码文档
  • sbt-aws-lambda源代码下载
  • Git URL:
    git://www.github.com/gilt/sbt-aws-lambda.git
  • Git Clone代码到本地:
    git clone http://www.github.com/gilt/sbt-aws-lambda
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/gilt/sbt-aws-lambda
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
  • sbt-aws-lambda

    sbt插件将代码部署到 AWS Lambda

    Join the chat at https://gitter.im/gilt/sbt-aws-lambdaMaven Central

    安装

    将以下内容添加到 project/plugins.sbt file:

    addSbtPlugin("com.gilt.sbt"%"sbt-aws-lambda"%"0.5.0")

    AwsLambdaPlugin 自动插件添加到你的build.sbt:

    enablePlugins(AwsLambdaPlugin)

    用法

    sbt createLambda 从当前项目创建一个新的AWS Lambda函数。

    sbt updateLambda 使用当前项目更新现有的AWS Lambda函数。

    配置

    可以使用sbt设置。环境变量 或者在部署时读取用户输入来配置 sbt-aws-lambda

    sbt设置环境变量描述
    s3BucketAWS_LAMBDA_BUCKET_ID将存储lambda代码的S3 bucket的NAME
    s3KeyPrefixAWS_LAMBDA_S3_KEY_PREFIXjar 将被上载到的S3密钥的前缀
    lambdaNameAWS_LAMBDA_NAME这里 AWS Lambda函数使用的NAME。 默认为项目名称
    handlerNameAWS_LAMBDA_HANDLER_NAMEJava类 NAME 和要执行的方法,比如 com.gilt.example.Lambda::myMethod
    roleArnAWS_LAMBDA_IAM_ROLE_ARNcreating 在创建新的Lambda时使用的角色
    区域AWS_REGION要连接到的AWS区域的NAME。 默认为 us-east-1
    awsLambdaTimeout在秒( 1 -300 ) 中的Lambda超时。 默认值为AWS默认值。
    awsLambdaMemoryLambda函数( 128 -1536,64倍数)的内存总量为 MB。 默认值为AWS默认值。
    lambdaHandlers向处理函数函数( 对于每个项目的多个Lambda方法)的Lambda名称序列。 如果存在,则重写 lambdaNamehandlerName
    deployMethod上传 jar的首选方法,S3 上传到AWS或者 DIRECT,直接上传到 AWS Lambda

    示例配置可能如下所示:

    retrieveManaged :=trueenablePlugins(AwsLambdaPlugin)
    lambdaHandlers :=Seq(
     "function1"->"com.gilt.example.Lambda::handleRequest1",
     "function2"->"com.gilt.example.Lambda::handleRequest2",
     "function3"->"com.gilt.example.OtherLambda::handleRequest3")// or, instead of the 上面, for just one function/handler//// lambdaName := Some("function1")//// handlerName := Some("com.gilt.example.Lambda::handleRequest1")s3Bucket :=Some("lambda-jars")
    awsLambdaMemory :=Some(192)
    awsLambdaTimeout :=Some(30)
    roleArn :=Some("arn:aws:iam::123456789000:role/lambda_basic_execution")

    ( 注意,你需要对角色使用真正的阿恩,而不是复制它)。

    发布这里插件的新版本

    这里插件使用 sbt-sonatype 发布,以在 Maven 中心中发布

    
    sbt publishSigned sonatypeRelease
    
    
    
    


    文章标签:plugin  cod  DEP  aws  SBT  Lambda  sbt-plugin  aws-lambda  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语