В настоящее время я узнаю о AWS лямбда и как вызвать его из других служб. Мне удалось использовать SNS topi c (с помощью этого урока ) для публикации sh a json вроде:
{
"name":"Bojack",
"lastName":"Horseman",
"job":"Horsin around"
}
и запускает функцию Lambda:
public class LambdaHandler implements RequestHandler<SNSEvent, MyResponse> {
public MyResponse handleRequest(SNSEvent request, Context context){
String input = request.getRecords().get(0).getSNS().getMessage();
MyRequest myRequest = new Gson().fromJson(input, MyRequest.class);
context.getLogger().log(MyRequest.toString());
// do some logic
return null;
}
}
Отлично работает!
Однако сейчас я пытаюсь выяснить, как добавить новый сервис, который также может запускать эту функцию. Например SQS, или кинезис. AFAIK, эти службы отправляют разные json входные данные для лямбда-функции, и я не уверен, как получить их, так как в настоящее время я использую SNSEvent
Есть ли способ получить Событие Generi c и внутри обработчика определяют, какой сервис отправил его? Таким образом, я могу проанализировать его для указанного события c и получить сообщение
Я читал о AWS Отображении источника событий Lambda , но я Я не уверен, что это путь к go. Кроме того, я не совсем понял,