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

尝试设置AWS Lambda运行时为指定ARN失败,请求技术支持

Lambda运行时指定特定版本CLI命令失败问题解决

问题详情

需要将AWS Lambda函数的运行时设置为特定版本,从日志中获取目标ARN后执行CLI命令失败:
尝试的命令:

aws lambda update-function-configuration --function-name function_name_xxxx --runtime arn:aws:lambda:us-east-1::runtime:b475b23763329123d9e6f79f51886d0e1054f727f5b90ec945fcb2a3ec09afdd

报错信息:

An error occurred (InvalidParameterValueException) when calling the UpdateFunctionConfiguration operation: Value arn:aws:lambda:us-east-1::runtime:b475b23763329123d9e6f79f51886d0e1054f727f5b90ec945fcb2a3ec09afdd at 'runtime' failed to satisfy constraint: Member must satisfy enum value set: [nodejs20.x, provided.al2023, python3.12, java17, nodejs16.x, dotnet8, python3.10, java11, python3.11, dotnet6, java21, nodejs18.x, provided.al2, ruby3.3, java8.al2, ruby3.2, python3.8, python3.9] or be a valid ARN

已尝试无效操作:

  • 给ARN添加AWS账号ID,执行后报错不变
  • 使用get-function-configuration获取的RuntimeVersionConfig.RuntimeVersionArn作为参数,问题依旧

解决步骤

Lambda的--runtime参数只接受两类有效值:官方预设的运行时标识(比如nodejs20.x),或者自定义运行时层的ARN。你之前的错误是把运行时版本ARN直接放到了--runtime参数里,正确的做法是分开指定运行时标识和版本ARN:

  1. 修正CLI命令格式
    用--runtime指定官方运行时标识,用--runtime-version-arn指定目标版本的ARN,命令示例:

    aws lambda update-function-configuration --function-name function_name_xxxx --runtime nodejs20.x --runtime-version-arn arn:aws:lambda:us-east-1::runtime:b475b23763329123d9e6f79f51886d0e1054f727f5b90ec945fcb2a3ec09afdd
    

    注意:--runtime的值要和目标版本ARN对应的运行时类型一致(比如ARN对应nodejs20.x,就填nodejs20.x)。

  2. 验证版本ARN的有效性
    可以通过以下命令查看当前区域支持的所有运行时版本及其ARN,确认你用的ARN存在且可用:

    aws lambda list-runtime-versions --region us-east-1
    
  3. 自定义运行时的特殊处理
    如果是自定义运行时,需要先把运行时打包成Lambda层,然后将--runtime设为provided.al2或provided.al2023,再通过--layers参数关联自定义层的ARN,而非直接把层ARN放到--runtime里。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 14:18:41