通过官方 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。字段 | 值。 仅在所选产品命令或 API Action 需要且环境尚未提供时,才向用户询问 ProjectId、Region 或 Zone。
可以从 CLI profile、用户上下文或环境变量 UCLOUD_PROJECT_ID、UCLOUD_REGION、UCLOUD_ZONE、UCLOUD_BASE_URL 中读取默认范围。这些不是前置条件,只在命令需要且用户未明确指定时使用。
请用户提供确切的标识,如 ULBId、EIPId、VPCId、InstanceId 或其他命令/API 专用的 ID。
仅在查阅 CLI help、CLI 文档、产品文档、必要时的 API 文档和当前上下文后仍缺失的必填字段,才向用户询问。
将回复转换为命令参数或 JSON 对象,与已有参数合并,直接继续同一产品命令或 API Action,而不是让用户重新陈述完整请求。
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' </dev/urandom | head -c 20
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,再按索引读取对应产品文件。共 2 个版本