当用户需要通过官方 UCloud CLI 进行真实 UCloud 资源操作时使用,包括查看、创建、更新或删除云主机、网络、EIP、负载均衡器和数据库。当用户想要在 UCloud 上部署 WEB 应用或将服务上线时也使用此技能,即使用户描述的是部署任务而非明确指定云产品。
UCloud CLI是一项面向实际任务的技能,主要用于通过官方 ucloud CLI 操作 UCloud 资源;当用户需要对 UCloud 账号执行实际云操作、资源检查或参数化自动化任务时,优先使用产品子命令;
它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
通过官方 ucloud CLI 操作 UCloud 资源。当用户需要对 UCloud 账号执行实际云操作、资源检查或参数化自动化任务时,优先使用产品子命令;只有产品子命令不存在、能力不足或语义不明确时,才回退到 ucloud api 调用 OpenAPI。
将部署类请求视为该技能的强触发信号。如果用户说想要部署 WEB 程序、发布站点、将服务上线、准备云主机、开放公网访问、绑定 EIP、创建负载均衡器,或为应用配置其他 UCloud 资源,即使请求以应用部署而非原始云 API 调用的方式表述,也要使用此技能。
ucloud CLI,且版本不低于 v0.3.1。如果 ucloud CLI 未安装、不可用或版本低于 v0.3.1,先停止当前资源操作;检查操作系统和架构,再征得用户同意后安装或升级 CLI。
Linux 优先读取 /etc/os-release 并结合 uname -m,macOS 使用 sw_vers 和 uname -m。
安装方法
https://ucloud-infra.cn-bj.ufileos.com/cli/darwin_{amd64,arm64}/ucloud 下载二进制文件,在用户未指定安装路径的情况下,必须安装到 $PATH 中的目录,如果没有权限申请用户授权。https://ucloud-infra.cn-bj.ufileos.com/cli/linux_{amd64,arm64}/ucloud 下载二进制文件,在用户未指定安装路径的情况下,必须安装到 $PATH 中的目录,如果没有权限申请用户授权。https://ucloud-infra.cn-bj.ufileos.com/cli/windows_amd64/ucloud.exe 下载二进制文件,在用户未指定安装路径的情况下,必须安装到 PATH 中的目录,如果没有权限申请用户授权。ucloud --version 或 ucloud --help。ucloud config list 或 ucloud --config,并把输出视为敏感内容。ucloud auth login,支持交互或非交互环境。ucloud init 或 ucloud config add。ucloud config add --profile example-profile --public-key YOUR_PUBLIC_KEY --private-key YOUR_PRIVATE_KEY --region cn-bj2 --zone cn-bj2-02 --project-id org-xxxxxx --active true --agree-upload-log false
--profile 精确调用时,不要为了单次操作切换 active profile。ucloud config update --profile ... --active true 。如果 CLI 要求同时提供密钥才能 update,仍然只给用户占位符模板,不在命令中嵌入真实密钥。ucloud region、ucloud project list 或等价只读命令,确认 profile 可用,再继续资源操作。在决定如何调用 CLI 时,按以下顺序使用信息来源:
ucloud api 子命令进行泛化调用;从 https://github.com/UCloudDoc-Team/api 中获取对应产品的文档,确认 Action 名称、必填参数、请求结构和响应字段后再发送请求。ucloud-cli 仓库,当前述文档和本地 help 仍不足时使用。当需要识别产品别名、决定部署资源、创建资源默认值或处理产品专属约束时,先阅读 references/product-rules.md,再按索引读取对应产品文件。正文只保留通用 CLI、profile、安全和输出规则。
ucloud uhost ...、ucloud eip ... 或 ucloud ulb ...。ucloud --help、ucloud --help 、ucloud --help 和 CLI 文档,确认产品子命令是否覆盖当前任务、需要哪些 flag,以及是否需要 ProjectId、Region 或 Zone。DescribeULB;如果将通过 ucloud api 执行请求,先在 https://github.com/UCloudDoc-Team/api 中找到对应接口。ProjectId、Region 或 Zone。ucloud ;如果必须回退到 API,将 JSON payload 写入临时文件,然后执行 ucloud api --local-file 。默认使用产品专用 CLI 子命令,因为它们更贴近用户意图、参数语义更清晰,也更符合官方 CLI 的高层操作入口,如果用户没有指定 profile,省略 --profile 让 CLI 使用本地激活配置。
只有当产品子命令不存在、缺少必要能力、无法表达嵌套 payload,或本地 help 与产品语义无法确认正确调用方式时,才回退到 ucloud api --local-file 的原始 Action 模式:
# 1. 将 payload 写入临时文件
cat > /tmp/ucloud-request.json << 'EOF'
{
"Action": "DescribeULB",
"ULBId": "ulb-xxxx"
}
EOF
# 2. 调用
ucloud --profile prod-account api --local-file /tmp/ucloud-request.json
# 3. 清理
rm -f /tmp/ucloud-request.json
对于小型 payload,inline flag 风格也可以:
ucloud --profile prod-account api --Action DescribeULB --ULBId ulb-xxxx
回退到 API 前,先记录为什么产品子命令不可用或不适合。对于小型 payload,inline flag 风格也可以;对于大型或嵌套 payload,使用 --local-file。
Profile: Profile: activeUCLOUD_PUBLIC_KEY、UCLOUD_PRIVATE_KEY 或原始密钥材料。--local-file 而非长内联 JSON。ucloud api 调用前,从 https://github.com/UCloudDoc-Team/api 中确认确切的接口定义,而不是凭记忆或仅凭产品命令 help 来推断参数。Region、ProjectId、ULBId 或预期的 profile 名称。ucloud api --local-file,也应先确认没有合适的产品子命令可以完成该操作。Action、Result、Resources、Errors、Next Steps。字段 | 值。ProjectId、Region 或 Zone。UCLOUD_PROJECT_ID、UCLOUD_REGION、UCLOUD_ZONE、UCLOUD_BASE_URL 中读取默认范围。这些不是前置条件,只在命令需要且用户未明确指定时使用。ULBId、EIPId、VPCId、InstanceId 或其他命令/API 专用的 ID。299 IAM permission error 不要立即视为权限不足,先按 API 定义确认是否缺少 ProjectId。299 分流规则、profile 失败处理和错误报告格式见 references/error-handling.md。当公共参数缺失时,在询问用户之前使用 lookup API 进行发现:
ListRegions:当缺少 Region 或用户仅给出了城市或产品名称时,查询可用 Region。ListZones:当缺少 Zone 且已知或可以推断所选 Region 时,查询可用 Zone。GetProjectList:当缺少 ProjectId 时,查询可访问的项目。GetBalance:在创建计费资源前,当配额或账单就绪情况可能影响操作时,查询账户余额。使用这些 lookup API 先缩小缺失值的范围。如果查询后仍存在多个有效候选项,将简短列表呈现给用户并请其选择。具体调用方式、字段提取规则和示例见 references/common-lookups.md。
ucloud uhost list --region cn-bj2 ucloud eip list --region cn-bj2
ucloud api --Action DescribeInstance --region cn-bj2
cat > /tmp/ucloud-request.json << 'EOF'
{
"Action": "DescribeULB",
"Region": "cn-bj2",
"ULBId": "ulb-xxxx"
}
EOF
ucloud --profile prod-account api --local-file /tmp/ucloud-request.json
rm -f /tmp/ucloud-request.json
ucloud uhost describe --region cn-bj2
UCLOUD_CLI_DEBUG=on ucloud uhost list --list cn-bj2
tr -dc 'A-Za-z0-9'参考资料
ucloud api 兜底路径应信任哪个官方信息来源时,首先阅读 references/doc-sources.md。该文件定义了查询顺序并指向 https://github.com/UCloudDoc-Team/api。references/cli-usage.md,包括产品子命令优先、profile 选择规则、ucloud api --local-file 和 payload 结构约定。references/product-rules.md,再按索引读取对应产品文件。相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章