java - 不支持 AWS SAM CLI java8 运行时

标签 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

但是我收到了这个错误:

Build Failed

Error: 'java8' runtime is not supported

这是我的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

这是一个使用 AWS Toolkit 插件在 Intellij 中制作的示例项目,我已经安装了 SAM CLI 版本 0.9.0jdk1.8.0_191 (我试过不同的版本但没用),在项目的 GitHub我可以看到支持 java 8:

[ ] Supported AWS Lambda Runtimes
    [x] java8

为什么会出现此错误?

最佳答案

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

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

关于java - 不支持 AWS SAM CLI java8 运行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53815041/

相关文章:

java - 如何对可以为空的列使用 hibernate 延迟加载

java - 如何通过 Servlet 的 doPost() 方法在 Tomcat 服务器上创建文件?

java - 在 spring security 访问被拒绝处理程序中确定所需权限的正确方法

python - 带有 boto3 的 AWS S3 预签名 url - 签名不匹配

amazon-web-services - 将 dynamoDb 流配置为仅在删除时调用 lambda 函数

java - 开发用 Java 开发的中等复杂 Web 应用程序的前端(GUI)和 Controller 部分的最佳方法

java - cloudsearch API java上传

javascript - 为什么 JavaScript aws-sdk ssm getParameter 需要所有参数的权限,而不是我需要的那个?

amazon-web-services - 如何在不使用 NAT 网关的情况下从 aws-lambda 连接 elasticache 和 dynamoDb

带有 native 扩展的 Ruby gem 不适用于 AWS Lambda