В моей функции Java Lambda моя цель - отбросить входящую электронную почту при соблюдении определенных условий. Если нет, электронное письмо продолжает обрабатываться и переходить к следующему действию правила.
У меня есть только 1 набор правил с двумя действиями: первое действие - это лямбда с типом вызова RequestResponse, следующее - WorkMail.
Это хорошо документированный для Node. Итак, очень кратко, моя цель - воспроизвести это в Java:
callback(null, {'disposition':'STOP_RULE_SET'});
Однако мой лямбда-код ниже этого не позволяет. Я не могу понять, какой тип обработчика использовать и как вернуть 'disposition' 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
}
}
Этот вопрос задавался один раз до здесь . Но мой тип возврата handleRequest () не совпадает с типом возврата Collections.singletonMap () (и простое его изменение нарушает другие вещи)
Спасибо