专有宿主机接口调用是向专有宿主机API的服务端地址发送HTTP(S) GET请求,并按照接口说明在请求中加入相应请求参数,调用后系统会返回处理结果。请求及返回结果都使用UTF-8字符集进行编码。

请求结构

专有宿主机API为RPC风格,您可以通过发送HTTP(S) GET请求调用专有宿主机API。

其请求结构如下:
http(s)://Endpoint/?Action=xx&Parameters
其中:
  • Endpoint: 专有宿主机API的服务接入地址为ecs.aliyuncs.com
  • Action:要执行的操作。例如,调用DescribeDedicatedHosts查询一台或多台专有宿主机的详细信息。
  • Version:要使用的API版本。专有宿主机的API版本是2014-05-26
  • Parameters:请求参数,每个参数之间用&分隔。

    请求参数由公共请求参数和API自定义参数组成。公共参数中包含API版本号、身份验证等信息,详情请参见公共参数签名机制

下面是一个调用DescribeDedicatedHosts接口查询一台或多台专有宿主机详细信息的示例:
说明 为了便于您查看,本文档中的示例都做了格式化处理。
http(s)://ecs.aliyuncs.com/?Action=DescribeDedicatedHost
&Format=xml
&Version=2014-05-26
&Signature=xxxx%xxxx%3D
&SignatureMethod=HMAC-SHA1
&SignatureNonce=15215528852396
&SignatureVersion=1.0
&AccessKeyId=key-test
&TimeStamp=2012-06-01T12:00:00Z
&RegionId=cn-hangzhou
…

返回结果

返回结果主要有XML和JSON两种格式,默认为XML,您可以指定公共请求参数Format变更返回结果的格式。更多详情,请参见公共参数。为了便于您查看,API文档返回示例均进行了换行和缩进等处理,实际返回结果无换行和缩进处理。

接口调用成功后,会返回接口的返回参数和请求ID,HTTP状态码为2xx。示例如下:
  • XML示例
    <?xml version="1.0" encoding="UTF-8"?> <!--结果的根结点-->
    <ActionResponse> <!--返回请求标签-->
        <RequestId>4C467B38-3910-447D-87BC-AC049166F216</RequestId> <!--返回结果数据-->
    </ActionResponse>
  • JSON示例
    {
        "RequestId": "4C467B38-3910-447D-87BC-AC049166F216" /* 返回结果数据 */
    }
接口调用出错后,会返回错误码、错误信息和请求ID,HTTP状态码为4xx或者5xx。示例如下:
  • XML示例
    <?xml version="1.0" encoding="UTF-8"?><!--结果的根结点-->
    <Error>
        <RequestId>540CFF28-407A-40B5-B6A5-74Bxxxxxxxxx</RequestId> <!--请求 ID-->
        <HostId>ecs.aliyuncs.com</HostId> <!--服务节点-->
        <Code>MissingParameter.CommandId</Code> <!--错误码-->
        <Message>The input parameter “CommandId” that is mandatory for processing this request is not supplied.</Message> <!--错误信息-->
    </Error>
  • JSON示例
        {
        "RequestId": "540CFF28-407A-40B5-B6A5-74Bxxxxxxxxx", /* 请求 ID */
        "HostId": "ecs.aliyuncs.com", /* 服务节点 */
        "Code": "MissingParameter.CommandId", /* 错误码 */
        "Message": "The input parameter “CommandId” that is mandatory for processing this request is not supplied." /* 错误信息 */
    }

接口调用出错后,您可以根据返回的错误码,参见公共错误码以及API 错误中心 排查错误。