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을 deserialize하는 자체 객체를 만든 것입니다. 그러나, 나는 아마존이 이미 수업을 제공하지 않는다는 것에 충격을 받았다. – Alessandroempire