765
iPhone_iPad_Mac_手機_平板_蘋果apple
SDK快速入門__數據訂閱_用戶指南_數據傳輸-阿裏雲
這一節,您將學到如何用DTS Java SDK完成一些基本的操作。
初始化RegionContext
RegionContext 主要用於保存設置安全認證信息及訪問網絡模式設置。下麵代碼顯示如何初始化RegionContext,設置安全認證憑證及網絡訪問模式。
import java.util.List;
import com.aliyun.drc.clusterclient.RegionContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MainClass
{
public static void main(String[] args) throws Exception {
// 創建一個RegionContext
RegionContext context = new RegionContext();
// 配置阿裏雲賬號的AccessKey及AccessKeySecret
context.setAccessKey("<AccessKey>");
context.setSecret("<AccessKeySecret>");
// 運行SDK的服務器是否使用公網IP連接DTS訂閱通道
context.setUsePublicIp(true);
// 下麵為其他調用代碼 ……
…………
}
}
如果要使用SDK,必須先初始化RegionContext,配置連接訂閱通道的安全認證等信息。上麵的接口setAccessKey設置的是阿裏雲賬號的AccessKey
setSecret 設置的是阿裏雲賬號的AccessKeySecret
AccessKey及AccessKeySecret是由阿裏雲的係統直接分配給用戶的,稱為ID對,用戶標識用戶,可到阿裏雲用戶中心創建獲取。
setUsePublicIp 是告訴DTS,您本地SDK運行服務器是否用公網IP連接訂閱通道。如果設置為true,那麼訂閱數據流走公網,否則走內網。
初始化ClusterClient
SDK連接訂閱通道,接受增量數據等操作都是通過類ClusterClient來完成的,下麵代碼創建了一個ClusterClient
import java.util.List;
import com.aliyun.drc.clusterclient.ClusterClient;
import com.aliyun.drc.clusterclient.DefaultClusterClient;
import com.aliyun.drc.clusterclient.RegionContext;
public class MainClass
{
public static void main(String[] args) throws Exception {
// 創建一個RegionContext
RegionContext context = new RegionContext();
context.setAccessKey("<AccessKey>");
context.setSecret("<AccessKeySecret>");
context.setUsePublicIp(true);
// 創建訂閱消費者
final ClusterClient client = new DefaultClusterClient(context);
// 下麵是一些其他調用代碼
……………
}
}
初始化Listener
消費數據的功能通過類Listener來實現。初始化完ClusterClient,需要添加listener,Listener要定義notify函數來接受訂閱數據並進行數據消費。下麵的代碼中實現了最簡單的消費邏輯,將訂閱到的數據打印到屏幕。
import com.aliyun.drc.clusterclient.ClusterClient;
import com.aliyun.drc.clusterclient.ClusterListener;
import com.aliyun.drc.clusterclient.DefaultClusterClient;
import com.aliyun.drc.clusterclient.RegionContext;
import com.aliyun.drc.clusterclient.message.ClusterMessage;
public class MainClass
{
public static void main(String[] args) throws Exception {
// 初始化一個RegionContext對象
………
//初始化一個ClusterClient對象
………
ClusterListener listener = new ClusterListener(){
@Override
public void notify(List<ClusterMessage> messages) throws Exception {
for (ClusterMessage message : messages) {
//打印訂閱到的增量數據
System.out.println(message.getRecord() + ":" + message.getRecord().getTablename() + ":"
+ message.getRecord().getOpt());
//消費完數據後向DTS匯報ACK,必須調用
message.ackAsConsumed();
}
}
}
}
DTS實現了SDK的數據消費時間點保存到DTS服務端的機製,簡化用戶使用SDK時,實現SDK容災的複雜度。
上麵示例代碼中的 askAsConsumed()接口就是將SDK消費的最新一條數據的位點及時間戳匯報給DTS服務端。匯報了時間戳信息,如果SDK意外宕機重啟後,會自動從DTS服務端獲取這個消費時間點,然後從這個時間點重啟,解決數據重複問題。
啟動ClusterClient
import java.util.List;
import com.aliyun.drc.clusterclient.ClusterClient;
import com.aliyun.drc.clusterclient.ClusterListener;
import com.aliyun.drc.clusterclient.DefaultClusterClient;
import com.aliyun.drc.clusterclient.RegionContext;
import com.aliyun.drc.clusterclient.message.ClusterMessage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MainClass
{
public static void main(String[] args) throws Exception {
//初始化RegionContext
…………
//初始化ClusterClient
…………
//初始化ClusterListener
…………
// 添加監聽者
client.addConcurrentListener(listener);
// 設置請求的訂閱通道ID
client.askForGUID("dts_rdsrjiei2u2afnb_DSF");
// 啟動後台線程, 注意這裏不會阻塞, 主線程不能退出
client.start();
}
上麵代碼中接口askForGUID設置這個client需要請求的訂閱通道ID。這個訂閱通道ID從DTS控製台上獲取。一旦配置了訂閱通道ID,那麼這個SDK就能獲取這個訂閱通道中的增量數據。
在啟動client之前,需要將監聽者listener添加到client中,這樣當client從訂閱通道中拉取到增量數據時,會同步回調用listener的notify方法開始進行數據消費。
最後更新:2016-11-23 16:03:55
上一篇:
SDK接口簡介__數據訂閱_用戶指南_數據傳輸-阿裏雲
下一篇:
訂閱數據SQL封裝簡介__數據訂閱_用戶指南_數據傳輸-阿裏雲
基本介紹__運維中心手冊_用戶操作指南_大數據開發套件-阿裏雲
高防CNAME接入流程__運維問題_產品常見問題_DDoS 高防IP-阿裏雲
郵件推送常見退信代碼___使用問題_郵件推送-阿裏雲
想給馬雲當學生嗎?阿裏雲大數據學院落戶青島!北方第一所,5年培養5000名人才…
定位及解決 HSF 問題__HSF 常見問題_開發常見問題_產品常見問題_企業級分布式應用服務 EDAS-阿裏雲
EDAS 賬號合並計費說明___服務條款和價格說明_企業級分布式應用服務 EDAS-阿裏雲
擴容多分區磁盤__擴容磁盤概覽_磁盤_用戶指南_雲服務器 ECS-阿裏雲
1.6 新增用戶和授權__快速入門_分析型數據庫-阿裏雲
調整集群規模__集群_API參考_E-MapReduce-阿裏雲
測試域名解析是否生效的方法__解析生效_產品使用問題_雲解析-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