#amazon-rds #aws-appsync
Вопрос:
Можно ли создать какой-то преобразователь ответов с пропуском для источника данных RDS. Результатом запроса является 1 строка и 1 столбец типа json, которые я хотел бы получить в результате запроса graphql.
Например, схема может быть
type Query {
getJsonFromDb(p: String): Res
}
type Res {
prop: String
}
schema {
query: Query
}
Распознаватель запросов может быть
{
"version": "2018-05-29",
"statements": [
"select json_build_object('prop',:P)"
],
"variableMap": {
":P": $util.toJson($ctx.arguments.p)
}
}
В журнале регистрация результатов выглядит следующим образом
"result": "{"sqlStatementResults":[{"columnMetadata":[{"arrayBaseColumnType":0,"isAutoIncrement":false,"isCaseSensitive":true,"isCurrency":false,"isSigned":false,"label":"json_build_object","name":"json_build_object","nullable":0,"precision":2147483647,"scale":0,"schemaName":"","tableName":"","type":1111,"typeName":"json","signed":false,"autoIncrement":false,"caseSensitive":true,"currency":false}],"numberOfRecordsUpdated":0,"records":[[{"stringValue":"{\"prop\" : \"test\"}"}]]}]}"
Так что все в порядке, но я, похоже, не могу найти правильные выражения скорости, чтобы вывести это.
Все советы, безусловно, оценены по достоинству!
Питер
Ответ №1:
Поэтому я нашел один из способов сделать это, выполнив, как в отображении ответов
$util.parseJson($ctx.result).sqlStatementResults[0].records[0][0].stringValue