产品文档

    2020-04-09 03:25:05

    调用方法

    调用基础说明

    京东智联云AI API使用Restful接口风格,要进行API调用需要包含如下信息:请求协议,请求方式,请求地址,请求路径,请求头,请求参数,请求体。

    为了您的数据安全,建议务必使用https协议。

    京东智联云AI API不同接口使用不同的HTTP方法,一般资源创建用POST请求,查询用GET请求,修改用PUT或PATCH请求,删除用DELETE请求。具体接口使用的HTTP方法,请参考API文档请求方式章节。

    API服务的地址和路径格式一般为:

    $xslt https://{product}.jdcloud-api.com/{API版本号}/regions/{地域ID}/{资源名称}/{资源ID(可选)}/{子资源名称(可选)}/{子资源ID(可选)}{:自定义动作(可选)} 
    具体每个接口的地址及路径请参考具体API文档请求地址章节。

    HTTP请求头中需要包含公共请求头,请参考公共请求头。

    请求参数和请求体的信息,请参考具体API文档请求参数章节。一般来说,GET、DELETE和HEADER的接口参数通过请求参数传递,POST、PUT和PATCH的接口参数通过请求体传递。

    公共请求头

    名称 类型 必填 描述
    x-jdcloud-algorithm String 用于创建请求签名的哈希算法,目前只支持 JDCLOUD2-HMAC-SHA256
    x-jdcloud-date String 签名请求的日期和时间,遵循ISO8601标准,使用UTC时间,格式为YYYYMMDDTHHmmssZ。日期必须与authorization请求头中使用的日期相匹配。例如: 20180707T150456Z
    x-jdcloud-nonce String 随机生成的字符串,需要保证一段时间内的唯一性
    x-jdcloud-security-token String 如果用户开启了mfa操作保护,该API接口又是需要保护的接口,调用时需要传此参数
    authorization String 鉴权信息,由签名算法生成,生成的数据格式例如:JDCLOUD2-HMAC-SHA256 Credential=accessKey/20180226/cn-north-1/nc/jdcloud2_request, SignedHeaders=content-type;host;x-jdcloud-date;x-jdcloud-nonce, Signature=4432ad80f84a41d56f3d41b59918a0844b468d8c131fa7d7c993693f62cf43ef`

    特殊请求参数说明

    部分API接口中有使用一些特殊的请求参数,如云主机的describeInstances接口使用了filters参数,其使用方式如下:

    参数名 使用场景 作用 示例
    filters.N 用在列表请求中,作为过滤条件 查询条件,用于查询接口, 格式为:Filters.N.查询条件,每个条件必含name,values,选填operator,默认eq,可选lt, le, gt, gt, ne, in, like(API若无特殊说明,operator不用填写,都是默认eq) 如根据名称、CIDR及cpus搜索:filters.1.name=name&filters.1.values.1=aaa&filters.2.name=CIDR&filters.2.values.1=192.168.1.0/24&filters.3.name=cpus&filters.3.operator=in&filters.3.values.1=2&filters.3.values.2=4;
    Sorts.N 用在列表请求中,作为排序条件 排序参数,格式为sorts.N sorts.1.name=az&sorts.1.direction=asc&sorts.2.name=status&sorts.2.direction=desc;

    GET请求示例

    下面以调用查询云主机列表接口为例,介绍如何产生一个GET类型API调用。(直接构造API调用较为繁琐,建议您直接使用京东智联云提供的SDK)

    首先在云主机接口概览页,您可以看到云主机的请求地址,以及看到创建云主机的具体接口describeInstances。

    然后在describeInstances页面,看到请求方式为GET,请求地址为/v1/regions/{regionId}/instances,同时还看到请求参数。regionId 通过地域编码查询得到。GET、DELETE、HEAD请求的所有参数都是以请求参数的形式传递。

    最终生成的调用为:

    $xslt GET https://vm.jdcloud-api.com/v1/regions/cn-north-1/instances?pageNumber=1&pageSize=25 
    请求头:
    $xslt x-jdcloud-algorithm: JDCLOUD2-HMAC-SHA256 x-jdcloud-date: 20140707T150456Z x-jdcloud-nonce: ed558a3b-9808-4edb-8597-187bda63a4f2 authorization: JDCLOUD2-HMAC-SHA256 accessKey/20180226/cn-north-1/nc/jdcloud2_request, SignedHeaders=content-type;host;x-jdcloud-date;x-jdcloud-nonce, Signature=4432ad80f84a41d56f3d41b59918a0844b468d8c131fa7d7c993693f62cf43ef 
    请求体:
    $xslt 空 

    POST请求示例

    下面以调用云主机创建接口为例,介绍如何产生一个POST类型API调用。(直接构造API调用较为繁琐,建议您直接使用京东智联云提供的SDK)

    首先在云主机接口概览页,您可以看到云主机的请求地址,以及看到创建云主机的具体接口createInstances。

    然后在createInstances页面,看到请求方式为POST,请求地址为/v1/regions/{regionId}/instances,同时还看到请求参数。regionId 通过地域编码查询得到。POST、PUT、PATCH请求的所有参数都是以json串的方式通过请求body传递。

    最终生成的调用为:

    $xslt POST https://vm.jdcloud-api.com/v1/regions/cn-north-1/instances 
    请求头:

    $xslt
    x-jdcloud-algorithm: JDCLOUD2-HMAC-SHA256
    x-jdcloud-date: 20140707T150456Z
    x-jdcloud-nonce: ed558a3b-9808-4edb-8597-187bda63a4f2
    authorization: JDCLOUD2-HMAC-SHA256 accessKey/20180226/cn-north-1/nc/jdcloud2_request, SignedHeaders=content-type;host;x-jdcloud-date;x-jdcloud-nonce, Signature=4432ad80f84a41d56f3d41b59918a0844b468d8c131fa7d7c993693f62cf43ef
    </pre>
    请求体:
    $xslt {  "instanceSpec": {  "az": "cn-north-1a",  "instanceType": "g.s1.micro",  "imageId": "98d4a0f-88c1-451a-8971-f1f76903b6c",  "name": "sdk-test",  "elasticIp": {  "bandwidthMbps": 2,  "provider": "NO_BGP"  },  "primaryNetworkInterface": {  "networkInterface": {  "subnetId": "subnet-0rtcw9jl0",  "az": "cn-north-1a"  }  },  "systemDisk": {  "diskCategory": "local"  },  "dataDisks": [{  "diskCategory": "cloud",  "autoDelete": true,  "cloudDiskSpec": {  "name": "sdk-test-disk1",  "diskType": "premium-hdd",  "diskSizeGB": 50  }  },  {  "diskCategory": "cloud",  "autoDelete": true,  "cloudDiskSpec": {  "name": "sdk-test-disk2",  "diskType": "ssd",  "diskSizeGB": 40  }  }],  "description": "sdk测试"  },  "maxCount": 2,  "regionId": "cn-north-1" } 

    文档反馈

    开始与售前顾问沟通

    可直接拨打电话 400-098-8505转1

    我们的产品专家为您找到最合适的产品/解决⽅案

    在线咨询 5*8⼩时

    1v1线上咨询获取售前专业咨询

    点击咨询
    企微服务助手

    专业产品顾问,随时随地沟通