Я понимаю, что контекст — это любое имя, которое вы определяете в своих функциях Lambda, но когда дело доходит до распознавателей Appsync, я немного запутался. Я видел, как $ctx и $context используются в преобразователях AppSync, в том числе в документах AWS. Некоторые из собственных инструментов генерации кода AWS, такие как AWS Amplify CLI, создают преобразователи, которые используют оба в одном коде! Я не могу найти ничего в документах, объясняющих это. Что тут происходит?





(разработчик AWS AppSync здесь)
$ctx и $context в AWS AppSync относятся к одному и тому же Контекст распознавателя. Мы добавили $ctx в качестве псевдонима для $context, чтобы уменьшить количество символов, которые пользователи должны вводить ($ctx на 50% короче, чем $context!!)
Выбор $context или $ctx зависит от личных предпочтений. Я предпочитаю $ctx, когда создаю преобразователи AWS AppSync.
Спасибо за твой ответ. Относится ли то же самое к аргументам? Я видел, как в некоторых местах используется $ctx.args...? Любые другие полезные псевдонимы?
$ctx.* и $context.* относятся к одному и тому же.
Небольшое замечание: $ctx не допускается при ссылке на ключи кеша. Ключи кэширования должны начинаться с $context.args, $context.arguments, $context.identity или $context.source, иначе AppSync завершается с ошибкой 400.
Почему бы и нет $c? На 85% меньше печатать.
Я нахожусь в процессе очистки наших документов и замены
$contextна$ctxдля согласованности. Я добавлю примечание к Страница сопоставления резольвера, объясняющее, что$ctx— это псевдоним. Извините за путаницу.