You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用AWSLambda create_function()时Boto3版本不匹配报错排查

问题说明

编程创建AWS Lambda函数时抛出参数校验异常,报错信息如下:

botocore.exceptions.ParamValidationError: Parameter validation failed:
Unknown parameter in input: "RunTime", must be one of: FunctionName, Runtime, Role, Handler, Code, Description, Timeout, MemorySize, Publish, VpcConfig, PackageType, DeadLetterConfig, Environment, KMSKeyArn, TracingConfig, Tags, Layers, FileSystemConfigs, ImageConfig, CodeSigningConfigArn, Architectures, EphemeralStorage

升级boto3、botocore后,pip查询已安装版本为:

Package               Version
--------------------- ---------
awscli                1.25.8
boto                  2.49.0
boto3                 1.24.8
botocore              1.27.8

但脚本运行时实际加载的版本为boto3 1.24.4、botocore 1.27.4,与安装版本不匹配。


解决方案

优先修复直接触发报错的问题

当前报错的核心诱因首先是参数拼写错误:你传入的参数名是RunTime(T大写),而API要求的合法参数名是Runtime(t小写),这个拼写错误和boto3版本无关,修正后即可消除这部分参数校验报错。

解决boto3/botocore版本加载不匹配问题

版本不匹配本质是Python解释器加载包时,优先命中了环境中其他路径下的旧版本包,按以下步骤操作即可强制加载最新版本:

  • 第一步:定位旧版本包位置
    在脚本开头加入以下代码,打印当前加载的boto3、botocore实际存放路径,确认旧版本来源:
    import boto3
    import botocore
    print("boto3加载路径:", boto3.__file__)
    print("botocore加载路径:", botocore.__file__)
    
  • 第二步:清理多版本残留,统一环境
    绝大多数版本不一致问题是因为执行pip安装的解释器,和运行脚本的解释器不是同一个。先执行以下命令确认两者路径匹配:
    # 查看当前默认python路径
    which python
    # 查看当前默认pip路径
    which pip
    
    如果两个路径不在同一个环境目录下,不要直接用pip命令安装,改用运行脚本的Python解释器全路径执行安装,避免装错环境:
    # 替换为你的python解释器实际全路径
    /your/python/path/python -m pip install --upgrade --force-reinstall boto3 botocore
    
    如果是全局环境存在多个版本残留,重复执行卸载命令直到提示包不存在,彻底清除旧版本:
    pip uninstall -y boto3 botocore
    
  • 第三步:特殊场景下手动指定包加载路径
    如果因为系统自带依赖(比如系统预装的awscli依赖旧版boto3)无法修改全局包,可以在脚本最开头,导入boto3之前手动插入新版boto3所在的site-packages路径,让解释器优先加载新版:
    import sys
    # 将下方路径替换为你安装新版boto3的site-packages实际路径
    sys.path.insert(0, "/your/new/boto3/install/path/site-packages")
    # 之后再导入boto3即可加载指定版本
    import boto3
    import botocore
    # 执行前先验证版本是否符合预期
    assert boto3.__version__ == "1.24.8"
    assert botocore.__version__ == "1.27.8"
    

内容的提问来源于stack exchange,提问作者BoiteNoire

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 21:06:21