Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.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
aws-java8-无法反序列化START\u对象标记之外的java.lang.String实例_Java_Amazon Web Services_Aws Lambda - Fatal编程技术网

aws-java8-无法反序列化START\u对象标记之外的java.lang.String实例

aws-java8-无法反序列化START\u对象标记之外的java.lang.String实例,java,amazon-web-services,aws-lambda,Java,Amazon Web Services,Aws Lambda,java新手 我已经用Java8编译过了 javac HelloWorld.java --release 8 并将编译后的文件作为aws lambda代码上传 为什么在aws lambda中运行时会出现错误 public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World"); } } 错误 AWS Lamb

java新手

我已经用Java8编译过了

javac HelloWorld.java --release 8
并将编译后的文件作为aws lambda代码上传

为什么在aws lambda中运行时会出现错误

public class HelloWorld
{
    public static void main(String[] args)
    {   
        System.out.println("Hello, World");
    }   
}
错误
AWS Lambda提供有限的Java运行时来执行AWS Java Lambda处理程序。由于代码在共享多租户环境中运行,出于安全目的,这些限制是逻辑性的,如访问文件系统等。为了执行程序,您的类应该实现
RequestHandler
接口并实现
handleRequest
方法。这是样品从

包示例;
导入com.amazonaws.services.lambda.runtime.Context;
导入com.amazonaws.services.lambda.runtime.RequestHandler;
公共类Hello实现RequestHandler{
公共字符串handleRequest(整数myCount,上下文){
返回字符串.valueOf(myCount);
}
}

您缺少一些基本信息。你不能只是在Lambda上抛出一个类或jar文件。Lambda服务和代码之间有一个定义良好的接口。可以这样想:Lambda启动一个JVM,Lambda本身使用static
main
方法(在其代码中,而不是您的代码中)实现一个Java类并执行它。该
main
方法最终将调用配置的Lambda函数的入口点。我建议这样做。

注意:您应该遵循Java命名约定:类名是用PascalCase编写的
helloWorld
应该是
helloWorld
@McEmployer谢谢。我那样做了,但还是犯了同样的错误。更新。在非aws世界中,您的程序看起来非常完美。:)看看您是否发现它与您需要实现RequestHandler和重写HandlerRequest函数有关
An error occurred during JSON parsing: java.lang.RuntimeException
java.lang.RuntimeException: An error occurred during JSON parsing
Caused by: java.io.UncheckedIOException: com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.lang.String out of START_OBJECT token
 at [Source: lambdainternal.util.NativeMemoryAsInputStream@ae45eb6; line: 1, column: 1]
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.lang.String out of START_OBJECT token
 at [Source: lambdainternal.util.NativeMemoryAsInputStream@ae45eb6; line: 1, column: 1]
    at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:148)
package example;

import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;

public class Hello implements RequestHandler<Integer, String>{
  public String handleRequest(Integer myCount, Context context) {
    return String.valueOf(myCount);
  }
}