Каков стандартный способ выполнения вызовов REST API в лямбда-функции AWS? - PullRequest
0 голосов
/ 03 марта 2019

Я обычно использую javascript fetch или python requests для выполнения вызовов REST API.Я хочу взаимодействовать с чат-ботом amazon lex, который я пишу для вызовов изнутри моей лямбда-функции, но, очевидно, fetch и requests недоступны в AWS Lambda.Есть ли какой-то другой способ, которым я могу сделать вызов REST API для lex из лямбда-функции?

В отдельном примечании кто-нибудь знает, требуется ли Lex какой-либо процесс аутентификации для приема запроса REST API?

1 Ответ

0 голосов
/ 03 марта 2019

Среда исполнения AWS Lambda не включает языковые зависимости.Если ваш код использует сторонние библиотеки, такие как Python requests, вам необходимо включить их в свой ZIP-файл.AWS Lambda не установит их для вас автоматически.

По поводу второго вопроса: ДА, Лекс требует правильного разрешения для вызова.См. Документацию по https://docs.aws.amazon.com/lex/latest/dg/lex-api-permissions-ref.html

Если вы звоните Lex через AWS SDK для Python (boto3), SDK передаст правильную подпись вызову LEX.Для вашей лямбда-функции потребуется исполнительная роль, которая авторизует ее для вызова Lex.

Если вы хотите использовать requests, вам нужно будет вычислить и включить подпись в ваш запрос.Это много кода для написания, и я не могу найти вескую причину, чтобы вместо этого использовать AWS SDK для python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...