阅读后请特别查看屏幕截图。
我正在 AWS Lambda 上部署一个使用该包的 python 脚本impyla
它依赖于包bitarray
.
from impala.dbapi import connect
我的Python文件名为authorize_ingress.py
其中有一个函数称为handle_authorize_ingress(event, context)
已正确配置。请参阅下面的屏幕截图:
我的函数的文件:
lambda 中的处理程序指定:
代码本身的处理程序:
我的 zip 文件的所有内容都在根目录中(而不是嵌套在目录中):
套餐bitarray
自动安装impyla
:
每次我都会得到这样的回应:
![response](https://i.stack.imgur.com/k2Oqo.png)
到目前为止,我已经尝试过:
- 该包是用生成的
zip -r
option.
- 这些文件位于 zip 的根目录中,而不是嵌套在目录中。
- 该功能在本地运行得非常好。
- 我都尝试过
virtualenv
并简单地将依赖项安装在packages/
路径但没有运气
有什么想法我可能做错了什么吗?我生成了我的部署包如下AWS 的 Lambda 部署指南 https://docs.aws.amazon.com/lambda/latest/dg/python-package.html。任何帮助将不胜感激,谢谢!
干得好。你可以通过这个gdrive下载这个lambda层link https://drive.google.com/file/d/17KU9-wWoVl5Bm84znpPDZD20yifgYvOS/view?usp=sharing。该层与 Python 3.8 兼容,因此请确保选择正确的 lambda 运行时。
如果您想知道我是如何生成这个 lambda 层的,这里列出了我所做的基本操作:
- 无服务器框架
- 无服务器 python 需求插件
- docker
- 无服务器.yml
service: serverless-example
provider:
name: aws
runtime: python3.8
region: us-east-1
profile: dummy
functions:
dummy:
handler: dummy.handler
plugins:
- serverless-python-requirements
custom:
pythonRequirements:
dockerizePip: non-linux
layer: true
impyla==0.16.2
然后简单地做sls package -p pkg
。该图层名为pythonRequirements.zip
将在一分钟内准备好.serverless
目录。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)