Python Lambda中boto3调用EventBridgeScheduler报Unknown service错误
问题原因及解决方案
问题根源
Lambda运行时默认搭载的boto3版本可能低于支持EventBridge Scheduler的最低版本,导致识别不了scheduler这个服务名。EventBridge Scheduler是较新的AWS服务,旧版boto3的服务定义中还没有包含它。
解决方案
1. 确认当前boto3版本
在Lambda代码里添加一行打印版本的代码,确认自带的boto3版本:
import boto3 print(boto3.__version__)
运行函数后查看日志,如果版本低于1.26.0左右(EventBridge Scheduler首次加入的版本),就需要升级。
2. 打包自定义依赖(升级boto3)
因为Lambda自带的依赖无法直接修改,所以需要自己打包最新的boto3和botocore,通过Lambda层或者直接包含在部署包中:
- 本地创建目录:
python/lib/python3.9/site-packages/ - 用pip安装对应版本的依赖到该目录:
pip install boto3>=1.26.0 botocore>=1.29.0 -t ./python/lib/python3.9/site-packages/ --platform manylinux2014_x86_64 --only-binary=:all:
- 将
python目录打包成zip文件(注意是打包目录本身,而非目录内的文件) - 上传这个zip作为Lambda层,或者直接把依赖目录和你的代码一起打包成部署包上传。
3. 代码小修正
你的代码里未导入json模块,运行json.dumps(event)会报错,记得补充:
import json
内容的提问来源于stack exchange,提问作者Lez
相关产品推荐
相关产品推荐

