Невозможно передать действительный JSON между лямбда-функциями - PullRequest
0 голосов
/ 25 августа 2018

У меня проблемы с передачей действительного JSON между двумя разными функциями лямбда Java AWS.Первая функция генерирует rawJson "String" в следующем формате:

rawJson: [
  {
    "id": 1,
    "createdOn": 1535177185000,
    "text": "test text"
  }
]

Передается второй лямбда-функции:

request.withFunctionName(FUNCTION_NAME).withPayload(rawJson);
awsLambdaClient.invoke(request);

В начале второй лямбда-функции,Я печатаю значение входного объекта:

inputObject: [{id=1, createdOn=1535177185000, text=test text}]

Кавычки были удалены, и это больше не является допустимым JSON.Любая попытка отобразить это обратно на мои POJO (или даже заставить мою функцию Lambda принять «String», как это должно быть вместо «Object»), приводит к исключению, связанному с JSON.

Почему мойдействительный JSON становится искаженным между двумя лямбдами?

1 Ответ

0 голосов
/ 25 августа 2018

Это была моя вина.Как я уже говорил, у меня был RequestHandler, подобный этому:

RequestHandler<Object, Void>

В этом не было необходимости.Лямбда достаточно умна сама по себе для сериализации и десериализации моих объектов.Прекрасно работает с моим кодом, обновленным до:

RequestHandler<List<MyClass>, Void>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...