本文为您介绍了 OpenAPI 调用的整体流程、接口调用限制以及公共错误码,重点介绍了 OpenAPI 调用时必备的 Token 申请和使用方法。
Authorization: Bearer jwt_token
。x-request-id
和 request-id
(保证唯一字符串即可), 需要两个 header 是因为 DataWind 整体组件比较多,各个组件之间使用的标记可能不同。这两个参数会被输入到 DataWind 的后端日志中,为您在遇到问题时进行分析和定位提供有力的支持,从而更高效地解决可能出现的故障。整体流程如下:
进入「开放平台」-> 「开发者后台」,点击「创建凭证」申请clientId
、clientsecret
,申请的凭证类型分为两种类型:用户、系统(仅支持系统管理员) 。如下图:
注意
务必妥善保密管理clientId
与clientSecret
,这是调用接口的凭证,暴露给其他用户将导致数据泄露风险。
请求地址:不同环境调用接口使用的接口地址不同。
https://console.volcengine.com/bi/datawind
,则接口地址前缀为https://console.volcengine.com/bi/datawind/aeolus
。curl --location --request POST 'https://console.volcengine.com/aeolus/api/v3/openapi/jwtToken' \ --header 'Content-Type: application/json' \ --data-raw '{ "metadata": { "clientId": "{clientId}", "clientSecret": "{clientSecret}", "proxyUser": "abc****@21**********", "expire": 3600 } }'
说明
如果用户已打开「开发者后台」-「凭证管理」页面,可选择直接复制凭证下方提供的相关请求参数,仅需替换获取的clientId和clientSecret即可,proxyUser和expire参数系统已为您填好。
名称 | 类型 | 必选 | 示例值 | 描述 |
---|---|---|---|---|
clientId | integer | 必选 | 123abc | 登录凭证ID,在上一步中获得 |
clientSecret | integer | 必选 | 123abc | 登录凭证密钥,在上一步中获得 |
proxyUser | string | 可选 | user_1 | token对应的用户名 |
expire | integer | 可选 | 3600 | token过期时间,默认值为3600,单位为秒 注意 token过期时间最长为3天 |
参数 | 类型 | 描述 |
---|---|---|
code | string | 返回状态码,如果请求成功,返回aeolus/ok,下面为错误码及其解释:
|
data | object | 包含接口返回的具体信息,此处包含jwtToken和proxyUser |
data.jwtToken | string | 代表用户的身份信息,用户在调用业务接口时需要在请求头部带上 jwtToken |
data.proxyUser | string | token对应的用户名 |
msg | string | 操作结果的自然语言描述 |
{ "code": "aeolus/ok", "data": { "jwtToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.ey*****************************************************************************************************************************************************************************.********************-*************************************************************************************-****************************************************************************************************************************-***-********************************************-******************************************************-*************************-****************************************************************************-************-*************************************-*********************************************************************************************************************************************************-****************-******************5sus", "proxyUser": "user_1" }, "msg": "成功" }
用户在调用接口时需要在请求头部带上 jwtToken 的内容,例如:Authorization: Bearer jwt_token
使用 curl 的调用 current user 接口示例如下:
curl -X GET 'https://{domain}/aeolus/api/v3/open/misc/current_user' \ -H 'Authorization: Bearer jwt_token'
说明
https://console.volcengine.com/bi/datawind
为了保障服务稳定性与阻挡恶意攻击,DataWind 后端采用以下方法限制请求:
(1)限流(QPS 2000,可申请修改);
(2)封禁,用于保留一些不开放的 api 或者临时封禁用户的异常请求;
(3)审计,每一次 openapi 调用均会被记录,包括调用方、接口、参数、调用时间。
详情可查看公共错误码。