通過AnalyticDB for MySQL的資料同步功能,您可以將SLS中指定時間點之後產生的資料即時同步至企業版及湖倉版叢集,以滿足日誌資料即時分析的需求。
前提條件
企業版及湖倉版叢集與Log ServiceSLS的Project和Logstore位於同一地區。具體操作,請參見建立叢集和快速入門。
已在企業版及湖倉版叢集中建立Job型資源群組。具體操作,請參見建立資源群組。
已建立企業版及湖倉版叢集的資料庫帳號。
如果是通過阿里雲帳號訪問,只需建立高許可權帳號。具體操作,請參見建立高許可權帳號。
如果是通過RAM使用者訪問,需要建立高許可權帳號和普通帳號並且將RAM使用者綁定到普通帳號上。具體操作,請參見建立資料庫帳號和綁定或解除綁定RAM使用者與資料庫帳號。
企業版及湖倉版叢集中已建立目標庫表。具體操作,請參見CREATE TABLE。
注意事項
目前AnalyticDB for MySQL叢集中的一張表僅支援同步處理記錄服務中的一個Logstore。若您需要同步多個Logstore,請建立多個資料表。
費用說明
該功能目前在免費公測中,公測結束時間為2024年5月30日,公測期間內,通過資料同步功能同步SLS資料時不收取費用。
使用流程
步驟一:配置RAM授權(可選)。
步驟二:建立資料來源。
步驟三:建立同步鏈路。
步驟四:啟動資料同步任務。
步驟五:管理資料來源。
配置RAM授權(可選)
如果您僅同步當前帳號下的SLS資料,可跳過該步驟,直接建立資料來源,詳情請參見建立資料來源。
跨帳號同步SLS資料到AnalyticDB for MySQL時,您需要在源端建立RAM角色,並為RAM角色精確授權、修改RAM角色的信任策略。
建立RAM角色。具體操作,請參見建立可信實體為阿里雲帳號的RAM角色。
說明配置選擇信任的雲帳號參數時,選擇其他雲帳號,填寫AnalyticDB for MySQL叢集所屬的阿里雲帳號ID。您可以登入帳號中心,在概覽頁面查看帳號ID。
通過精確授權,為RAM角色授予AliyunAnalyticDBAccessingLogRolePolicy許可權。具體操作,請參見為RAM角色精確授權。
修改RAM角色的信任策略,允許指定阿里雲帳號下的AnalyticDB for MySQL叢集可以扮演該RAM角色。具體操作,請參見修改RAM角色的信任策略。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::<阿里雲帳號ID>:root" ], "Service": [ "<阿里雲帳號ID>@ads.aliyuncs.com" ] } } ], "Version": "1" }
說明阿里雲帳號ID為步驟1中填寫的AnalyticDB for MySQL叢集所屬的阿里雲帳號ID,配置時無需填寫角括弧(<>)。
建立資料來源
如果您已添加了SLS資料來源,可跳過該步驟,直接建立同步鏈路,詳情請參見建立同步鏈路。
登入雲原生資料倉儲AnalyticDB MySQL控制台,在左上方選擇叢集所在地區。在左側導覽列,單擊集群清單,在湖倉版頁簽下,單擊目的地組群ID。
在左側導覽列,單擊資料接入>資料來源管理。
單擊右上方新建數據源。
在建立資料來源頁面進行參數配置。參數說明如下表所示:
參數名稱
參數說明
數據源類型
選擇資料來源類型SLS。
數據源名稱
系統預設按資料來源類型與目前時間產生名稱,可按需修改。
數據源描述
資料來源備忘描述,例如應用情境、應用業務限制等。
部署模式
目前僅支援阿里雲執行個體。
SLS Project所在地域
SLS Project所在地區。
SLS Project所在地區。
說明目前僅支援選擇AnalyticDB for MySQL叢集所在地區。
是否跨阿里雲主賬號
AnalyticDB for MySQL叢集支援同步相同阿里雲帳號或其他阿里雲帳號(跨帳號)的SLS資料。
不跨帳號:同步當前阿里雲帳號下的SLS資料到AnalyticDB for MySQL叢集。
SLS Project
源端SLS的Project。
SLS Logstore
源端SLS的Logstore。
參數配置完成後,單擊建立。
建立同步鏈路
在左側導覽列,單擊SLS/Kafka數據同步。
在右上方,單擊新建同步鏈路。
在建立同步鏈路頁面,配置資料來源及目標端配置、目標庫表配置和同步配置,參數說明如下表:
資料來源及目標端配置的參數說明如下:
參數名稱
參數說明
數據鏈路名稱
資料鏈路名稱。系統預設按資料來源類型與目前時間產生名稱,可按需修改。
資料來源
選擇已有的SLS資料來源,也可建立資料來源。
選擇已有的SLS資料來源,也可建立資料來源。
目標端類型
選擇數倉-ADB儲存。
ADB帳號
AnalyticDB for MySQL叢集的資料庫帳號。
ADB密碼
AnalyticDB for MySQL叢集資料庫帳號的密碼。
目標庫表配置的參數說明如下:
參數名稱
參數說明
庫名
AnalyticDB for MySQL叢集的資料庫名稱。
表名
AnalyticDB for MySQL叢集的資料表名稱。
源端資料預覽
單擊點擊查看最近10條LogStore資料,可以查看源端SLS的10條資料。
Schema欄位對應
AnalyticDB for MySQL叢集表的欄位自動填滿目標欄位和源欄位。如果目標欄位與源欄位的映射關係不正確,請手動修改。
例如:AnalyticDB for MySQL叢集資料表的欄位名為name,源端SLS資料欄位名為user_name,系統會自動以name填充源欄位和目標欄位,此時您需要手動修改源欄位為user_name。
同步配置的參數說明如下:
參數名稱
參數說明
投遞起始位點
同步任務啟動時會從選擇的時間點開始消費SLS資料。
例如:投遞起始位點選擇為2024-04-09 13:10,系統則會從2024年4月9日13:10之後的第一條資料開始消費。
髒資料處理模式
同步資料時,若目標表中的欄位類型與源端實際同步的SLS資料類型不匹配,則會導致同步失敗。例如源端的資料是
abc
,而目標表中的欄位類型是int
,此時會因為無法轉換而導致同步異常。髒資料處理模式取值如下:
中斷同步(預設值):資料同步終止,您需修改目標表的欄位類型或修改為其他髒資料處理模式,再重啟同步任務。
按NULL處理:髒資料按NULL值寫入目標表,並丟棄髒資料。
例如:SLS資料總共有10行,某一欄位中有2行是髒資料,則該2行資料轉為NULL值寫入,其他8行資料正常寫入。
Unix時間戳記轉datetime
若SLS源欄位是Unix時間戳記(例如1710604800),而目標欄位類型是DATETIME或TIMESTAMP,需開啟此功能進行轉換。開啟後,您可根據SLS資料的時間戳記精度選擇秒級精度時間戳記、毫秒級精度時間戳記和微秒級精度時間戳記。
上述參數配置完成,單擊提交。
啟動資料同步任務
在資料同步頁面,選擇建立成功的資料同步任務,在操作列單擊啟動。
單擊右上方查詢,狀態變為正在運行即資料同步任務啟動成功。
管理資料來源
在資料同步頁面,您可以在操作列執行以下操作。
操作按鈕 | 說明 |
啟動 | 啟動資料同步作業。 |
執行詳情 | 查看資料同步作業的詳情,包括源和目的配置資訊,作業記錄以及運行監控。 |
編輯 | 可以編輯作業的起始位點,欄位對應等。 |
暫停 | 暫停資料同步作業。暫停後的作業可以再次點擊啟動恢複同步,恢複同步會自動從暫停時所處的位點繼續同步。 |
刪除 | 刪除資料同步作業。刪除後無法恢複,請謹慎操作。 |