AWS Java SDK Version For Creating a Lambda

2020-04-07 19:21发布

I'm trying to develop a AWS Java lambda function by following the guidance described here. In it it describes the implementation of the RequestHandler interface and also references the aws-lambda-java-core library. However I am trying to use the latest SDK as recommended here but this is completely different and the RequestHandler interface doesn't appear to exist anymore.

It's not clear to me what the name and version of the java libraries I need. Is there any guidance on all the different versions of the AWS java libraries there are and any updated examples. I have to admit I am completely confused by the AWS Java library versions and naming and don't entirely know which/what I need to add as a dependency just to create a simple AWS lambda function in Java.

2条回答
Anthone
2楼-- · 2020-04-07 19:33

However I am trying to use the latest SDK as recommended here but this is completely different and the RequestHandler interface doesn't appear to exist anymore.

You're using wrong a dependency. This is an SDK for using AWS Services via its REST API, like:

  • Putting an object to S3
  • Listing EC2 instances
  • Deleting an item from AWS DynamoDB
  • Invoking a Lambda

I.e. this is an SDK for working with various AWS services. It consists of many libraries, like aws-java-sdk-s3, aws-java-sdk-dynamodb. aws-java-sdk-lambda is one of them, but it is for interacting with Lambda API and not for authoring Lambdas.

The libraries you need for authoring Lambdas are:

As you see, those are different. First provides Handler interfaces you're looking for and second contains various events Lambda can accept as input: SNS events, CloudWatch timers and so on.

查看更多
SAY GOODBYE
3楼-- · 2020-04-07 19:53

From here:

Lambda supports two approaches for creating a handler:

  • Loading the handler method directly without having to implement an interface. This section describes this approach.

  • Implementing standard interfaces provided as part of aws-lambda-java-core library (interface approach). For more information, see Leveraging Predefined Interfaces for Creating Handler (Java).

Here is aws-lambda-java-core

查看更多
登录 后发表回答