Я пишу преобразователь запросов для aws appsync, мой макрос не работает
Я попытался уменьшить его до простейшей формы, как показано в приведенном ниже коде, он просто возвращает #addArgs(), а не «тест».
#set( $argNames = {} )
#macro( addArgs)
"test"
#end
#addArgs()
#foreach( $entry in $arguments.entrySet() )
$!{argNames.put("$entry.key", $entry.value)}
#end
{
"version": "2017-02-28",
"operation": "Invoke",
"payload": {
"body": {
"args": $util.toJson($argNames)
},
"headers": {
"Authorization": "$ctx.request.headers.Authorization",
}
}
}
Я ожидаю получить слово «тест» при запуске теста, но вместо этого получаю #addArgs.





Макросы не поддерживаются в VTL для AppSync
??? облом. Я рад, что получил это, я сводил себя с ума.
Как сказал @Jose A, макросы еще не поддерживаются. Вот проблема с запросом функции:
Спасибо за уточнение, есть ли в документации информация о том, какие функции VTL не поддерживаются в Appsync?