文档首页 > > 快速入门> 步骤8:数据服务API开发

步骤8:数据服务API开发

分享
更新时间:2020/07/07 GMT+08:00

DAYU数据服务旨在为企业搭建统一的数据服务总线,帮助企业统一管理对内对外的API服务。数据服务为您提供快速将数据表生成数据API的能力,同时支持您将现有的API快速注册到数据服务平台以统一管理和发布。

开发API提供数据服务的流程如下:

  1. 添加审核人
  2. 创建API并发布API
  3. 审核人员审核API
  4. 添加授权
  5. 调用API

添加审核人

如果数据服务模块当前还未添加审核人,请先添加审核人,因为创建API需要提交审核人审核。

  1. 使用管理员角色的用户,登录DAYU控制台。找到已创建的DAYU实例,单击实例卡片上的“进入控制台”。然后,选择“空间管理”页签。

    图1 空间管理

  2. 在工作空间列表中,找到已创建的工作空间,单击“更多 > 数据服务”,进入数据服务页面。
  3. 在左侧导航树中,单击“共享版”,进入共享版控制台。
  4. 单击左侧导航树中的“审核中心”,进入相应页面后,选择“审核人管理”页签,然后单击“新建”按钮。
  5. 选择审核人,输入正确的手机号码和电子邮箱,单击“确认”完成审核人的添加。审核人添加完成后,新建API等流程会以短信和邮件的形式通知审核人审核。

    图2 新建审核人

  6. 根据需要,可以添加多个审核人。

创建API并发布API

  1. 使用开发者角色的用户,登录DAYU控制台。找到已创建的DAYU实例,单击实例卡片上的“进入控制台”。然后选择“空间管理”页签。

    图3 空间管理

  2. 在工作空间列表中,找到已创建的工作空间,单击“更多 > 数据服务”,进入数据服务页面。
  3. 单击左侧导航栏的API目录,然后单击,在弹出框中输入目录名称,例如demo,单击“确定”完成API目录的创建。

    图4 新建API目录

  4. 单击左侧导航栏的API管理,再单击“新建”开始新建API。

    图5 API管理页面

  5. 在新建API的“基本配置”页面中,根据页面提示配置以下参数,配置完成后单击“下一步”进入“取数逻辑”页面。

    • API名称:本示例设置为“getTripDataByVendorID”
    • API目录:单击“选择目录”,展开“全部”后,选择在3中新建的目录“demo”
    • 请求Path:本示例设置为“/TaxiTripData/{vid}”。其中vid为请求参数,表示出租车供应商ID。
    • 参数协议:本示例选择“HTTP”。HTTPS协议安全性高于HTTP,建议选择HTTPS。
    • 请求方式:本示例选择“GET”
    • 描述:请输入描述文字。
    • 审核人:请在下拉列表中选择审核人。如果未添加审核人,请参考添加审核人进行添加。
    • 安全认证:本示例选择“APP认证”。APP认证模式下,在API发布成功后,用户在调用API时需使用Appkey & Appsecret进行认证。关于调用API的详细信息,请参见调用API
    • 服务目录可见性:本例选择“当前工作空间可见”
    • 是否公开:本示例不勾选。选择公开则发布的API将在服务市场公开售卖。
    • 访问日志:本示例不启用。
    • 入参定义:对请求中的所有参数进行定义。在本示例中,需对请求参数vid进行定义,不需要定义Header参数和Query参数。
      单击“添加”,在“添加入参定义”对话框中设置以下必填参数,其他参数可以根据实际情况进行设置,配置完成后单击“确定”
      • 参数名:vid
      • 参数位置:PATH
      • 类型:STRING
    图6 API基本配置

  6. “取数逻辑”页面中,完成以下配置:

    1. 如下图所示配置数据连接、数据库、表和队列,然后单击“添加”按钮。
      图7 配置连接参数
    2. “添加参数”页面中,勾选vendor_id字段后的“请求参数”复选框,勾选“返回参数”前的复选框返回所有字段,然后单击“确定”。
      图8 添加参数
    3. 在请求参数中“绑定参数”选择vid字段来绑定字段vendor_id,操作符选择“=”后,单击“下一步”进入“测试”页面。
      图9 绑定参数

  7. 在测试页面,输入vid的值1后,单击“开始测试”按钮,测试API是否OK。

    图10 测试接口

  8. 如果在页面右侧的响应中返回“200 Success”说明测试成功。测试成功后,单击“确定”按钮。

    图11 测试成功

  9. 返回“API管理”页面后,在API列表中找到刚才创建的API,单击其所在行的“更多 > 发布”,提交该API的审核。

    图12 发布API

  10. 请联系审核人员审核API,等待审核通过。审核通过后,API就创建成功了。

