全部產品
Search
文件中心

AnalyticDB:通過資料同步功能同步SLS資料至數倉版

更新時間:Jul 06, 2024

通過AnalyticDB for MySQL的資料同步功能,您可以將SLS中指定時間點之後產生的資料即時同步至數倉版叢集,以滿足日誌資料即時分析的需求。

前提條件

  • 數倉版叢集與Log ServiceSLS的Project和Logstore位於同一地區。具體操作,請參見建立叢集快速入門

  • 數倉版叢集中已建立資料庫帳號,並為該帳號授予目標庫表的讀寫權限。具體操作,請參見建立資料庫帳號

  • 數倉版叢集中已建立目標庫表。具體操作,請參見CREATE TABLE

注意事項

目前AnalyticDB for MySQL叢集中的一張表僅支援同步處理記錄服務中的一個Logstore。若您需要同步多個Logstore,請建立多個資料表。

費用說明

該功能目前在免費公測中,公測結束時間為2024年5月30日,公測期間內,通過資料同步功能同步SLS資料時不收取費用。

使用流程

配置RAM授權(可選)

說明

如果您僅同步當前阿里雲帳號下的SLS資料,可跳過該步驟,直接建立資料來源。具體操作,請參見建立資料來源

跨帳號同步SLS資料到AnalyticDB for MySQL時,您需要在源端建立RAM角色,並為RAM角色精確授權、修改RAM角色的信任策略。

  1. 建立RAM角色。具體操作,請參見建立可信實體為阿里雲帳號的RAM角色

    說明

    配置選擇信任的雲帳號參數時,選擇其他雲帳號,填寫AnalyticDB for MySQL叢集所屬的阿里雲帳號ID。您可以登入帳號中心,在概覽頁面查看帳號ID

  2. 通過精確授權,為RAM角色授予AliyunAnalyticDBAccessingLogRolePolicy許可權。具體操作,請參見為RAM角色精確授權

  3. 修改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資料來源,可跳過該步驟,直接建立同步鏈路,詳情請參見建立同步鏈路

  1. 登入雲原生資料倉儲AnalyticDB MySQL控制台,在左上方選擇叢集所在地區。在左側導覽列,單擊集群清單,在數倉版(3.0)頁簽,單擊目的地組群ID。

  2. 在左側導覽列,單擊SLS資料接入 > 資料來源管理

  3. 單擊右上方的建立資料來源

  4. 建立資料來源頁面進行參數配置。參數說明如下表所示:

    參數名稱

    參數說明

    資料來源類型

    選擇資料來源類型SLS

    資料來源名稱

    系統預設按資料來源類型與目前時間產生名稱,可按需修改。

    資料來源描述

    資料來源備忘描述,例如應用情境、應用業務限制等。

    部署模式

    目前僅支援阿里雲執行個體

    SLS Project所在地區

    SLS Project所在地區。

    說明

    目前僅支援選擇AnalyticDB for MySQL叢集所在地區。

    是否跨阿里雲主帳號

    AnalyticDB for MySQL叢集支援同步相同阿里雲帳號或其他阿里雲帳號(跨帳號)的SLS資料。

    • 不跨帳號:同步當前阿里雲帳號下的SLS資料到AnalyticDB for MySQL叢集。

    • 跨帳號:同步其他阿里雲帳號下的SLS資料到AnalyticDB for MySQL叢集。選擇跨帳號同步資料時,您需要配置RAM授權,並填寫跨阿里雲主帳號跨阿里雲主帳號角色名稱。配置RAM授權的具體操作,請參見配置RAM授權

      說明
      • 跨阿里雲主帳號:SLS Project所屬的阿里雲帳號ID。

      • 跨阿里雲主帳號角色名稱:SLS Project所屬阿里雲帳號下的RAM角色。即配置RAM授權步驟1建立的RAM角色。

    SLS Project

    源端SLS的Project。

    SLS Logstore

    源端SLS的Logstore。

  5. 參數配置完成後,單擊建立

建立同步鏈路

  1. 在左側導覽列,單擊SLS資料接入 > 資料同步

  2. 單擊右上方的建立同步鏈路

  3. 建立同步鏈路頁面,配置資料來源及目標端配置目標庫表配置同步配置,參數說明如下表:

    • 資料來源及目標端配置的參數說明如下:

      參數名稱

      參數說明

      資料鏈路名稱

      資料鏈路名稱。系統預設按資料來源類型與目前時間產生名稱,可按需修改。

      資料來源

      選擇已有的SLS資料來源,也可建立資料來源。

      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資料的時間戳記精度選擇秒級精度時間戳記毫秒級精度時間戳記微秒級精度時間戳記

  4. 上述參數配置完成,單擊提交

啟動資料同步任務

  1. 資料同步頁面,選擇建立成功的資料同步任務,在操作列單擊啟動

  2. 單擊右上方查詢,狀態變為正在運行即資料同步任務啟動成功。

管理資料來源

資料同步頁面,您可以在操作列執行以下操作。

操作按鈕

說明

啟動

啟動資料同步作業。

執行詳情

查看資料同步作業的詳情,包括源和目的配置資訊,作業記錄以及運行監控。

編輯

可以編輯作業的起始位點,欄位對應等。

暫停

暫停資料同步作業。暫停後的作業可以再次點擊啟動恢複同步,恢複同步會自動從暫停時所處的位點繼續同步。

刪除

刪除資料同步作業。刪除後無法恢複,請謹慎操作。