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

如何在provided.al2023自定义运行时的Lambda函数中安装AWS CLI

解决provided.al2023自定义运行时Lambda无AWS CLI的问题

Lambda的provided.al2023自定义运行时默认未预装AWS CLI,且系统默认包管理工具(apt/yum/dnf)因环境只读无法正常使用,以下是可行解决方案:

方案1:使用boto3替代AWS CLI(推荐)

Lambda运行时自带Python环境,boto3是AWS官方SDK,比CLI更适合编程场景,无需额外安装。示例代码:

import boto3

# 示例:调用S3列出存储桶
s3_client = boto3.client('s3')
buckets = s3_client.list_buckets()
print([bucket['Name'] for bucket in buckets['Buckets']])

方案2:临时下载AWS CLI二进制到/tmp目录

Lambda仅/tmp目录具备可写权限,可直接下载预编译的AWS CLI v2二进制包使用:

# 下载压缩包到/tmp
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "/tmp/awscliv2.zip"
# 解压到/tmp目录
unzip /tmp/awscliv2.zip -d /tmp
# 指定安装目录到/tmp(默认系统目录只读)
/tmp/aws/install -i /tmp/aws-cli -b /tmp
# 添加到环境变量并验证
export PATH=/tmp:$PATH
aws --version

注意:该方案每次冷启动都需重复执行,适合临时测试场景。

方案3:打包AWS CLI到自定义运行时部署包

若需每次调用直接可用,可将AWS CLI二进制文件打包到部署包中:

  1. 在本地或EC2实例中下载并安装AWS CLI到本地目录:
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
./aws/install -i ./aws-cli -b ./bin
  1. 将本地的aws-cli和bin目录复制到自定义运行时部署包的根目录
  2. 在Lambda执行脚本中添加环境变量:
export PATH=$LAMBDA_TASK_ROOT/bin:$PATH
# 验证安装
aws --version

此方案无需每次冷启动重复下载,性能更优。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 23:52:46