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 からダウンロード
どんな方向/提案でも大歓迎です。ありがとう!
これらのクラスは両方とも aws-lambda-Java-core jarに含まれており、AWS SDKとは別に配布されます。 Maven Centralからネイティブにプルできるmaven/gradle /その他のビルドシステムを使用していない場合は、上記のリンクでMaven Centralからダウンロードできます。
以下の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>
いくつかの検索の後、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にもありません。
Sbtを使用している場合:
libraryDependencies ++= Seq(
"com.amazonaws" % "aws-Java-sdk" % "1.11.241",
"com.amazonaws" % "aws-lambda-Java-core" % "1.2.0"
)
最新バージョンのリンクを確認してください。
アーサー、
Java AWS Lambda のコードサンプルを別の製品Amazon AWS SDK For Java から使用しようとしています。
AWS Lambdaのウェルカムページをお読みください。クラス(コンテキスト、LambdaLogger)でパッケージをダウンロードできる手順(アカウントなどの作成後)
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>