在Python AWS Lambda中使用AWS加密SDK - python

我尝试使用aws加密库通过AWS Lambda中的KMS密钥(使用python)对数据进行加密/解密。但是,运行lambda时会出错(抱怨找不到共享库,稍后我将使用确切的lib进行更新)。我猜想该SDK使用的是AWS Lambda环境中未安装的共享库。

这是我正在使用的SDK:https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/python.html

构建软件包时,我正在执行pip install aws-encryption-sdk和密码术。

谁能给我指点如何解决它?

更新:

这是错误消息:

Unable to import module 'lambdaMain': libffi-d78936b1.so.6.0.4: cannot open shared object file: No such file or directory

更新2:
对于那些想知道解决方案的人。我在错误的平台上构建了库。在与您使用的任何lambda运行时兼容的亚马逊AMI上进行pip安装等非常重要。

参考方案

aws-encryption-sdk requires加密库:

SDK需要所有平台上的加密库。所有
版本的pip可以在Windows上安装和构建加密库。
pip 8.1及更高版本可在Linux上安装和构建加密。如果你
使用的是较早版本的pip,而您的Linux环境没有
具有构建加密库所需的工具,您需要
安装它们。有关更多信息,请参见在
Linux。

看来Lambda环境没有所需的库,因此您需要添加它们。

不幸的是,Miserlou的lambda-packages没有它,因此您需要编译自己。

几个指针:

Using moviepy, scipy and numpy in amazon lambda
Running Python with compiled code on AWS Lambda
Using Native Dependencies with AWS Lambda

AWS Lambda调用网址所花费的时间超过Lambda执行限制 - python

语境我想运行一个AWS Lambda,调用一个终结点(触发并忘记操作),然后停止Lambda-始终让终结点自己开心地旋转。尝试次数1。使用超时,例如try: requests.get(url, timeout=0.001) except requests.exceptions.ReadTimeout: ... 2。在grequest中使用异步调用:impor…

在python 3中使用单引号和双引号时出错 - python

使用os.system()函数时,我在python中遇到了EOL错误。以下是代码行生成错误:os.system("cat subdomains.txt | cut -d'"' -f1 ") 基本上,我试图使用分号[“]修改输出字符串(双引号) 参考方案 如果需要在带"的字符串中编写",则可…

在Python 3中获取未绑定方法对象的定义类 - python

说我想为一个类中定义的方法做一个装饰器。我希望该装饰器在被调用时能够在定义该方法的类上设置一个属性(以便将其注册到用于特定目的的方法列表中)。在Python 2中,im_class方法很好地实现了这一点:def decorator(method): cls = method.im_class cls.foo = 'bar' return …

在python-nvd3中的y轴上显示大量数字 - python

在y轴上显示大量数字的一种方法是移动边距:Y axis label not displaying large numbers - Multi-Bar Chart。如何调整python-nvd3中的margin参数?您能代替写10 ^ 6这样的顶部指数并将y轴标记为2.5,3.0等吗,而不是写25,00,000,30,00,000等。 参考方案 如果我正确理解…

在python ephem中,我无法获得某些星座的位置 - python

import ephem date = '2018/9/20' sun = ephem.Sun() sun.compute(date) print 'Sun in', list(ephem.constellation(sun))[1] moon = ephem.Moon() moon.compute(date) pri…