Рекомендации по разработке шаблона сопоставления резолвера

Тема
Я использую усиление с помощью GraphQL и DynamoDB в качестве серверной части, которая работает через AppSync. AppSync генерирует json на основе vtl и выполняет его (на самом деле я не знаю, какая часть службы его выполняет), поэтому он называется Шаблон сопоставления преобразователя

Мне нужно покрыть все мои конечные точки GraphQL пользовательскими преобразователями, написанными мной, но разработка вредит, потому что я не могу найти обходного пути, как упростить разработку и тестирование, кроме как через консоль aws, что медленно и неудобно

Что я пробовал
В качестве подхода я попытался создать DynamoDB файлы json и загрузить их через awscli, но AppSync использует другой формат json - Resolver Mapping Template

Что мне нужно
Я хотел бы знать любой обходной путь и рекомендации по разработке, отладке и тестированию моих преобразователей. Так что мне нужно 2 варианта или оба

  1. Сравните сгенерированный шаблон со всем $util материалом. приятно иметь
  2. Выполнить сгенерированный шаблон через cli в DynamoDB для проверки результатов (или, может быть, есть какая-то фиктивная система). здорово иметь

person JIoJIaJIu    schedule 21.06.2019    source источник
comment
Вы уверены, что вам нужен настраиваемый преобразователь для ВСЕХ конечных точек, а автоматически сгенерированные из них вам не нужны? Также, если вам действительно нужен собственный преобразователь, следуйте aws-amplify.github.io/docs/cli/, чтобы мы могли управлять версиями кода vtl вашего преобразователя, а не только через консоль aws.   -  person Yik San Chan    schedule 21.06.2019
comment
@ model создает разные таблицы для каждого аннотированного типа. Я не опытный пользователь DynamoDB, но после прочтения и просмотра спецификаций и руководств я получил, что нужно создать его с помощью разделов, sk и GSI youtube.com/watch?v=HaEPXoXVf2k Я все еще остаюсь между двумя вариантами - используйте @ model, которые создают структуру, которая мне не очень нравится, или используйте резолверы, которые не удобны для развивать. Но мне больше нравится второй вариант по гибкости   -  person JIoJIaJIu    schedule 21.06.2019
comment
›Следуйте aws-amplify.github.io/docs/cli/… спасибо, я делаю то же самое, проблема в том, что для каждого vtl изменения мне нужно нажимать его (5 мин +) или писать и отлаживать через консоль aws   -  person JIoJIaJIu    schedule 21.06.2019
comment
Что ж, видео показывает расширенное использование, в то время как в большинстве случаев автоматически сгенерированный код достаточно приличен для использования. Поэтому я склоняюсь к варианту 1.   -  person Yik San Chan    schedule 21.06.2019
comment
Спасибо @YikSanChan, я последую твоему совету   -  person JIoJIaJIu    schedule 21.06.2019


Ответы (1)


Было бы рекомендовано использовать Amplify CLI для управления автоматическим созданием резолверов, а также для их самостоятельного обновления, чтобы облегчить некоторые «проблемы разработки».

Я заметил, что вы упомянули, что одна из вещей, которые вы ищете, - это возможность быстро протестировать резолверы (которые в этом случае для вас создаст ampify cli), но, как было сказано, потребуется некоторое время с каждым нажатием на усиление для обновления cfn. . Что может вас заинтересовать (и потенциально решить эту проблему для вас), так это новый RFC для ampify cli: https://github.com/aws-amplify/amplify-cli/issues/1433

Посмотрите, удовлетворяет ли он ваши потребности, если нет, добавьте комментарий к этому сообщению на github.

person Ashwin Devendran    schedule 24.06.2019
comment
Этот RFC - именно то, что я искал, спасибо! - person JIoJIaJIu; 25.06.2019