mcpField
A
alicloud-storage-oss-ossutil

alicloud-storage-oss-ossutil

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

关于 alicloud-storage-oss-ossutil

此技能通过 ossutil 2.0 命令行工具管理 Alibaba Cloud OSS,涵盖安装、凭据、区域和端点配置,以及常见存储桶与对象操作。

主要功能

  1. 01安装和配置 ossutil 2.0
  2. 02列出存储桶和对象
  3. 03上传、下载与同步操作
  4. 04区域和端点指引
  5. 05凭据管理与最小权限建议

适用场景

  1. 01列出 OSS 存储桶和对象
  2. 02与 OSS 传输文件
  3. 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.yaml
references/
install.md
sources.md
scripts/
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 流程,用于安装、配置、凭据以及区域/终端节点管理。

快速入门流程

  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 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

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

  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(可能更适合使用内网终端节点)?

参考资料

前置条件

  • 执行前配置遵循最小权限原则的阿里云凭据。
  • 优先使用环境变量:ALICLOUD_ACCESS_KEY_ID、ALICLOUD_ACCESS_KEY_SECRET、可选的 ALICLOUD_REGION_ID。
  • 如果区域不明确,请在执行变更操作前询问用户。

工作流

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

评论

支持 Markdown