Макрос VTL в AWS Appsync

Я пишу преобразователь запросов для aws appsync, мой макрос не работает

Я попытался свести его к простейшей форме, как показано в приведенном ниже коде, он просто возвращает #addArgs (), а не "test".

#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.


person Liam Sutton    schedule 04.06.2019    source источник


Ответы (1)


Макросы не поддерживаются в VTL для AppSync

person Richard    schedule 05.06.2019
comment
Спасибо за пояснение, есть ли где-нибудь в документации, где говорится, какие функции VTL не поддерживаются в Appsync? - person Liam Sutton; 05.06.2019
comment
Облом. Я рад, что получил это, я сводил себя с ума. - person Jose A; 17.09.2019