1
私は、次のイベントパターンとCloudWatchのルールを作成しました:AWSラムダCloudWatchのルール
{
"detail-type": [
"EMR Cluster State Change"
],
"source": [
"aws.emr"
]
}
アイデアは毎回、クラスタの状態が変化したが、それはラムダ関数を呼び出すことです。クラスは、私が使用することになっていた、だから、
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import com.amazonaws.services.cloudwatchevents.model.Rule;
public class ErrorLambda implements RequestHandler<Rule, String> {
private static final Logger LOG = Logger.getLogger(ErrorLambda.class);
public String handleRequest(Rule input, Context context) {
LOG.info("Rule is " + input);
return "Ok";
}
}
:コード付き
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: Conflicting setter definitions for property "state": com.amazonaws.services.cloudwatchevents.model.Rule#setState(1 params) vs com.amazonaws.services.cloudwatchevents.model.Rule#setState(1 params)
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Conflicting setter definitions for property "state": com.amazonaws.services.cloudwatchevents.model.Rule#setState(1 params) vs com.amazonaws.services.cloudwatchevents.model.Rule#setState(1 params)
:
さて、問題は、それがラムダ関数を呼び出すとき、私は次のエラーを取得するということですCloudWatchルールのイベントを解析するには?
ありがとうございます。
基本的に私が行ったことは、codehaus "read"を使ってJSONを逆シリアル化する自分のオブジェクトを作成したことです。しかし、私はアマゾンがすでにクラスを提供していないことにショックを受けています... – Alessandroempire