Начинаю с разработки ASK. Некоторое поведение меня немного смущает, и я хотел бы знать, как отлаживать ошибки из консоли "симулятора сервиса". Как я могу получить дополнительную информацию об ошибках The remote endpoint could not be called, or the response it returned was invalid.
?
Вот моя ситуация:
У меня есть навык и три лямбда-функции (ARN: A, ARN: B, ARN: C). Если я устанавливаю конечную точку навыка на ARN: A и пытаюсь протестировать его с помощью симулятора службы навыка, я получаю ответ с ошибкой: The remote endpoint could not be called, or the response it returned was invalid.
Я копирую лямбда-запрос, я направляюсь в лямбда-консоль для ARN: A, я даже устанавливаю тест , вставьте запрос из симулятора службы, я тестирую его и получаю отличный ответ ASK. Затем я перехожу к лямбда-консоли для ARN: B и создаю фиктивный обработчик, который возвращает точно такой же ответ, который ARN: A дал мне с консоли (буквально скопируйте и вставьте). Я установил конечную точку своего навыка на ARN: B, протестирую его с помощью симулятора службы и получаю ожидаемый ответ (поэтому ответ хорошо отформатирован), хотя и статический. Я снова перехожу к лямбда-консоли, копирую и вставляю код из ARN: A в новый ARN: C. Установите конечную точку навыка на ARN: C, и он отлично работает. Проблема с ARN: C заключается в том, что у него нет надлежащих разрешений для сохранения данных в DynamoDB (я все еще знакомлюсь с системой, не уверен, могу ли я разделить роль IAM между разными лямбдами, я думаю, что нет). Как я могу понять, что происходит с ARN: A? Это где-то записано? Я не могу найти ни одной записи в облачных наблюдателях / журналах, относящейся к этой конкретной лямбде или к навыку.
Не уверен, что это актуально, я использую python для своей среды выполнения лямбда, код (на данный момент) встроен в веб-редактор, и я использую boto3 для сохранения в DynamoDB.