项目介绍:lambda-packs
lambda-packs 是一套用于 AWS Lambda 的预编译包,旨在帮助开发者更轻松地在Lambda环境中使用各种流行的Python库。通过这些预编译包,开发人员可以绕过复杂的编译和部署过程,快速启动和运行其Lambda函数。
使用指南
启动一个新的AWS Lambda功能非常简单,只需按照以下步骤操作:
- 访问 AWS Lambda 官方网站,并创建或登录帐户。
- 导航至“Lambda > Functions”,并创建新的Lambda函数。
- 选择“空白函数”。
- 配置触发器后点击“下一步”。
- 设置函数,选择运行时为 Python 2.7。
- 配置Lambda函数处理程序和角色,选择
service.handler
作为处理程序,并为角色创建一个简单的微服务权限模板。 - 在高级设置中,设置内存为128MB,超时时间为1分钟0秒。
- 代码输入类型选择为“上传.ZIP文件”,并从仓库中选择
Pack.zip
。 - 保存并测试函数。
包的修改方法
如果需要修改功能逻辑,可以按照下面的步骤:
- 修改
source
文件夹中的service.py
文件。 - 将
source
文件夹中的所有文件压缩至一个.zip文件中(不要整体放入一个文件夹)。 - 将新的.zip文件上传到Lambda函数页面。
各种预编译包
Selenium PhantomJS
这个包使用Selenium结合PhantomJS,是一个用于网络抓取的工具。PhantomJS可以伪装成普通浏览器进行登录、点击及表单填写操作,非常适合进行网络测试和抓取任务。目前的演示会随机打开Wikipedia页面并打印标题。
Pyresttest + WRK
结合Pyresttest和WRK,lambda-packs可用于负载测试。在AWS的一个区域中,可以同时运行200个Lambda,对于负载测试非常有利。五分钟的测试费用不到一美元。
Lxml + requests
用于解析静态HTML页面,比PhantomJS更快且内存使用更少,但其功能较为有限。
Tensorflow
作为机器智能的开源库,TensorFlow对AI革命贡献良多。使用Lambda在某些简单模型上是非常简单且便宜的部署方法。
Sklearn 和 Skimage
Sklearn和Skimage是机器学习和图像处理的利器,提供了一套方便快捷的模型部署和图像处理工具。
OpenCV + PIL
用于图像处理和计算机视觉的工具,OpenCV与PIL结合,为图像风格化和算法提供支持。
Pandas
适合统计学家、数据科学家和工程师使用的包,在Lambda环境下可进行高效的数据处理。
Spacy 和 Tesseract
Spacy是一个开源的自然语言处理库,而Tesseract则是一个用于图像文字识别的OCR库。
文档生成器
该包可以生成Word、Excel、PPT、PDF、EPUB等格式的文档,快速且高效,可以大批量生成文档。
卫星图像处理
利用这个包可以在Lambda上处理卫星图像,适合处理Landsat 8的影像带。
PyTorch
Python 3.6支持的PyTorch包,随附了各个与深度学习相关的工具和依赖。
总结
lambda-packs 项目提供了一套成熟的解决方案,使开发者可以在AWS Lambda环境中直接使用预编译的Python包,大大缩短了开发和部署周期。这些包适用于多种任务,包括网络抓取、负载测试、机器学习、数据处理和图像处理等,是一个不可多得的开发工具箱。