公共参数包括两个部分:公共请求参数与公共返回参数。
- 公共请求参数:每个接口都需要使用的请求参数。
 - 公共返回参数:任何的接口调用,无论成功与否,系统都会返回的参数。
 
公共请求参数如下表所示:
| 名称 | 类型 | 是否必须 | 描述 | 
|---|---|---|---|
| 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."
}