簡體   English   中英

AWS Lambda Cloudwatch 規則

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM