Попытка вызвать ошибку 500 в AWS AppSync - PullRequest
0 голосов
/ 25 апреля 2019

Новое в AWS AppSync (и graphQL в целом). Мы настраиваем ведение журналов из AppSync -> CloudWatch -> Kinesis -> Splunk и пытаемся вызвать / вызвать ошибку, которая выдаст 500 из Appsync, и, надеемся, даст нам несколько журналов, в которые мы можем записать предупреждение Splunk.

Кто-нибудь знает, как вызвать ошибку 500 на AppSync? В настоящее время нашим источником данных является Elastic, при работе с шаблонами просто возвращается 200 с заполненным массивом ошибок, так что это не помогает создавать журнал ошибок.

1 Ответ

0 голосов
/ 25 апреля 2019

AWS AppSync - это управляемый сервис GraphQL, и он полностью соответствует спецификации GraphQL.В соответствии со спецификацией GraphQL ответ может содержать как частичный ответ, так и встречающиеся ошибки в случае, если произошла ошибка поля в поле, которое было заменено на ноль, , как описано здесь .

В вашем случае, если вы пытаетесь вызвать ошибку либо из источника данных, либо из шаблона сопоставления, это приведет к нулевому разрешению этого поля с заполнением поля «ошибки» в ответе.

Если у вас есть настройка (AppSync -> CloudWatch -> Kinesis -> Splunk) и вы пытаетесь вставить некоторые данные в Splunk для тестирования, вы можете попробовать следующее для проверки:

  • Включить журналы на странице настроек на консоли AppSync.Вам следует либо выбрать «ОШИБКА», либо «ВСЕ» в качестве параметра на уровне поля.

  • В вашем шаблоне сопоставления на любом из ваших преобразователей вы можете либо ввести синтаксическую ошибку, либосделайте так, чтобы ваш DataSource вызывал исключение.

  • Затем AppSync будет регистрировать разрешенные шаблоны сопоставления запросов / ответов для каждого поля, где полезная нагрузка JSON будет содержать { "fieldInError": true } для полей, разрешенных вошибка.

  • Вы можете использовать это как шаблон фильтра для входа в Splunk через поток Kinesis.

...