You need to enable JavaScript to run this app. 执行aws lambda create-function命令卡住,无法运行后续命令如何解决
优惠活动
大模型
产品
解决方案
定价
更多

执行aws lambda create-function命令卡住,无法运行后续命令如何解决

问题产生原因

该问题是AWS CLI默认的分页机制导致的:AWS CLI v2版本默认开启输出分页功能,当aws lambda create-function命令返回的JSON结果长度超过终端显示行数时,会自动调用less分页器展示内容,你返回结果末尾的(END)就是less分页器的终止提示符。此时分页器会等待用户输入交互指令(如按q退出),导致shell脚本执行到这一步时阻塞卡住,无法继续执行后续逻辑。

解决方案

可以通过以下几种方式禁用AWS CLI的分页功能解决阻塞问题:

  • 方案1:单次命令禁用分页
    在create-function命令中添加--no-cli-pager参数,仅对当前命令禁用分页器,修改后的命令如下:
aws lambda create-function --function-name "${function_name}" \
    --zip-file fileb://function.zip --handler index.handler --runtime nodejs12.x \
    --role=r1 --no-cli-pager
  • 方案2:当前shell会话临时禁用分页
    执行脚本前先导出AWS_PAGER环境变量为空,该配置仅对当前终端会话生效:
export AWS_PAGER=""
  • 方案3:全局关闭AWS CLI分页功能
    如果希望所有aws命令都不触发分页,可以执行以下命令修改全局配置:
aws configure set cli_pager ''

也可以直接编辑~/.aws/config文件,在[default]配置段添加如下内容:

cli_pager =

补充优化建议:原有校验逻辑仅判断命令返回码,若要进一步保证Lambda函数完全激活后再执行调用,可以在创建命令和调用命令之间添加状态等待逻辑:

aws lambda wait function-active --function-name "${function_name}"

该命令会自动轮询Lambda状态,直到函数进入Active状态后才会继续执行后续逻辑,避免出现函数未就绪导致调用失败的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 00:54:03