后端与接口
在华为云 OBS 上创建存储桶并配置权限…
通过 KooCLI/obsutil 在华为云 OBS 上交互式创建存储桶,完成名称校验、区域选择、权限与存储类别配置及结果验证。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
在华为云 OBS 上创建存储桶并配置权限特定
解决思路
- 检查是否已安装华为云 CLI(hcloud / KooCLI)且版本 >= 3.2.0:执行 `hcloud version`;若未安装或版本过低,参考 cli-installation-guide.md 安装 KooCLI(KooCLI 内置 obsutil,版本检查通过可跳过 obsutil 检查)。
- 确认已配置华为云 OBS 凭证(AK/SK 模式):执行 `hcloud obs ls -s` 查看配置,配置文件位于 ~/.obsutilconfig;若未配置,提示用户执行 `hcloud OBS config -i="<Your AK>" -k="<Your SK>" -e="obs.<Region>.myhuaweicloud.com"`(注意 OBS 凭证不继承华为云凭证,需单独设置)。
- 遵守安全规则:不要在明文输入 AK/SK,不要暴露或从 hcloud 配置文件中提取 AK/SK,只用 `hcloud configure list` 检查凭证状态。
- 确认 bucket-name:若上下文未指定桶名,提示用户需要提供具体桶名(无需其他文字提示)。
- 校验桶名是否符合规范:3-63 个字符,以数字或字母开头,支持小写字母、数字、"-"、".";不允许 IP 地址格式;不能以 "-" 或 "." 开头或结尾;不允许两个相邻的 "."(如 my..bucket);不允许相邻的 "." 和 "-"(如 my-.bucket、my.-bucket);不符合时提醒用户重新设置桶名。
- 选择区域:从上下文获取区域;若未指定,默认使用 ~/.obsutilconfig 中 endpoint 参数对应的区域;并返回提示“桶创建成功后区域不可更改,请谨慎选择,你要创建桶的区域是 ${region}”。
- 创建桶:执行 `hcloud OBS mb obs://bucket-name [-acl=xxx] [-location=xxx] [-fs] [-az=xxx] [-sc=xxx]`;批量创建多个桶时执行 `./scripts/batch_create_buckets.sh <bucket-name-prefix> <regions>`(华为云 CLI 脚本退出码 6 属正常行为,不是执行错误)。
- 可选验证创建结果:执行 `hcloud OBS ls` 列出所有桶确认创建成功,执行 `hcloud OBS stat obs://bucket-name` 查看桶属性;若桶列表包含本次创建的桶名且桶信息正常输出,则提示创建成功并列出桶的基本信息。
- 按需设置可选参数:-acl(private、public-read、public-read-write)、-location(如 cn-north-4、cn-east-2)、-az(multi-az)、-sc(standard、warm、cold、deep-archive)。
- 遵循最佳实践:使用有意义的桶名(如 project-name-environment-purpose-20250527);选择离用户最近的区域以降低延迟(cn-north-4 为常用区域);默认使用 private ACL,仅在需要时开放 public-read;按访问频率选择存储类别(standard 频繁访问、warm 不频繁访问、cold 很少访问、deep-archive 极少访问);用 batch_create_buckets.sh 批量创建;考虑启用桶版本控制以防误删。
- 注意关键约束:桶名在华为云 OBS 全局唯一;创建后区域不可更改;桶本身免费但存储数据、请求和流量会产生费用;不要在脚本中硬编码 AK/SK,使用环境变量或配置文件;确保执行命令的用户有足够 OBS 权限;确保网络可访问华为云 OBS 服务端点;检查账号的 OBS 桶数量配额;重要桶可启用删除保护防止误删。
适用边界 · 注意事项
- 未安装华为云 CLI(hcloud / KooCLI)或版本低于 3.2.0 时
- 未配置华为云 OBS 凭证(AK/SK)时
- 无法访问华为云 OBS 服务端点或账号 OBS 桶配额已满时