云服务器内容精选

  • SDK调用常见错误码/错误信息 表1 常见错误码/错误信息 错误码 错误信息 错误原因 解决方案 DLM.0 null 表示API调用成功。 表示调用成功,无需处理。 APIG.0101 The API does not exist or has not been published in the environment API未发布 url错误 发布API 确认请求的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逻辑。 如果访问日志中无数据,请确认(共享版:数据服务gateway/专享版:数据服务集群)是否运行中。 APIG.0303 Incorrect app authentication information: app not found 应用不存在 确认请求的key和secret是否准确 APIG.0304 The app is not authorized to access the API 应用无权访问当前API 确认API已授权给应用 确认请求的key和secret是否准确 APIG.0308 The throttling threshold has been reached: policy domain over ratelimit, limit:1000, time:1 day 域名的请求次数达到了给定的上限:1天1000次 建议:去API网关,为分组绑定域名。 临时规避:切换分组。域名以分组为单位,每个分组限制独立计算。 DLM.4018 Api is not exist API不存在 20200630版本前发布的API: 请确认调用时参数x-api-id的值,是否正确(该值为所访问API的ID,请向此API的提供者获取) 20200630版本后发布的API: 确认请求的url和实际url是否相同。 若为专享版刚发布的API,请稍作等待,API下发至集群存在短暂的延时。 其他(数据同步异常): 停用/下线对应API,然后恢复/发布。 尝试重启集群(逐个节点重启可避免业务影响)。 DLM.4094 Call api failed. 调用API失败 确认调用所执行的SQL正确,可以正常使用(所执行SQL详见访问日志,仅API方可见)。 CDM中代理异常,错误原因详见返回的DLG错误信息。 调用超时,若为DWS数据库,建议API采用自定义分页。 调用超时,请优化查询语句,确保数据库中能短时间内完成执行。 DLM.4211 Token invalid token校验不通过 确认token是否正确。 确认token所属租户,是否已授权或已位于白名单中。 DLM.4312 Missing parameters: ___ 缺少指定参数 调用时上传此参数 400 App does not have permission to access API. 应用无权访问当前API 确认API已授权给应用 确认请求的key和secret是否准确 确认API和APP的授权关系仍在有效期内 401 Authorization not found. 签名信息未找到 应用认证:SDK使用前准备步骤3。 发布到网关的专享版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. 签名过期 签名具有一定的有效期,当前签名已过期,请重新生成签名。 请确认本地时间和实际时间是否一致。 如果本地时间是准确的,请联系相关人员确认集群节点时间,可能节点时间存在异常。 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上的代理拒绝服务 SQL执行时间过长 CDM资源不足了 1. 确认SQL执行时长,如果时间过长,建议优化SQL(默认分页的话则建议使用自定义分页)。 2. 如果SQL执行时间较短,当前没有其他服务正在作业的话,重启CDM。 DAYU.1088 Failed to process the request sent by the agent. CDM无响应 尝试重启CDM。 可能是CDM升级引起,考虑新买一个CDM。 父主题: 数据服务SDK参考
  • SDK使用前准备 下载SDK,并导入对应SDK到本地开发工具,详见认证前准备。 完成appKey、appSecret、method、url等参数填写 表1 参数 参数类型 参数说明 使用示例 path参数 路径参数,作为url的一部分,直接替换url中{}标识的参数 参数: param = xxx 原url: http://域名/p1/{param}/p2 实际url: http://域名/p1/xxx/p2 query参数 查询参数,作为url的补充部分 参数: param = xxx 参数2: param2 = xxx2 示例1: 调用方法添加query参数(以各语言SDK为准) 例: request.addQueryStringParam("param"," xxx"); 示例2: 直接拼接到url后面,以?开头,多个参数以&连接 原url: http://域名/p1 实际url: http://域名/p1?param=xxx¶m2=xxx2 header参数 请求头参数,作为请求头的一部分,参数名不区分大小写 参数: param = xxx 调用方法添加header头参数/构造请求时添加等(以各语言SDK为准) 例:request.addHeader("param"," xxx"); body参数 请求体参数,SDK中输入内容为json字符串(老版本不支持) "{}" 修改SDK,在请求签名后,获取请求头中的签名参数Authorization。并新增参数x-Authorization,值与Authorization相同。获取与新增方式,详见各语言调用文档认证前准备。 父主题: 数据服务SDK参考