更新时间:2022-02-21 GMT+08:00

准备环境

资源链接

Demo示例包含SDK包,新创建的工程需要引入SDK包,如果直接在Demo示例工程进行编码,则不需要单独下载SDK包。

开发环境

Eclipse:Eclipse 3.6.0及以上版本,可至Eclipse官方网站下载。

JDK:Java Development Kit 1.8.111及以上版本,可至Oracle官方下载页面下载。

Maven:Apache Maven 3.0.3及以上版本,可至Maven官方下载页面下载。

获取Kafka Topic和消费组的ID

使用SDK接口访问DMS服务,需要先在Web Console创建队列和消费组,步骤如下:

  1. 登录管理控制台。
  2. 单击“服务列表”,选择“应用服务 > 分布式消息服务”,进入分布式消息服务信息页面。
  3. 单击左侧菜单栏的“队列管理”。
  4. 在“队列管理”页面,单击页面上方的“创建队列”。
  5. 填写队列名称和描述信息。

    表1 参数说明

    参数

    说明

    队列名称

    队列的名称,必须唯一。

    DMS为您自动生成了队列名称,您可以根据需要修改,队列名称只能包含a~z,A~Z,0-9,-,_,长度是[1,64]。

    创建队列后不能修改名称。

    队列类型

    选择“Kafka队列”。

    队列模式

    支持高吞吐和高可靠两种模式。

    默认值:高吞吐。

    高吞吐:消息副本异步落盘,具有较高的性能。

    高可靠:消息多副本同步落盘,保证消息的可靠性。

    消息保留时长(小时)

    仅Kafka队列才有该参数。

    指定kafka队列的消息保存时间,超过该时长的消息将会被删除,删除的消息无法被消费。

    取值范围:1-72,必须为整数。

    默认值:72小时。

    描述(可选)

    队列描述不能包含<>,长度是[0,160]。

    图1 创建Kafka队列

  6. 单击“确定”。创建队列完成。
  7. 单击队列名称,显示队列详情,获取Kafka Topic。

    图2 获取Kafka Topic

  8. 单击“创建消费组”。进入“创建消费组”页面。
  9. 填写消费组的名称。

    DMS为您自动生成了消费组名称,您可以根据需要修改,消费组的名称只能包含a~z,A~Z,0~9,-,_,长度是[1,32]。同个队列的消费组名称不能重复。

  10. 单击“确定”。创建消费组完成,选择已创建的消费组,获取消费组ID。

    图3 获取消费组ID

获取project id

在调用接口的时候,需要填入项目编号project_id,所以需要先在管理控制台上获取到项目编号,步骤如下:

  1. 注册并登录管理控制台。
  2. 单击用户名,在下拉列表中单击“我的凭证”。
  3. 在“我的凭证”页面的“项目列表”中查看项目ID。

获取AK/SK

  1. 注册并登录管理控制台。
  2. 单击用户名,在下拉列表中单击“我的凭证”。
  3. 在“我的凭证”页,单击“管理访问密钥”页签。
  4. 单击“新增访问密钥”,进入“新增访问密钥”页面。
  5. 输入当前用户的登录密码。
  6. 通过邮箱或者手机进行验证,输入对应的验证码。
  7. 单击“确定”,下载访问密钥。

    为防止访问密钥泄露,建议您将其保存到安全的位置。

  8. 保存文件到本地,从下载的credentials.csv文件中获取“Access Key Id”和“Secret Access Key”。

获取区域和Endpoint

获取方式请参考地区和终端节点

申请弹性云服务器

在公有云(ECS)上运行DMS Demo示例,需要先申请弹性云服务器。

通过浏览器登录弹性云服务器控制台,申请创建一台Linux弹性云服务器,并绑定弹性IP。请记录弹性IP地址、用户名和密码,后续访问需要使用。如果已申请过弹性云服务器,可以跳过此步骤。

弹性IP用于登录弹性云服务器,以及上传文件等。

环境信息汇总

表2 环境信息汇总

类型

项目

收集的信息

弹性云服务器

弹性IP

-

用户名

-

密码

-

分布式消息服务

队列名称

-

队列ID

-

队列类型

-

Kafka Topic

-

消费组名称

-

消费组ID

-

访问密钥

AK (Access Key Id)

-

SK (Secret Access Key)

-

项目ID

所属区域

-

项目

-

项目ID

-

区域和Endpoint

区域名称

-

Endpoint

-

DNS

DNS服务器IP

-