Vin*_*hah 35 python pip amazon-web-services aws-lambda alexa-skills-kit
我按照教程使用Python创建了一个Alexa应用程序:
我能够成功地遵循所有步骤并使应用程序工作.我现在想要修改python代码并使用外部库,例如import requests
我使用pip安装的任何其他库.如何设置我的lambda函数以包含我在本机上本地安装的任何pip包?
dor*_*ian 16
该官方文档是相当不错的.简而言之,您需要创建一个目录的zip文件,其中包含lambda函数的代码和您在顶级使用的所有外部库.
您可以通过停用virtualenv来模拟它,将所有必需的库复制到工作目录中(sys.path如果在命令行上调用脚本,则始终存在),并检查脚本是否仍然有效.
San*_*dhe 16
由于它是在亚马逊官方文档的链接描述这里 是为您的安装文件夹中所需的软件包,你有你的Python代码拉姆达后只创建的所有文件夹内容的拉链一样简单.
正如Vineeth在他的评论中指出的那样,从内联代码编辑器转换到zip文件上载方法的第一步是在配置设置下更改lambda函数处理程序名称,以包含保存lambda处理程序的python脚本文件名.
lambda_handler => {your-python-script-file-name} .lambda_handler.
其他解决方案如python-lambda和lambda-uploader有助于简化上传过程,最重要的是LOCAL TESTING.这将节省大量的开发时间.
小智 8
为了解决这个特殊问题,我们使用一个名为juniper 的库。简而言之,您所需要做的就是创建一个非常简单的清单文件,如下所示:
functions:
# Name the zip file you want juni to create
router:
# Where are your dependencies located?
requirements: ./src/requirements.txt.
# Your source code.
include:
- ./src/lambda_function.py
Run Code Online (Sandbox Code Playgroud)
从此清单文件中,调用juni build将为您创建 zip 文件工件。该文件将包含您在requirements.txt 中指定的所有依赖项。
该命令将创建该文件./dist/router.zip。我们将该文件与 sam 模板结合使用。但是,您随后可以使用该 zip 并将其上传到控制台,或通过 awscli。
| 归档时间: |
|
| 查看次数: |
58138 次 |
| 最近记录: |