Запуск мутации Appsyn c из лямбда-функции - PullRequest
0 голосов
/ 08 мая 2020

Я продолжаю получать это сообщение об ошибке, когда пытаюсь вызвать мутацию с помощью лямбда, когда я добавляю / изменяю / удаляю элементы из DynamoDB:

"message": "Invalid request, query не может быть нулевым. ",

Итак, что я пытаюсь сделать, это всякий раз, когда модификация выполняется непосредственно на Dynamodb , подписанные пользователи будут уведомление об изменениях.

Я создал новую мутацию с источником данных типа None. Я протестировал его прямо в консоли запросов, и он отлично работает.

Я также создал лямбда-функцию на основе Python, которая может извлекать потоки Dynamodb , и протестировал ее. out with cloudwatch .

Теперь проблема в том, что когда я пытаюсь выполнить HTTP-запрос post от лямбда, я получаю:

error: MalformedHttpRequestException

сообщение: неверный запрос, query не может быть нулевым.


имя мутации: addTodo

данные, которые я отправляю по почте:

{'operationName': 'addTodo',
   'variables':{'id': '400',
                'name': 'some name', 
                'description': 'some description',
                'query': 'mutation addTodo($id: ID,
                                           $name: String,
                                           $description: String)
                 {addTodo(id: $id,
                          name: $name,
                          description: $description)
                  {id name description}}'
                }
}

1 Ответ

0 голосов
/ 09 мая 2020

У вас есть query внутри variables в вашей полезной нагрузке, но ожидается, что он будет передан снаружи следующим образом:

{
    'operationName': 'addTodo',
    'variables': {
        'id': '400',
        'name': 'some name',
        'description': 'some description'
    },
    'query': 'mutation addTodo(...'
}
...