Я могу развернуть и успешно запустить свою лямбду с помощью GraphqlClient в URL-адресе:
https://4er563if.execute-api.us-east-1.amazonaws.com/dev/zipcodes
Насколько я понимаю, это проходит через шлюз API AWS, который запускает лямбду, шлюз принимает данные POST и доставляет их в лямбду.
Но теперь я хочу попробовать код прямо в консоли браузера Lambda. Существует опция «Настроить тестовое событие», где я могу определить и отправить строку JSON в лямбду, но я не знаю, какую информацию должны содержать «событие» и «контекст».
Я пытался:
{
"headers": {"origin":true},
"context": "{ \"functionName\": \"getZipdata\",
\"method\": \"POST\",
\"query\": getZipdata(zip: \"04340\") {id, name}}"
}
но я получаю:
"body": "Apollo Server supports only GET/POST requests."

Я нашел способ!
{
"headers": {
"Accept": "application/json"
},
"path": "/zipcodes",
"resource": "/zipcodes",
"httpMethod": "POST",
"body": "{\"query\":\"query {\\n getZipdata(cp: \\\"78446\\\") {idmunicipio,municipio, asentamiento}\\n }\",\"variables\":{},\"operationName\":null}"
}
Примечание: путь и ресурс задаются файлом, в котором находится ваш обработчик. если точкой входа лямбды является index.handler, то она должна быть /index (но это мне помогло!)