我想在lambda函数中使用Boto3 put_bucket_encryption,但当前的Lambda execution enviornment是在botocore版本1.7.37,而put_bucket_encryption是在botocore中引入的1.7.41
所以我想打包我的本地版本的boto3 / botocore。
我使用serverless framework和serverless-python-requirements在lambda函数中包含了pip包,但它似乎不适用于boto3 / botocore。
该功能响应CreateBucket
事件并尝试put_bucket_encryption,但失败
'S3' object has no attribute 'put_bucket_encryption': AttributeError
如何强制我的lambda函数使用更新的botocore?
答案 0 :(得分:0)
能够通过kichik的帮助解决
我错过的是omitting packages文档中关于serverless-python-requirements的部分。具体做法是:
默认情况下,这不会安装已在Lambda上安装的AWS开发工具包。
所以在serverless.yml
我添加了
custom:
pythonRequirements:
noDeploy:
- pytest
部署后,它使用的是我的打包版本的boto3 / botocore