审核人员审核API

如果您是审核人员,请参考以下步骤审核API。如果API是审核人员新建和发布的,则API发布后无需审核,您可以跳过这个步骤。

  1. 使用审核人员账号,登录DAYU控制台。找到已创建的DAYU实例,单击实例卡片上的“进入控制台”。然后选择“空间管理”页签。

    图13 空间管理

  2. 在工作空间列表中,找到已创建的工作空间,单击“更多 > 数据服务”,进入数据服务页面。
  3. 单击左侧导航栏中的“审核中心”,进入相应页面后,选择“待审核”页签。
  4. 在列表中找到需要审核的对象,然后在该对象所在行单击“审核”按钮。

    图14 审核

  5. 选择审核结果,输入审核意见,然后单击“确认”完成审核。

    图15 确认审核

添加授权

  1. 使用开发者角色的用户,登录DAYU控制台。找到已创建的DAYU实例,单击实例卡片上的“进入控制台”。然后选择“空间管理”页签。

    图16 空间管理

  2. 在工作空间列表中,找到已创建的工作空间,单击“更多 > 数据服务”,进入数据服务页面。
  3. 单击左侧导航栏的应用管理,然后单击“新建”按钮,在弹出框中输入应用名称,选择应用类型为“APIG”,然后单击“确定”完成应用的创建。

    图17 新建应用

  4. 单击左侧导航栏的API管理,在API列表中,找到刚才新建的API,单击其所在行的“查看授权”

    图18 查看授权

  5. 单击“授权”按钮,并在弹出框中设置截止时间,选择刚才新建的应用,然后单击“确认授权”

    图19 添加授权

  6. 完成授权后,可以单击“调试”按钮,并在测试页面输入参数的测试值,单击“开始测试”验证API是否正确。

调用API

数据服务提供APP认证方式,API调用者通过APP认证方式调用API。使用APP认证时,需要通过SDK访问。数据服务提供了基于Java、Go、Python、JavaScript、C#、PHP、C++、C、Android等多种语言的SDK包。本示例以Java SDK为例说明如何调用API。

  1. 在数据服务页面,单击左侧导航栏的SDK,然后下载Java SDK。

    图20 下载SDK

  2. 解压SDK包,并在Eclipse中导入SDK工程。导入成功后,打开main.java文件,修改如下图红框所示的内容:

    图21 修改main.java

    如下参数分别设置AppKey和AppSecret,可参考图22进行获取并替换。

    1
    2
    request.setKey("550f************************0a89");  // Modifying the setKey function's input value to the Appkey of the application
    request.setSecret("dca1************************0b5a");// Modifying the setSecret function's input value to the AppSecret of the application
    
    图22 查看AppKey和AppSecret

    如下参数设置API的URL和ID,可参考图23进行获取并替换。

    1
    2
    request.setUrl("http://95df**************************cd29.apigw.cn-north-1.huaweicloud.com/TaxiTripData/1"); // URL in API details in the Service Market.
    request.addHeader("x-api-id","db72************************6eb8");// ID in API details in the Service Market.
    
    图23 查看ID和URL

    以下两个参数,请设置为以下值:

    1
    2
    Header[] authorization = signedRequest.getHeaders("Authorization");
    signedRequest.addHeader("x-Authorization",authorization[0].getValue());
    

    由于API获取的数据量有限,默认情况下会返回500个数据。如果想获得500条以上的数据,则需要使用分页方法获取,分页设置示例如下:

    1
    request.addQueryStringParam("page_size", "100"); // The size of the data obtained per page   request.addQueryStringParam("page_num", "1");  // Get the data on which page
    

  3. 配置完成后,运行程序,并查看结果:

    图24 运行API

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问