更新时间:2025-05-12 GMT+08:00
分享

添加转储任务

参考初始化DIS客户端的操作初始化一个DIS客户端实例,实例名称为dic。

使用DIS SDK创建转储任务,需要指定通道名称、转储任务名称,转储周期,转储目标服务等信息。

添加转储到对象存储服务(OBS)的转储任务

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
CreateTransferTaskRequest request = new CreateTransferTaskRequest();

// 配置通道名称:用户在数据接入服务(简称DIS)控制台创建通道
request.setStreamName(streamName);

// 添加OBS转储任务,并设置任务名称
OBSDestinationDescriptorRequest descriptor = new OBSDestinationDescriptorRequest();
descriptor.setTransferTaskName(taskName);

// 转储至对象存储服务(简称OBS):OBS桶名和子文件夹名,通过OBS控制台或客户端创建桶和文件夹
descriptor.setObsBucketPath("obs-dis");
descriptor.setFilePrefix("transfertask");

// 转储周期,单位s
descriptor.setDeliverTimeInterval(900);

// 可选:在DIS管理页面自动创建名称为“dis_admin_agency”的IAM委托,默认采用此委托,用于授权访问。如未创建过IAM委托,请用主账户登录DIS控制台并创建通道,点击“添加转储任务”,前往授权。
descriptor.setAgencyName("dis_admin_agency");

// 可选,转储OBS的目标文件格式:默认text,可配置parquet、carbon
descriptor.setDestinationFileType(DestinationFileTypeEnum.TEXT.getType());

// 设置从DIS通道拉取数据时的初始偏移量: 默认LATEST,从通道内最新上传的记录开始读取; TRIM_HORIZON,从通道内最早的未过期记录开始读取
descriptor.setConsumerStrategy(PartitionCursorTypeEnum.LATEST.name());

request.setObsDestinationDescriptor(descriptor);

配置“CreateTransferTaskRequest”对象之后,通过调用createTransferTask的方法创建转储任务。

1
dic.createTransferTask(request);

相关文档