公共参数包括两个部分:公共请求参数与公共返回参数。
- 公共请求参数:每个接口都需要使用的请求参数。
- 公共返回参数:任何的接口调用,无论成功与否,系统都会返回的参数。
公共请求参数如下表所示:
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
Format | String | 否 | 返回值的类型,支持JSON与XML。 |
Action | String | 是 | 调用接口名称。 |
Version | String | 是 | API版本号,为日期形式:YYYY-MM-DD,当前版本对应为2017-10-16。 |
AccessKeyId | String | 是 | 阿里云颁发给用户的访问服务所用的密钥ID。 |
SignatureMethod | string | 是 | 签名方式,目前支持HMAC-SHA1。 |
Timestamp | String | 是 | 请求的时间戳。日期格式按照ISO8601标准表示,并需要使用UTC时间。格式为:YYYY-MM-DDThh:mm:ssZ。 例如,2013-08-15T12:00:00Z(为北京时间2013年8月15日20点0分0秒)。 |
SignatureVersion | String | 是 | 签名算法版本,目前版本是1.0。 |
SignatureNonce | String | 是 | 唯一随机数,用于防止网络重放攻击。用户在不同请求间要使用不同的随机数值。 |
RegionId | String | 是 | PolarDB-X 1.0所在的地域。 |
Signature | String | 是 | 签名结果串。 |
公共返回参数
PolarDB-X 1.0 OpenAPI的公共返回参数:唯一识别码RequestId。RequestId标识了用户的每一次API调用请求,用于API方面的问题排查。
RequestId的示例(XML格式)
<?xml version="1.0" encoding="utf-8"?>
<!—结果的根结点-->
<接口名称+Response>
<!—返回请求标签-->
<RequestId>
4C467B38-3910-447D-87BC-AC049166F216
</RequestId>
<!—返回结果数据-->
...
</接口名称+Response>
返回结果
调用API服务后返回数据采用统一格式:
- 返回的HTTP状态码为2xx,代表调用成功;
- 返回4xx或5xx的HTTP状态码代表调用失败。
调用成功返回的数据格式主要有XML和JSON两种,外部系统可以在请求时传入参数来制定返回的数据格式,推荐使用JSON格式。
为了便于查看,本文中的返回示例做了格式化处理。实际返回结果是没有进行换行、缩进等处理的。
成功的返回结果
结果包括请求是否成功信息和具体的业务数据。
XML
<?xml version="1.0" encoding="utf-8"?>
<!—结果的根结点-->
<接口名称+Response>
<!—返回请求标签-->
<RequestId>
4C467B38-3910-447D-87BC-AC049166F216
</RequestId>
<!—返回结果数据-->
...
</接口名称+Response>
JSON
{
<!—返回的请求 ID-->
"RequestId": "4C467B38-3910-447D-87BC-AC049166F216",
/* 返回结果数据 */
...
}
错误的返回结果
调用接口出错后,将不会返回结果数据。调用方可根据错误代码表来定位错误原因。
当调用出错时,HTTP请求会返回4个信息:
-
一个4xx或5xx的HTTP状态码;
-
具体的错误代码及错误信息;
-
一个全局唯一的请求ID;
-
一个您该次请求访问的站点ID:HostId。
如果根据API的返回信息找不到错误原因,可以联系阿里云客服,并提供该HostId和RequestId,以方便PolarDB-X 1.0工作人员尽快解决问题。
XML
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<RequestId>8906582E-6722-409AA6C4-0E7863B733A5</RequestId>
<HostId>drds.aliyuncs.com</HostId>
<Code>UnsupportedOperation</Code>
<Message>The specified action is not supported.</Message>
</Error>
JSON
{
"RequestId": "7463B73D-35CC-4D19-A010-6B8D65D242EF",
"HostId": "rds.aliyuncs.com",
"Code": "UnsupportedOperation",
"Message": "The specified action is not supported."
}