更新时间:2024-04-29 GMT+08:00

SDK调用常见错误码/错误信息

表1 常见错误码/错误信息

错误码

错误信息

错误原因

解决方案

DLM.0

null

表示API调用成功。

表示调用成功,无需处理。

APIG.0101

The API does not exist or has not been published in the environment

  1. API未发布
  2. url错误
  1. 发布API
  2. 确认请求的url和实际url是否相同

APIG.0106

Orchestration error: Invalid header parameter: x-Authorization, required

SDK未添加x-Authorization

SDK使用前准备步骤3

APIG.0106

Orchestration error: Invalid ___ parameter: ___, required

未传指定参数

调用时上传此参数

APIG.0201

Backend timeout

后端超时(API网关请求维持50秒后未收到返回结果, 会返回此错误信息)

请先确认数据服务访问日志,如果访问日志中有数据(数据略有延迟),则说明数据源取数时间过长,请尽量优化取数sql逻辑。

如果访问日志中无数据,请确认(专享版:数据服务集群)是否运行中。

APIG.0303

Incorrect app authentication information: app not found

应用不存在

确认请求的key和secret是否准确

APIG.0304

The app is not authorized to access the API

应用无权访问当前API

  1. 确认API已授权给应用
  2. 确认请求的key和secret是否准确

APIG.0308

The throttling threshold has been reached: policy domain over ratelimit, limit:1000, time:1 day

域名的请求次数达到了给定的上限:1天1000次

  1. 建议:去API网关,为分组绑定域名
  2. 临时规避:切换分组。域名以分组为单位,每个分组限制独立计算

DLM.4018

Api is not exist

API不存在

20200630版本前发布的API:

请确认调用时参数x-api-id的值,是否正确(该值为所访问API的ID,请向此API的提供者获取)

20200630版本后发布的API:

  1. 确认请求的url和实际url是否相同
  2. 若为专享版刚发布的API,请稍作等待,API下发至集群存在短暂的延时

其他(数据同步异常):

  1. 停用/下线对应API,然后恢复/发布。
  2. 尝试重启集群(逐个节点重启可避免业务影响)

DLM.4094

Call api failed.

调用API失败

  1. 确认调用所执行的SQL正确,可以正常使用(所执行SQL详见访问日志,仅API方可见)
  2. CDM中代理异常,错误原因详见返回的DLG错误信息。
  3. 调用超时,若为DWS数据库,建议API采用自定义分页。
  4. 调用超时,请优化查询语句,确保数据库中能短时间内完成执行。

DLM.4211

Token invalid

token校验不通过

  1. 确认token是否正确
  2. 确认token所属租户,是否已授权或已位于白名单中

DLM.4312

Missing parameters: ___

缺少指定参数

调用时上传此参数

400

App does not have permission to access API.

应用无权访问当前API

  1. 确认API已授权给应用
  2. 确认请求的key和secret是否准确
  3. 确认API和APP的授权关系仍在有效期内

401

Authorization not found.

签名信息未找到

  1. 应用认证:SDK使用前准备步骤3
  2. 发布到网关的专享版IAM认证:IAM认证的API发布到网关后,不支持直接访问集群的token认证形式。

401

Authorization format incorrect.

签名格式错误

建议使用SDK生成签名

401

Signing key not found.

签名密钥未找到

确认请求的key和secret是否准确

401

Signed header ___ not found.

签名头未找到

请确认用于签名的header头参数在调用时上传了

401

Header x-sdk-date not found.

签名头x-sdk-date未找到

此参数为签名时自动生成,若通过其他方式调用,请将SDK签名后的此参数在调用时也进行上传

401

Signature expired.

签名过期

  1. 签名具有一定的有效期,当前签名已过期,请重新生成签名
  2. 请确认本地时间和实际时间是否一致
  3. 如果本地时间是准确的,请联系相关人员确认集群节点时间,可能节点时间存在异常

401

Verify authroization failed.

签名校验失败

请确认进行签名的所有参数,均已上传且和签名时相同,包括且不限于url、path、header、query、body等。

补充:

1. 如果自行对接了第三方网关等,请求地址和数据服务展示的地址不一致,需要在请求头中补充参数 x-forwarded-host,值为签名时使用的请求地址

2. 如果使用get请求,不要定义body体

DLG.0902

Fail to call the agent. For details about No matching constant for [-1], see the CDM logs.

CDM上的代理拒绝服务

  1. SQL执行时间过长
  2. CDM资源不足了

1. 确认SQL执行时长,如果时间过长,建议优化SQL(默认分页的话则建议使用自定义分页)

2. 如果SQL执行时间较短,当前没有其他服务正在作业的话,重启CDM

DAYU.1088

Failed to process the request sent by the agent.

CDM无响应

  1. 尝试重启CDM
  2. 可能是CDM升级引起,考虑新买一个CDM