适用于 OpenClaw 代理的自包含 AWS S3 SDK 集成包
AWS S3 Skill. 预装AWS S3 SDK, 供OpenClaw网关容器内使用. 所有中转的. 依赖性都捆绑. 安装时不需要互联网访问.是一项面向实际任务的技能,主要用于安装时从发布时t 安装。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
预打包的 AWS S3 SDK,专供 OpenClaw 网关容器内部使用。所有传递依赖均已打包。安装时无需访问互联网。
从发布版 tarball 安装到网关容器中:
TAG=$(curl -fsSL "https://api.github.com/repos/PanthroCorp-Limited/openclaw-skills/releases"
| grep -o '"tag_name":"aws-s3/v[^"]*"' | head -1 | cut -d'"' -f4)
VERSION=${TAG#aws-s3/v}
URL="https://github.com/PanthroCorp-Limited/openclaw-skills/releases/download/${TAG}/openclaw-aws-s3-${VERSION}.tgz"
docker exec openclaw-gateway npm install "$URL" --prefix /home/node/.openclaw/bin/.npm-global
或从已下载的 tarball 安装:
docker exec openclaw-gateway npm install /path/to/openclaw-aws-s3-0.1.0.tgz --prefix /home/node/.openclaw/bin/.npm-global
const { S3Client, ListObjectsV2Command, GetObjectCommand } = require("@openclaw/aws-s3");
const client = new S3Client({});
const list = await client.send(new ListObjectsV2Command({
Bucket: process.env.EMAIL_BUCKET_NAME,
Prefix: `parsed/${agentName}/`,
}));
const obj = await client.send(new GetObjectCommand({
Bucket: process.env.EMAIL_BUCKET_NAME,
Key: "parsed/agent/email.json",
}));
const body = await obj.Body.transformToString();
凭证通过 AWS SDK 默认凭证提供程序链(Default Credential Provider Chain)自动解析。在 EC2/ECS 环境中,该机制会自动使用 IMDS(实例元数据服务)。当在 Docker 内运行时,请确保 IMDS 跳数限制(hop limit)设置为 2 或更高。
认证过程无需设置任何环境变量。AWS_REGION 应在无法从实例元数据中推断出区域时显式设置。
@aws-sdk/client-s3 及其全部传递依赖一并打包。相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.3万人学习
共49课时 | 82.7万人学习
最新文章