在AWS Lambda函数中进行REST API调用的标准方法是什么?

时间:2019-03-03 04:10:35

标签: python amazon-web-services rest aws-lambda fetch

我通常使用javascript diagonal = [2,5,8,5,9,8,3] theIndex = diagonal.index(8) print(theIndex) 或python fetch进行REST API调用。我想与正在编写的Lambda函数内的调用的lex lex聊天机器人进行交互,但是显然requestsfetch在AWS Lambda中不可用。我还有其他方法可以从lambda函数中对Lex进行REST API调用吗?

另外,有人知道Lex是否需要某种身份验证过程才能接受REST API请求吗?

1 个答案:

答案 0 :(得分:1)

AWS Lambda执行环境不包括特定于语言的依赖项。如果您的代码依赖于第三方库(例如Python的requests),则需要将其包含在ZIP文件中。 AWS Lambda不会自动为您安装这些。

关于第二个问题:是的,Lex需要正确的权限才能被调用。请参阅https://docs.aws.amazon.com/lex/latest/dg/lex-api-permissions-ref.html

上的文档

如果您通过适用于Python的AWS开发工具包(boto3)调用Lex,则SDK会将正确的签名传递给LEX调用。您的lambda函数将需要一个执行角色,以授权该函数调用Lex。

如果要使用requests,则需要计算并在请求中包括签名。这是很多代码,我认为没有理由不使用适用于python的AWS开发工具包。