关于 alicloud-storage-oss-ossutil
此技能通过 ossutil 2.0 命令行工具管理 Alibaba Cloud OSS,涵盖安装、凭据、区域和端点配置,以及常见存储桶与对象操作。
主要功能
- 01安装和配置 ossutil 2.0
- 02列出存储桶和对象
- 03上传、下载与同步操作
- 04区域和端点指引
- 05凭据管理与最小权限建议
适用场景
- 01列出 OSS 存储桶和对象
- 02与 OSS 传输文件
- 03将本地目录与 OSS 同步
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ cinience/ alicloud-skills --skill alicloud-storage-oss-ossutil安装后在 Claude Code 中输入/alicloud-storage-oss-ossutil确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlreferences/install.mdsources.mdscripts/check_ossutil.py详细介绍
Category: 工具
OSS(ossutil 2.0)CLI 技能
验证
python skills/storage/oss/alicloud-storage-oss-ossutil/scripts/check_ossutil.py --output output/alicloud-storage-oss-ossutil/validate.txt
通过标准:命令以 0 退出,并生成 output/alicloud-storage-oss-ossutil/validate.txt。
输出与证据
- 将命令输出、对象列表和同步日志保存到
output/alicloud-storage-oss-ossutil/下。 - 至少保留一项上传或列表结果作为证据。
目标
- 使用 ossutil 2.0 管理 OSS:上传、下载、同步和资源管理。
- 提供统一的 CLI 流程,用于安装、配置、凭据以及区域/终端节点管理。
快速入门流程
- 安装 ossutil 2.0。
- 配置 AK/SK 和默认区域(
ossutil config或配置文件)。 - 运行
ossutil ls列出存储桶,然后使用存储桶所在区域列出对象。 - 执行上传/下载/同步或 API 级命令。
安装 ossutil 2.0
- 请参阅
references/install.md,了解特定平台的安装步骤。
配置 ossutil
- 交互式配置:
ossutil config
- 默认配置文件路径:
- Linux/macOS:
~/.ossutilconfig - Windows:
C:\Users\issuser\.ossutilconfig
- Linux/macOS:
主要配置字段包括:
AccessKey IDAccessKey SecretRegion(默认值示例为cn-hangzhou;如果不确定最佳区域,请询问用户)Endpoint(可选;如果未指定,则根据区域自动推导)
AccessKey 配置说明
使用具有最小权限的 RAM 用户/角色,并避免在命令行中以纯文本形式传递 AK。
推荐方法(环境变量):
export ALICLOUD_ACCESS_KEY_ID="<your-ak>"
export ALICLOUD_ACCESS_KEY_SECRET="<your-sk>"
export ALICLOUD_REGION_ID="cn-beijing"
ALICLOUD_REGION_ID 可用作默认区域;如果未设置,请选择最合适的区域,不确定时询问用户。
或者使用标准共享凭据文件:
~/.alibabacloud/credentials
[default]
type = access_key
access_key_id = <your-ak>
access_key_secret = <your-sk>
命令结构(2.0)
- 高级命令示例:
ossutil config - API 级命令示例:
ossutil api put-bucket-acl
常用命令示例
ossutil ls
ossutil ls oss://your-bucket -r --short-format --region cn-shanghai -e https://oss-cn-shanghai.aliyuncs.com
ossutil cp ./local.txt oss://your-bucket/path/local.txt
ossutil cp oss://your-bucket/path/remote.txt ./remote.txt
ossutil sync ./local-dir oss://your-bucket/path/ --delete
推荐执行流程(先列出存储桶,再列出对象)
- 列出所有存储桶
ossutil ls
-
从输出中获取目标存储桶区域(例如
oss-cn-shanghai),并将其转换为--region格式(cn-shanghai)。 -
列出对象时,显式设置
--region和-e,以避免跨区域签名/终端节点错误。
ossutil ls oss://your-bucket \
-r --short-format \
--region cn-shanghai \
-e https://oss-cn-shanghai.aliyuncs.com
- 对于非常大的存储桶,先限制输出大小。
ossutil ls oss://your-bucket --limited-num 100
ossutil ls oss://your-bucket/some-prefix/ -r --short-format --region cn-shanghai -e https://oss-cn-shanghai.aliyuncs.com
常见错误及处理方法
-
Error: region must be set in sign version 4.- 原因:未配置区域。
- 解决方法:在配置文件中添加
region,或传入--region cn-xxx。
-
The bucket you are attempting to access must be addressed using the specified endpoint- 原因:请求终端节点与存储桶区域不匹配。
- 解决方法:使用存储桶所在区域的终端节点,例如
-e https://oss-cn-hongkong.aliyuncs.com。
-
Invalid signing region in Authorization header- 原因:签名区域与存储桶区域不匹配。
- 解决方法:修正
--region和-e;两者必须与存储桶区域一致。
凭据与安全指南
- 优先使用 RAM 用户 AK 进行访问控制。
- CLI 选项可以覆盖配置文件,但在命令行中传递密钥存在泄露风险。
- 在生产环境中,通过配置文件或环境变量管理密钥。
澄清问题(不确定时询问)
- 目标是 Bucket 还是 Object?
- 需要上传/下载/同步,还是 ACL/生命周期/CORS 等管理操作?
- 目标区域和终端节点是什么?
- 是否从同一区域的 ECS 访问 OSS(可能更适合使用内网终端节点)?
参考资料
-
OSSUTIL 2.0 概览及安装/配置:
-
官方来源列表:
references/sources.md
前置条件
- 执行前配置遵循最小权限原则的阿里云凭据。
- 优先使用环境变量:
ALICLOUD_ACCESS_KEY_ID、ALICLOUD_ACCESS_KEY_SECRET、可选的ALICLOUD_REGION_ID。 - 如果区域不明确,请在执行变更操作前询问用户。
工作流
- 确认用户意图、区域、标识符,以及操作是只读还是会修改数据。
- 先运行一个最精简的只读查询,以验证连接和权限。
- 使用明确的参数和限定的范围执行目标操作。
- 验证结果并保存输出/证据文件。
评论
支持 Markdown