不支持AWS SAM CLI java8运行时

时间:2018-12-17 12:15:08

标签: java amazon-web-services aws-lambda aws-cli aws-sam

我正在尝试使用AWS SAM CLI命令构建Lambda应用程序:

sam build --template C:/MyProject/template.yaml --build-dir C:/MyProject/.aws-sam/build

但我遇到此错误:

  

构建失败

     

错误:“ java8”运行时不受支持

这是我的template.yaml

AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: >
  AWS Serverless Application
  Sample SAM Template for AWS Serverless Application
Globals:
  Function:
      Timeout: 20
Resources:
  HelloWorldFunction:
      Type: AWS::Serverless::Function
      Properties:
          CodeUri: target/HelloWorld-1.0.jar
          Handler: helloworld.App::handleRequest
          Runtime: java8
          Environment: 
              Variables:
                  PARAM1: VALUE
          Events:
              HelloWorld:
                  Type: Api
                  Properties:
                      Path: /hello
                      Method: get

这是一个使用Intellij插件在AWS Toolkit中创建的示例项目,我已经安装了SAM CLI版本0.9.0jdk1.8.0_191(我尝试了不同的版本,但是它无效),在项目的GitHub上我看到支持java 8

[ ] Supported AWS Lambda Runtimes
    [x] java8

为什么会出现此错误?

2 个答案:

答案 0 :(得分:3)

似乎build选项不支持java8运行时

当我运行sam build --help时,结果为:enter image description here,这意味着它仅适用于python

答案 1 :(得分:0)

就我而言,

以前,我给出了如下所示,

CodeUri: hello-world.jar

我已经改成

CodeUri: ./hello-world

其中 hello-world 是我的 java 项目的源目录。