添加转储任务
参考初始化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); |