Pre-bundled AWS S3 SDK for use inside the OpenClaw gateway container. All transitive
dependencies are bundled. No internet access required at install time.
Install from the release tarball into the gateway container:
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
Or from a downloaded 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();
Credentials resolve via the AWS SDK default credential provider chain. In an EC2/ECS
environment this uses IMDS (Instance Metadata Service) automatically. Ensure the IMDS
hop limit is set to 2 or higher when running inside Docker.
No environment variables are required for authentication. AWS_REGION should be set
if the region cannot be inferred from instance metadata.
@aws-sdk/client-s3 with all transitive dependencies.共 1 个版本