mcpField
A
aliyun-oss-ossutil

aliyun-oss-ossutil

github.com/cinience云与 DevOps39692 次安装11 周前更新
代码仓库

关于 aliyun-oss-ossutil

aliyun-oss-ossutil 是使用 ossutil 2.0 管理阿里云 OSS 的技能,涵盖配置、凭证、按区域执行操作和结果验证,适用于对象存储任务。

主要功能

  1. 01配置 ossutil 和凭证
  2. 02列出存储桶与对象
  3. 03上传、下载和同步文件
  4. 04执行 OSS API 级命令
  5. 05验证操作并保存记录

适用场景

  1. 01向 OSS 存储桶传输文件
  2. 02将本地目录与 OSS 同步
  3. 03按指定区域查看存储桶对象

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/cinience/alicloud-skills --skill aliyun-oss-ossutil

安装后在 Claude Code 中输入/aliyun-oss-ossutil确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
install.md
sources.md
scripts/
check_ossutil.py

详细介绍

类别:工具

OSS(ossutil 2.0)CLI 技能

验证

python skills/storage/oss/aliyun-oss-ossutil/scripts/check_ossutil.py --output output/aliyun-oss-ossutil/validate.txt

通过标准:命令以 0 退出,并生成 output/aliyun-oss-ossutil/validate.txt。

输出与证据

  • 将命令输出、对象列表和同步日志保存到 output/aliyun-oss-ossutil/ 下。
  • 至少保留一条上传或列出结果作为证据。

目标

  • 使用 ossutil 2.0 管理 OSS:上传、下载、同步和资源管理。
  • 提供统一的 CLI 流程,用于安装、配置、凭据以及地域/终端节点管理。

快速入门流程

  1. 安装 ossutil 2.0。
  2. 配置 AK/SK 和默认地域(ossutil config 或配置文件)。
  3. 运行 ossutil ls 列出存储桶,然后使用存储桶所在地域列出对象。
  4. 执行上传/下载/同步或 API 级命令。

安装 ossutil 2.0

  • 平台专属安装步骤请参阅 references/install.md。

配置 ossutil

  • 交互式配置:
ossutil config
  • 默认配置文件路径:
    • Linux/macOS:~/.ossutilconfig
    • Windows:C:\Users\issuser\.ossutilconfig

主要配置字段包括:

  • AccessKey ID
  • AccessKey Secret
  • Region(示例默认值为 cn-hangzhou;如果不确定最佳地域,请询问用户)
  • Endpoint(可选;如果省略,则根据地域自动推导)

AccessKey 配置说明

使用权限最小化的 RAM 用户/角色,并避免在命令行中以明文传递 AK。

推荐方法(环境变量):

export ALIBABACLOUD_ACCESS_KEY_ID="<your-ak>"
export ALIBABACLOUD_ACCESS_KEY_SECRET="<your-sk>"
export ALIBABACLOUD_REGION_ID="cn-beijing"

ALIBABACLOUD_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

推荐执行流程(先列出存储桶,再列出对象)

  1. 列出所有存储桶
ossutil ls
  1. 从输出中获取目标存储桶地域(例如 oss-cn-shanghai),并将其转换为 --region 格式(cn-shanghai)。

  2. 列出对象时,显式设置 --region 和 -e,以避免跨地域签名/终端节点错误。

ossutil ls oss://your-bucket \
  -r --short-format \
  --region cn-shanghai \
  -e https://oss-cn-shanghai.aliyuncs.com
  1. 对于超大型存储桶,先限制输出大小。
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 选项可以覆盖配置文件,但在命令行中传递密钥存在泄露风险。
  • 在生产环境中,通过配置文件或环境变量管理密钥。

澄清问题(不确定时询问)

  1. 目标是 Bucket 还是 Object?
  2. 需要上传/下载/同步,还是 ACL/生命周期/CORS 等管理操作?
  3. 目标地域和终端节点是什么?
  4. 是否从同一地域的 ECS 访问 OSS(可能优先使用内网终端节点)?

参考资料

前提条件

  • 执行前配置权限最小化的阿里云凭据。
  • 优先使用环境变量:ALIBABACLOUD_ACCESS_KEY_ID、ALIBABACLOUD_ACCESS_KEY_SECRET,以及可选的 ALIBABACLOUD_REGION_ID。
  • 如果不确定地域,请在执行更改操作前询问用户。

工作流

  1. 确认用户意图、区域、标识符,以及操作是只读还是会修改数据。
  2. 先运行一个最精简的只读查询,以验证连接和权限。
  3. 使用明确的参数和限定的范围执行目标操作。
  4. 验证结果并保存输出/证据文件。

评论

支持 Markdown