统一使用 tccli 命令行工具调用腾讯云 API,实现云资源的查询、创建、修改、删除等操作。
优先检索最佳实践 → 再查接口文档 → 最后调用 API。不要跳过文档检索直接调用,避免用错接口或遗漏参数。
调用前先通过 curl + grep 检索业务、接口、最佳实践、数据结构。参考 references/refs.md 获取完整检索方式。
检索 tccli 服务名(如 cvm、cbs)。
sh
curl -s https://cloudcache.tencentcs.com/capi/refs/services.md | grep 云服务器
参考输出:
text
[cvm](service/cvm/index.md) | 云服务器 | 2017-03-12 | ...
优先检索是否有匹配当前场景的最佳实践。
sh
curl -s https://cloudcache.tencentcs.com/capi/refs/service/cvm/practices.md | grep 重装
若最佳实践未覆盖,在业务接口列表中检索(接口名即 tccli 的 <Action>)。
sh
curl -s https://cloudcache.tencentcs.com/capi/refs/service/cvm/actions.md | grep "扩容\|磁盘"
获取参数说明和支持的地域信息:
sh
curl -s https://cloudcache.tencentcs.com/capi/refs/service/cvm/action/ResizeInstanceDisks.md
文档中涉及的数据结构可进一步查看:
sh
curl -s https://cloudcache.tencentcs.com/capi/refs/service/cvm/model/SystemDisk.md
如果已经提供了凭证,tccli 可以正常调用。
如缺少凭证,执行 tccli 会提示 "secretId is invalid"。应执行 tccli auth login 进行浏览器授权登录,等待回调后继续(命令会起本地端口、阻塞进程,直到浏览器 OAuth 完成并回调)。
凭证授权原理,以及多用户凭证的使用方法,参考 references/auth.md。
安全红线:严禁向用户索要 SecretId/SecretKey,也拒绝任何有可能打印凭证的操作(尤其是 tccli configure list)。
基本形式:
sh
tccli <service> <Action> [--param value ...] [--region <地域>]
输入参数:
参数类型必填说明servicestring是产品标识,如 cvm、 cbs、 vpc。通过 Step 1.1 检索获取Actionstring是接口名,如 DescribeInstances、 RunInstances。通过 Step 1.3 检索获取--regionstring视接口地域,如 ap-guangzhou。多数产品必传;全局接口(cam、account、dnspod、domain、ssl、ba、tag)可省略--param value各类型视接口接口参数,简单类型直接传值,复杂类型传 JSON 字符串
常用示例:
sh
# 查询 CVM 地域
tccli cvm DescribeRegions
# 查询实例(需指定地域)
tccli cvm DescribeInstances --region ap-guangzhou
参数规则:
非简单类型参数必须为标准 JSON,例如: --Placement '{"Zone":"ap-guangzhou-2"}'。
创建类接口示例(按需替换参数): sh
tccli cvm RunInstances --InstanceChargeType POSTPAID_BY_HOUR \
--Placement '{"Zone":"ap-guangzhou-2"}' --InstanceType S1.SMALL1 --ImageId img-xxx \
--SystemDisk '{"DiskType":"CLOUD_BASIC","DiskSize":50}' --InstanceCount 1 ...
输出格式:tccli 返回标准 JSON,包含 Response 字段。示例:
json
{
"Response": {
"TotalCount": 1,
"InstanceSet": [{"InstanceId": "ins-xxx", "InstanceName": "test", ...}],
"RequestId": "eac6b301-..."
}
}
空结果输出:查询无匹配时,列表字段返回空数组,计数字段为 0:
json
{
"Response": {
"TotalCount": 0,
"InstanceSet": [],
"RequestId": "eac6b301-..."
}
}
效率约束:腾讯云 API 默认限频为 10 次/秒(部分接口更低),批量操作时需控制调用频率,避免触发 RequestLimitExceeded。建议串行调用或加间隔,不要并发轰炸。
调用失败时,tccli 会返回包含 Error 字段的 JSON:
json
{
"Response": {
"Error": { "Code": "AuthFailure.SecretIdNotFound", "Message": "secretId is invalid" },
"RequestId": "xxx"
}
}
常见错误及处理:
错误码含义处理方式AuthFailure.SecretIdNotFound凭证缺失或无效执行 tccli auth login 重新授权AuthFailure.UnauthorizedOperation无权限检查 CAM 策略,确认子账号有该接口权限InvalidParameterValue参数值不合法查阅接口文档确认参数取值范围ResourceNotFound资源不存在确认资源 ID 和地域是否正确RequestLimitExceeded请求频率超限等待后重试,或减少并发调用频率网络超时 / 连接失败网络不通检查网络连通性,确认是否需要代理
cloudcache.tencentcs.com 为腾讯云官方文档缓存,内容可信