TOS 对象存储最小可行性测试
name: volcengine-storage-tos-test
by day253 · published 2026-03-22
$ claw add gh:day253/day253-day253-volcengine-storage-tos-test---
name: volcengine-storage-tos-test
description: Minimal TOS smoke tests. Validate AK/SK config, list buckets, and upload/download with Volcengine TOS. Supports both tosutil CLI and tos_manage.py script.
---
Category: test
# TOS 对象存储最小可行性测试
Goals
Prerequisites
---
方式一:使用 tos_manage.py 脚本(推荐)
依赖:`pip install tos`
1) 列出 Bucket
python skills/storage/tos/volcengine-storage-tos/scripts/tos_manage.py list-buckets --print-json2) 列出对象
python skills/storage/tos/volcengine-storage-tos/scripts/tos_manage.py list-objects \
--bucket <bucket> --prefix "" --max-keys 20 --print-json3) 上传小文件
echo "tos-manage-test-$(date +%s)" > /tmp/tos-test.txt
python skills/storage/tos/volcengine-storage-tos/scripts/tos_manage.py upload \
--bucket <bucket> --key tests/tos-test.txt --file /tmp/tos-test.txt --print-json4) 获取元数据
python skills/storage/tos/volcengine-storage-tos/scripts/tos_manage.py head \
--bucket <bucket> --key tests/tos-test.txt --print-json5) 下载并校验
python skills/storage/tos/volcengine-storage-tos/scripts/tos_manage.py download \
--bucket <bucket> --key tests/tos-test.txt --file /tmp/tos-test-down.txt
diff /tmp/tos-test.txt /tmp/tos-test-down.txt && echo "PASS: content matches" || echo "FAIL: content mismatch"6) 生成预签名 URL
python skills/storage/tos/volcengine-storage-tos/scripts/tos_manage.py presign \
--bucket <bucket> --key tests/tos-test.txt --expires 300 --print-json7) 清理测试文件
python skills/storage/tos/volcengine-storage-tos/scripts/tos_manage.py delete \
--bucket <bucket> --key tests/tos-test.txt --confirm---
方式二:使用 tosutil CLI
tosutil 是火山引擎官方 TOS 命令行工具,需单独下载安装。
参考:https://www.volcengine.com/docs/6349/148772
1) 查看配置
tosutil config2) 列出 Bucket
tosutil ls3) 列出对象(指定 bucket)
tosutil ls tos://<bucket> -s --limited-num 204) 上传小文件
echo "tosutil-test-$(date +%s)" > /tmp/tosutil-test.txt
tosutil cp /tmp/tosutil-test.txt tos://<bucket>/tests/tosutil-test.txt5) 下载并校验
tosutil cp tos://<bucket>/tests/tosutil-test.txt /tmp/tosutil-test-down.txt
diff /tmp/tosutil-test.txt /tmp/tosutil-test-down.txt && echo "PASS" || echo "FAIL"6) 清理
tosutil rm tos://<bucket>/tests/tosutil-test.txt---
Expected Results
常见失败
| 现象 | 原因 | 解决 |
|------|------|------|
| 403 AccessDenied | AK/SK 错误或无权限 | 检查 IAM 策略,确认允许 `tos:*` 或最小读写权限 |
| Endpoint 不可达 | Region 与 Endpoint 不匹配 | 端点格式为 `tos-{region}.volces.com` |
| NoSuchBucket | Bucket 名拼写或 Region 错误 | 先 `list-buckets` 确认桶存在 |
| 上传成功但下载内容不一致 | 网络中断或部分写入 | 检查 ETag 或重新上传 |
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...