日志服務支持對每一個源Logstore配置一個加工任務,實現數據復制后分發到不同Logstore。本文介紹數據復制后分發到不同Logstore的典型場景和操作方法。
場景說明
某數據分析公司需要將Logstore中的每一條數據進行復制,并根據內容分別分發到兩個Logstore。對此需求,可通過日志服務數據加工的復制和分發功能完成,包括使用e_set函數設置tags標簽,并使用e_split函數按照tags標簽將數據分裂,再使用e_output函數分發到不同Logstore。其基本邏輯如下圖所示。在操作前,確保您已完成如下操作。
已完成target-a、target-b的性能評估和規劃。例如評估Shard數量。更多信息,請參見性能指南。
已創建target-a、logstore-a、target-b和logstore-b。更多信息,請參見管理Project和管理Logstore。
操作步驟
登錄日志服務控制臺。
在Project列表區域,單擊目標Project。
在控制臺左側,單擊日志存儲,在日志庫列表中單擊目標Logstore。
在查詢和分析頁面的左上角單擊數據加工,進入數據加工模式。
在數據加工編輯框中,輸入如下加工語句。
e_set("tags", "target-a,target-b") e_split("tags") e_if(op_eq(v("tags"), "target-a"), e_output("target-a")) e_if(op_eq(v("tags"), "target-b"), e_output("target-b")) e_drop()
單擊預覽數據。
您可以看到原始日志已增加tags標簽,并且tags為target-a的數據將被分發到target-a,tags為target-b的數據將被分發到target-b。
單擊保存數據加工。
在創建數據加工任務面板,配置如下參數。
配置基本信息。
參數
說明
任務名稱
數據加工任務的名稱。輸入test。
授權方式
授予日志服務讀取源日志庫中數據的權限。以默認角色為例,選擇默認角色。
配置target-a存儲目標。
參數
說明
目標名稱
存儲目標名稱。輸入target-a。
目標Region
目標Project所在地域。選擇華東1(杭州)。
目標Project
target-a所屬的Project名稱。輸入target-a。
目標庫
Logstore名稱。輸入logstore-a。
授權方式
授予日志服務讀寫target-a的權限。
以默認角色為例,選擇默認角色。
配置target-b存儲目標。
參數
說明
目標名稱
存儲目標名稱。輸入target-b。
目標Region
目標Project所在地域。選擇華東1(杭州)。
目標Project
target-b所屬的Project名稱。輸入target-b。
目標庫
Logstore名稱。輸入logstore-b。
授權方式
授予日志服務讀寫target-b的權限。
以默認角色為例,選擇默認角色。
配置加工時間范圍。
參數
說明
時間范圍
加工的時間范圍。 選擇所有,即表示對Logstore中的數據從開始時間持續加工。
單擊確定。
執行結果
打開target-a項目,在
頁簽中選擇logstore-a日志庫,您可以看到分發過來的數據。打開target-b項目,在
頁簽中選擇logstore-b日志庫,您可以看到分發過來的數據。