В моем AWS AppSync запрос разрешения.Я хочу вернуть объект с некоторыми свойствами и пустой массив в качестве значения - PullRequest
0 голосов
/ 20 апреля 2019

Я использую функцию конвейера AWS AppSync.В моем шаблоне сопоставления запросов я хочу выполнить распределение на основе некоторого условия.

Я задаю распределение переменных.Распределение переменных, имеющее свойства с пустым массивом.

Пример:

request.vtl

1: Первоначально я настраиваю распределение переменных

#set($distribution={
  "NotAnswered": [],
  "NeedsWork": [],
  "AlmostThere": [],
  "Mastered": []
})

2: Обработка и присвоение рассылки.

ПРИМЕЧАНИЕ. Если нет элементов, которые просто возвращают распределение шага 1.

#foreach($itemScore in $itemScores)
  #if($itemScore.score == 100)
    $distribution.Mastered.add($itemScore.itemId)
  #elseif($itemScore.score >= 80)
    $distribution.AlmostThere.add($itemScore.itemId)
  #else
    $distribution.NeedsWork.add($itemScore.itemId)
  #end
#end

3: $ util.toJson ($ distribution)

В моем шаблоне отображения ответов, Я пытаюсь вернуть требуемый формат.

response.vtl

4: вернуть результат

#set($metadata={})
#set($distribution = {})
$util.qr($distribution.put('notAnswered', $result.NotAnswered.size()))
$util.qr($distribution.put('NeedsWork', $result.NeedsWork.size()))
$util.qr($distribution.put('NeedsWork', $result.NeedsWork.size()))
$util.qr($distribution.put('Mastered', $result.Mastered.size()))
$util.qr($metadata.put('distribution', $distribution))
$util.qr($term.put('metadata', $metadata))

Получение сообщения об ошибке: «Неподдерживаемый элемент»$ [NotAnslied] '. "

Спасибо!

...