包com.amazonaws.services.lambda.runtime在AWS java sdk 1.10.2中不存在

时间:2015-07-01 04:52:01

标签: java aws-sdk aws-lambda aws-java-sdk

我正在尝试Getting Started (Authoring AWS Lambda Code in Java)页面中的Java代码示例,但我被困在 com.amazonaws.services.lambda.runtime pacakge似乎缺失

以下是示例代码:

package example;

import com.amazonaws.services.lambda.runtime.Context;      //package does not exist error
import com.amazonaws.services.lambda.runtime.LambdaLogger; // package does not exist error
import com.amazonaws.services.s3.AmazonS3;       // import works (not needed, I've put them in for testing import)
import com.amazonaws.services.s3.model.S3Object; // import works (not needed, I've put them in for testing import)

public class Hello {
    public String myHandler(int myCount, Context context) {
        LambdaLogger logger = context.getLogger();
        logger.log("received : " + myCount);
        return String.valueOf(myCount);
    }
}

我在Netbeans和命令行中遇到同样的错误(指定aws sdk thorugh -cp参数)来自前两个代码导入:

  

包com.amazonaws.services.lambda.runtime不存在

注意从SDK导入其他软件包工作正常,按照上面代码中的第三和第四个导入(我只是为了测试而输入的s3导入)。

我正在使用从http://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip

下载的AWS Java SDK版本 1.10.2 (aws-java-sdk-1.10.2.zip)

非常感谢任何指示/建议。谢谢!

5 个答案:

答案 0 :(得分:36)

这两个类都包含在aws-lambda-java-core jar中,该jar与AWS SDK分开分发。如果您不使用maven / gradle /其他可以从maven中心本地拉出的构建系统,您可以从上面链接的maven central下载它。

答案 1 :(得分:2)

经过一番搜索后,我在http://mvnrepository.com/artifact/com.amazonaws/aws-lambda-java-core/1.1.0找到了com.amazonaws.services.lambda.runtime.Context。 (我更喜欢这个网站来搜索.maven.org。通过提供sbt构建线,mvnrepository.com可以解决我的问题的核心。)

该类不在aws-java-sdk-lambda中,也不在aws-java-sdk-core或aws-java-sdk中。

答案 2 :(得分:1)

亚瑟,

您尝试将AWS Lambda中的java代码示例用于其他产品Amazon AWS SDK For Java

请阅读AWS Lambda欢迎页面,也许在完成(创建帐户和其他人)的步骤之后,您可以使用您的类下载包(Context,LambdaLogger)

答案 3 :(得分:0)

我发现com.amazonaws.services.lambda.runtime.LambdaLogger位于:https://mvnrepository.com/artifact/com.amazonaws/aws-lambda-java-log4j/1.0.0

<dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-lambda-java-log4j</artifactId>
    <version>1.0.0</version>
</dependency>

答案 4 :(得分:0)

对于那些使用sbt的人:

libraryDependencies ++= Seq(
  "com.amazonaws" % "aws-java-sdk" % "1.11.241",
  "com.amazonaws" % "aws-lambda-java-core" % "1.2.0"
)

检查最新版本的链接: