web-dev-qa-db-ja.com

パッケージcom.amazonaws.services.lambda.runtimeはAWSに存在しませんJava sdk 1.10.2

Java Getting Started(Authoring AWS Lambda Code in Java) )ページのコード例を試していますが、としてスタックしていますcom.amazonaws.services.lambda.runtimeパッケージが欠落しているようです

サンプルコードは次のとおりです。

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);
    }
}

コードの最初の2つのインポートから、Netbeansとコマンドライン(aws sdk thorugh -cp引数を指定)の両方で同じエラーが発生します。

パッケージcom.amazonaws.services.lambda.runtimeは存在しません

上記のコードからの3番目と4番目のインポート(テストのために挿入したs3インポート)のように、SDKからの他のパッケージのインポートは正常に機能します。

AWSのバージョン1.10.2(aws-Java-sdk-1.10.2.Zip)を使用していますJava = SDK、 http://sdk-for-Java.amazonwebservices.com/latest/aws-Java-sdk.Zip からダウンロード

どんな方向/提案でも大歓迎です。ありがとう!

22
Arthur

これらのクラスは両方とも aws-lambda-Java-core jarに含まれており、AWS SDKとは別に配布されます。 Maven Centralからネイティブにプルできるmaven/gradle /その他のビルドシステムを使用していない場合は、上記のリンクでMaven Centralからダウンロードできます。

37
David Murray
  1. マーケットプレイスからEclipse内にAWSプラグインを追加し、aws lambdaプロジェクトを作成します。
  2. 以下の3つの依存関係を使用して、ファットjarを作成します。

    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-Java-sdk-lambda</artifactId>
        <version>1.11.76</version>
    </dependency>
    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-lambda-Java-core</artifactId>
        <version>1.1.0</version>
    </dependency> 
    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-lambda-Java-events</artifactId>
        <version>1.3.0</version>
    </dependency>
    
5
kartik

いくつかの検索の後、com.amazonaws.services.lambda.runtime.Contextを http://mvnrepository.com/artifact/com.amazonaws/aws-lambda-Java-core/1.1. で見つけました。 (このサイトはsearch.maven.orgよりも好きです。mvnrepository.comはsbtビルドラインを提供することで問題の核心に直結します。)

このクラスはaws-Java-sdk-lambdaにもaws-Java-sdk-coreにもaws-Java-sdkにもありません。

2
dwalend

Sbtを使用している場合:

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

最新バージョンのリンクを確認してください。

1
Yuchen Zhong

アーサー、

Java AWS Lambda のコードサンプルを別の製品Amazon AWS SDK For Java から使用しようとしています。

AWS Lambdaのウェルカムページをお読みください。クラス(コンテキスト、LambdaLogger)でパッケージをダウンロードできる手順(アカウントなどの作成後)

1
Baatr

Com.amazonaws.services.lambda.runtime.LambdaLoggerを見つけました: https://mvnrepository.com/artifact/com.amazonaws/aws-lambda-Java-log4j/1.0.

<dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-lambda-Java-log4j</artifactId>
    <version>1.0.0</version>
</dependency>
0
ljcundiff