У меня была функция в AWS Lambda:
def test(pj: Pojo, context: Context): java.util.List[Document]
который вообще не инициализировал pj
входными значениями JSON.
Я нашел другой способ использования AWS Lambda в Scala вот так:
import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.module.scala.DefaultScalaModule
val scalaMapper = new ObjectMapper().registerModule(new DefaultScalaModule)
def test(input: InputStream, output: OutputStream): Unit = {
val inputPojo = scalaMapper.readValue(input, classOf[Pojo])
val answer: Seq[Document] = getTheRealAnswer(inputPojo)
val jsonStr = "{ frustration: \"I wish my answer was JSON.\" }"
output.write(jsonStr.getBytes("UTF-8"))
}
и это работает, за исключением того, что я действительно хочу вернуть в качестве ответа, это массив документов JSON. Как мне это сделать?
Изменить: в моем исходном сообщении я написал: "[первый пример] возвращал ответ как ошибку 22. В основном AWS (я думаю) обрабатывал преобразование JSON списка [документ] ] в качестве имени файла, JSON имеет множество двоеточий, а ошибка 22 возникла из-за того, что двоеточия в именах файлов недопустимы. Странно ». Это оказалось ошибкой при вызове функции AWS Lambda из интерфейса командной строки AWS. Я пропустил имя выходного файла в вызове команды, а возвращенный JSON интерпретировался AWS CLI как имя файла.
org.bson.Document
, но не понимаете, какие звонки монго и что еще может быть задействовано. Какую библиотеку вы используете для подключения к mongo? - person Barry   schedule 24.03.2016