2017-10-18 8 views
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 규칙 이벤트를 구문 분석 하시겠습니까?

고맙습니다.

답변

0

당신은

http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/EventTypes.html

규칙하지 CloudWatch에서 이벤트 이며, 문서의 이벤트 유형의 하나를들을 수 있습니다.

또한 동적 개체를 정의하고 람다에게 전송되는 개체의 세부 정보를 얻을 수 있습니다.

희망이 있습니다.

+0

기본적으로 내가 한 것은 codehaus "read"를 사용하여 JSON을 deserialize하는 자체 객체를 만든 것입니다. 그러나, 나는 아마존이 이미 수업을 제공하지 않는다는 것에 충격을 받았다. – Alessandroempire