AWS AppSyn c - GraphQL: лямбда-ошибка не приводит к ошибкам объекта в ответе AppSyn c - PullRequest
0 голосов
/ 29 января 2020

Я использовал, чтобы получить объект ошибок в ответе AppSyn c и код состояния 5xx - если произошла ошибка, возникшая из преобразователя лямбды (ошибка тайм-аута или обработанная ошибка, которую я отправляю в качестве первого параметра в обратном вызове лямбды) )

Например. `callback (errorMessage,…)

Я больше не вижу объект ошибок в AppSyn c - даже если лямбда-преобразователь выдает ошибки.

Это изменение в реализации или ошибка?

Мне нужно обойти эту проблему, изменив шаблон отображения ответов в AppSyn c resolver - чтобы использовать $ util.error на основе флага в Lambda-ответе. При этом я могу получить объект ошибок в ответе AppSyn c, но это все равно ответ 200 OK.

В любом случае мы можем переопределить этот код состояния в AppSyn c?

1 Ответ

0 голосов
/ 31 января 2020

Вы изменили версию используемого шаблона сопоставления с 2017-02-28 на 2018-05-29? Поведение при обработке ошибок вызова изменяется между двумя версиями.

Фрагмент из документации разработчика AppSyn c:

Ранее, с 2017-02-28, в случае ошибка вызова, шаблон отображения ответа был оценен, и результат был автоматически помещен в блок ошибок ответа GraphQL.
С помощью 2018-05-29 теперь мы можем выбрать, что делать с ошибкой, повторно вызвать ее, повысить другая ошибка, или добавьте ошибку при возврате данных.

Вы можете найти документы разработчика AppSyn c, на которые я ссылаюсь здесь .

В настоящее время вы не можете настроить код состояния ошибки в AWS AppSyn c. Предлагаемый подход заключается в использовании errorType в ответе об ошибке. Вы можете использовать методы $util.appendError или $util.error в шаблоне отображения скорости для определения типа ошибки.

...