[英]AWS Lambda Cloudwatch Rule
我創建了一個具有以下事件模式的 CloudWatch 規則:
{
"detail-type": [
"EMR Cluster State Change"
],
"source": [
"aws.emr"
]
}
這個想法是每次集群的狀態發生變化時,它都會調用一個 lambda 函數。
現在,問題是當它調用 lambda 函數時,我收到以下錯誤:
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)
用代碼:
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";
}
}
那么,我應該使用哪個類來解析 CloudWatch 規則事件?
謝謝你。
您可以收聽文檔中的一種事件類型,
http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/EventTypes.html
規則不是cloudwatch 事件。
您還可以定義一個動態對象並獲取發送到您的 Lambda 的對象的詳細信息。
希望能幫助到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.