繁体   English   中英

在AWS Lambda中使用较新版本的Botocore

[英]Use newer version of botocore in AWS lambda

我想在lambda函数中使用Boto3 put_bucket_encryption ,但是当前的Lambda执行环境是botocore版本1.7.37,而put_bucket_encryption是在botocore 1.7.41中引入的。

因此,我想打包本地版本的boto3 / botocore。

我已经使用无服务器框架在lambda函数中包含了pip软件包,以及无服务器python-requirements ,但它似乎不适用于boto3 / botocore。

该函数响应CreateBucket事件并尝试put_bucket_encryption ,但是失败

'S3' object has no attribute 'put_bucket_encryption': AttributeError

如何强制我的lambda函数使用最新的botocore?

在基奇克的帮助下得以解决

我错过的是有关在serverless-python-requirements文档中省略软件包的部分。 特别:

默认情况下,这不会安装Lambda上已经安装的AWS开发工具包。

所以在我的serverless.yml我添加了

custom:
  pythonRequirements:
    noDeploy:
      - pytest

部署后,它使用的是打包的boto3 / botocore版本

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM