AWS Lambda + Python-ldap

时间:2016-05-04 04:18:54

标签: aws-lambda python-ldap

我正在尝试将python-ldap与AWS Lambda一起使用。我从https://pypi.python.org/pypi/python-ldap

下载了tarball

和使用lambda(lambda_function.py)的代码

ldap_dir -> ldap_query -> Lib -> ldap folder
ldap_dir -> lambda_function.py

并将zip上传到Lambda。

我的目录结构是

box

我错过了什么吗?

1 个答案:

答案 0 :(得分:4)

python-ldap构建于本机OpenLDAP库之上。这个article - 尽管与python ldap模块无关 - 描述了如何捆绑具有本机依赖性的Python包。

这个概要如下:

  • 使用Amazon Linux创建Amazon EC2实例
  • 安装编译器软件包以及OpenLDAP开发人员软件包。 yum install -y gcc openldap-devel
  • 创建虚拟环境:virtualenv env
  • 激活虚拟环境:env/bin/activate
  • 升级点(我不确定这是否有必要,但我没有收到警告):pip install --upgrade pip
  • 安装python-ldap:pip install python-ldap
  • 使用以下代码创建一个处理程序Python脚本,例如lambda.py



import os
import subprocess

libdir = os.path.join(os.getcwd(), 'local', 'lib')

def handler(event, context):
    command = 'LD_LIBRARY_PATH={} python ldap.py'.format(libdir)
    subprocess.call(command, shell=True)




  • 实施您的LDAP功能,在此示例中为ldap.py



import ldap

print ldap.PORT




  • 创建一个zip包,让我们说ldap.zip



zip -9 ~/ldap.zip ldap.py
zip -9 ~/ldap.zip lambda.py
cd env/lib/python2.7/site-packages
zip -r9 ~/ldap.zip *
cd ../../../lib64/python2.7/site-packages
zip -r9 ~/ldap.zip *




  • 将zip下载到您的系统(或将其放入S3存储桶)。现在,您可以使用lambda.handler作为函数名创建Lambda函数,并使用zip文件作为代码。

我希望这会有所帮助。