Files
DNSPod-Skill/references/common-errors.md
OpenClaw 7abea390ad Initial commit: Tencent DNSPod DNS deployment skill
- Support for single record deployment
- Batch deployment from JSON config
- Service quick deployment (Web/API/CDN)
- .env file support for secure credentials
- Complete documentation
2026-03-01 11:44:05 +08:00

3.8 KiB

DNSPod API常见错误处理

错误码说明

认证相关

AuthFailure

错误: 签名验证失败

原因:

  • SecretId或SecretKey错误
  • 签名算法错误
  • 请求时间戳偏差过大

解决方案:

  1. 检查环境变量 TENCENT_SECRET_IDTENCENT_SECRET_KEY
  2. 确认密钥未过期且状态正常
  3. 检查系统时间是否准确(误差不超过5分钟)

AuthFailure.SecretIdNotFound

错误: SecretId不存在

原因:

  • SecretId输入错误
  • 密钥已被删除

解决方案:

域名相关

ResourceNotFound.Domain

错误: 域名不存在

原因:

  • 域名未添加到DNSPod
  • 域名名称输入错误

解决方案:

  • 检查域名拼写
  • 使用 --create-domain 自动创建域名
  • 手动在DNSPod控制台添加域名

ResourceNotFound.DomainOffline

错误: 域名已停用

原因:

  • 域名已被禁用

解决方案:

  • 登录DNSPod控制台重新启用域名

记录相关

InvalidParameter.RecordAlreadyExists

错误: 记录已存在

原因:

  • 相同的主机记录、类型、线路的记录已存在

解决方案:

  • 使用 --force 参数强制更新
  • 先删除现有记录再创建

InvalidParameter.RecordNotFound

错误: 记录不存在

原因:

  • RecordId错误
  • 记录已被删除

解决方案:

  • 使用 list_records.py 查询正确的记录ID

InvalidParameter.RecordValueInvalid

错误: 记录值格式错误

原因:

  • IP地址格式错误
  • CNAME目标域名格式错误
  • 记录值与类型不匹配

解决方案:

  • A记录值必须是IPv4地址(如: 1.2.3.4)
  • CNAME记录值必须是域名(如: cdn.example.com)
  • MX记录值格式: mx.example.com (优先级单独设置)

限频相关

RequestLimitExceeded

错误: 请求频率超限

原因:

  • API调用超过频率限制(默认: 20次/秒)

解决方案:

  • 降低请求频率
  • 批量操作时增加 --delay 参数
  • 使用批量API代替循环调用

LimitExceeded.DomainRecord

错误: 域名记录数超限

原因:

  • 该域名下的记录数超过套餐限制

解决方案:

  • 删除不需要的记录
  • 升级DNSPod套餐

参数相关

InvalidParameter

错误: 参数错误

原因:

  • 必填参数缺失
  • 参数格式错误
  • 参数值超出范围

解决方案:

  • 检查命令行参数拼写
  • 确认参数值格式正确
  • 查看API文档确认参数要求

MissingParameter

错误: 缺少必填参数

原因:

  • 未提供必要的参数

解决方案:

  • 使用 --help 查看必填参数
  • 补充完整的参数

其他常见错误

UnknownParameter

错误: 未知参数

原因:

  • 传递了不支持的参数

解决方案:

  • 检查参数名称拼写
  • 确认API版本支持该参数

UnsupportedOperation

错误: 不支持的操作

原因:

  • 当前套餐不支持该功能
  • 域名状态不允许该操作

解决方案:

  • 升级DNSPod套餐
  • 检查域名状态

调试技巧

1. 开启详细日志

在脚本中添加调试输出:

import logging
logging.basicConfig(level=logging.DEBUG)

2. 打印API响应

查看完整的API错误信息:

print(json.dumps(result, indent=2, ensure_ascii=False))

3. 验证参数

在调用API前打印参数:

print(f"参数: {params}")

4. 测试连通性

检查网络连接:

ping dnspod.tencentcloudapi.com
curl -I https://dnspod.tencentcloudapi.com

获取帮助