在Java Lambda函数中,如何终止AWS SES入站邮件规则集处理

时间:2020-05-26 12:53:29

标签: java aws-lambda amazon-ses

在我的Java Lambda函数中,我的目标是在满足某些条件的情况下删除传入的电子邮件。如果不是,则电子邮件将继续处理下一个规则操作。

我只有1个规则集,有2个动作:第一个动作是带有RequestResponse调用类型的Lambda,下一个是WorkMail。

这是节点的well documented。因此,很简单,我的目标是在Java中复制它:

callback(null, {'disposition':'STOP_RULE_SET'});

但是,我下面的Lambda代码无法实现此目的。我无法弄清楚如何使用哪种类型的处理程序,以及如何返回“处置” JSON

public class PLSesLambda implements RequestHandler<Object, String>
{
    static LambdaLogger logger;

    Gson gson = new GsonBuilder().setPrettyPrinting().create();

    @Override
    public String handleRequest(Object event, Context context)
    {
        logger = context.getLogger();

        LinkedHashMap<String, String> lhm = (LinkedHashMap<String, String>) event;
        logger.log("Incoming email: " + gson.toJson(lhm));

        JsonParser parser = new JsonParser();
        JsonObject jsonObj = (JsonObject) parser.parse("{'disposition':'STOP_RULE_SET'}");

        return jsonObj.toString(); // does not have effect of stopping rule set
    }   
}

此问题在here之前被问过一次。但是我的handleRequest()返回类型与Collections.singletonMap()的返回类型不匹配(简单地更改它会破坏其他内容)

谢谢

0 个答案:

没有答案