全部產品
Search
文件中心

Simple Log Service:匯入Azure Blob 檔案

更新時間:Mar 14, 2026

通過Log Service的資料匯入功能,您可以將Azure Blob中的記錄檔匯入到Log Service,實現集中化的日誌管理、查詢和分析。目前只支援匯入單個大小不超過5 GB的Azure Blob檔案(壓縮檔按壓縮後的大小計算)。

重要

本文檔為阿里雲原創,智慧財產權歸阿里雲所有。由於本文檔旨在介紹阿里雲與第三方產品互動的服務能力,因此可能會提及第三方公司或其產品名稱。

前提條件

建立資料匯入配置

  1. 登入Log Service控制台

  2. 接入資料地區的資料匯入頁簽中,選擇AzureBlob - 資料匯入

  3. 選擇目標Project和LogStore,單擊下一步

  4. 匯入配置中,設定如下參數:

    參數

    說明

    任務名稱

    SLS任務的唯一名稱

    顯示名稱

    任務的顯示名稱

    任務描述

    匯入任務的描述

    ContainerName

    Azure Blob Container名稱

    AccountName

    Azure Blob 賬戶名稱

    AccountKey

    Azure Blob 密鑰

    AzureBlob Endpoint

    Azure Blob服務入口。

    說明

    非公用雲環境需填入Endpoint。如:Azure中國雲填入 https://<your ContainerName>.blob.core.chinacloudapi.cn

    檔案路徑首碼過濾

    通過檔案路徑首碼過濾Azure Blob檔案,用於準確定位待匯入的檔案。例如待匯入的檔案都在csv/目錄下,則可以指定首碼為csv/。

    如果不設定該參數,則遍曆整個Azure Blob Container。

    說明

    建議設定該參數。當Container中的檔案數量非常多時,全量遍曆將導致資料匯入效率非常低。

    檔案路徑正則過濾

    通過檔案路徑的Regex過濾Azure Blob檔案,用於準確定位待匯入的檔案。只有檔案名稱(包含檔案路徑)匹配該Regex的檔案才會被匯入。預設為空白,表示不過濾。

    例如Azure Blob檔案為testdata/csv/bill.csv,您可以設定Regex為(testdata/csv/)(.*)

    調整Regex的方法,請參見如何調試Regex

    檔案修改時間過濾

    通過檔案修改時間過濾Azure Blob檔案,用於準確定位待匯入的檔案。

    • 所有:如果您想匯入所有合格檔案,請選擇該項。

    • 某時間開始:如果您想匯入某個時間點後修改過的檔案,請選擇該項。

    • 特定時間範圍:如果您想匯入某個時間範圍內修改過的檔案,請選擇該項。

    資料格式

    檔案的解析格式,如下所示。

    • CSV:分隔字元分割的文字檔,支援指定檔案中的首行為欄位名稱或手動指定欄位名稱。除欄位名稱外的每一行都會被解析為日誌欄位的值。

    • 單行JSON:逐行讀取Azure Blob檔案,將每一行看做一個JSON對象進行解析。解析後,JSON對象中的各個欄位對應為日誌中的各個欄位。

    • 單行文本日誌:將Azure Blob檔案中的每一行解析為一條日誌。

    • 跨行文本日誌:多行模式,支援指定首行或者尾行的Regex解析日誌。

    壓縮格式

    待匯入的Azure Blob檔案的壓縮格式,Log Service根據對應格式進行解壓並讀取資料。

    編碼格式

    待匯入的Azure Blob檔案的編碼格式。目前僅支援UTF-8和GBK。

    檢查新檔案周期

    如果目標Azure Blob檔案路徑中不斷有新檔案產生,您可以根據需求設定檢查新檔案周期。設定後,匯入任務會一直在後台運行,自動周期性地發現並讀取新檔案(後台保證不會將同一個Azure Blob檔案中的資料重複寫入到Log Service)。

    如果目標Azure Blob檔案路徑中不再產生新檔案,請修改為永不檢查,即匯入任務讀取完所有合格檔案後,將自動結束。

    日誌時間配置

    時間欄位

    當選擇資料格式CSV單行JSON時,您可以設定一個時間欄位,即設定為檔案中代表時間的列名,用於指定匯入日誌到Log Service時的時間。

    提取時間正則

    您可以使用Regex提取日誌中的時間。

    例如日誌範例為127.0.0.1 - - [10/Sep/2018:12:36:49 0800] "GET /index.html HTTP/1.1"時,則您可以設定提取時間正則[0-9]{0,2}\/[0-9a-zA-Z]+\/[0-9:,]+

    說明

    針對其他類型的資料格式,如果您只需提取時間欄位中的部分內容,也可通過Regex提取。

    時間欄位格式

    指定時間格式,用於解析時間欄位的值。

    • 支援Java SimpleDateFormat文法的時間格式,例如yyyy-MM-dd HH:mm:ss。時間格式的文法詳情,請參見Class SimpleDateFormat。常見的時間格式,請參見時間格式

    • 支援epoch格式,包括epoch、epochMillis、epochMicro和epochNano。

    時間欄位分區

    選擇時間欄位對應的時區。當時間欄位格式為epoch類別時,不需要設定時區。

    如果解析日誌時間需要考慮夏令時,可以選擇UTC格式;否則,選擇GMT格式。

    說明

    預設使用東八區時間。

    當選擇資料格式CSV時,需要額外設定相關參數,具體說明如下表所示。

    • CSV特有參數

      參數

      說明

      分隔字元

      設定日誌的分隔字元,預設值為半形逗號(,)。

      引號

      CSV字串所使用的引號字元。

      轉義符

      配置日誌的轉義符,預設值為反斜線(\)。

      日誌最大跨行數

      開啟首行作為欄位名稱開關後,將使用CSV檔案中的首行作為欄位名稱。

      自訂欄位列表

      關閉首行作為欄位名稱開關後,請根據需求自訂日誌欄位名稱,多個欄位名稱之間用半形逗號(,)隔開。

      跳過行數

      指定跳過的日誌行數。例如設定為1,則表示從CSV檔案中的第2行開始採集日誌。

    • 跨行文本日誌特有參數

      參數

      說明

      正則匹配位置

      設定Regex匹配的位置,具體說明如下:

      • 首行正則:使用Regex匹配一條日誌的行首,未匹配部分為該條日誌的一部分,直到達到最大行數。

      • 尾行正則:使用Regex匹配一條日誌的行尾,未匹配部分為下一條日誌的一部分,直到達到最大行數。

      Regex

      根據日誌內容,設定正確的Regex。

      調整Regex的方法,請參見如何調試Regex

      最大行數

      一條日誌的最大行數。

  5. 單擊預覽,預覽匯入結果。

  6. 確認無誤後,單擊下一步

  7. 預覽資料及建立索引,然後單擊下一步

    Log Service預設開啟全文索引。您也可以根據採集到的日誌手動建立欄位索引,或者單擊自動產生索引,Log Service將自動產生欄位索引。

    重要

    如果您要查詢和分析日誌,那麼全文索引和欄位索引必須至少啟用一種。同時啟用時,以欄位索引為準。

查看匯入配置

建立匯入配置成功後,您可以在控制台中查看已建立的匯入配置及產生的統計報表。

  1. 在Project列表地區,單擊目標Project。

  2. 日誌儲存 > 日誌庫中,選擇目標日誌庫下的資料接入 > 資料匯入,單擊配置名稱。

  3. 查看匯入配置的基本資料和統計報表。

  4. 您還可以修改配置、開始或停止匯入、刪除配置 。

    警告

    刪除配置後不可恢複,請謹慎操作。

費用說明

Log Service不針對匯入功能收取費用,但匯入功能需要訪問服務商API,會產生對應的流量費用和請求費用。相關計價模型如下,具體的費用以服務商賬單為準。

image

欄位

說明

T

每天匯入的總資料量,單位:GB。

p_read

每GB資料的外網流出費用。

p_put

每萬次的Put類型請求費用。

p_get

每萬次的Get類型請求費用。

新檔案檢查周期,單位:分鐘。

您可以在建立資料匯入配置時,設定檢查新檔案周期

N

Container中根據首碼可列出的檔案數量。

常見問題

問題

可能原因

解決方案

預覽時顯示無資料。

Azure Blob中沒有檔案、檔案中沒有資料或者沒有符合過濾條件的檔案。

  • 檢查Container下是否存在非空檔案(CSV檔案是否僅包含headers行)。如果不存在有資料的檔案,則可以等待檔案有資料後再進行匯入。

  • 調整檔案路徑、時間過濾等配置項。

資料中存在亂碼。

資料格式、壓縮格式或編碼格式配置不符合預期。

確認Azure Blob檔案的真實格式,然後調整資料格式、壓縮格式或編碼格式等配置項。

如果需要修複已有的亂碼資料,請建立新的LogStore和匯入配置。

Log Service中顯示的資料時間和資料本身的時間不一致。

設定匯入配置時,沒有指定日誌時間欄位或者設定時間格式、時區有誤。

設定指定的日誌時間欄位以及正確的時間格式和時區。

匯入資料後,無法查詢和分析資料。

  • 資料不在查詢範圍內。

  • 未配置索引。

  • 索引未生效。

  • 檢查待查詢資料的時間是否在查詢時間範圍內。

    如果不在查詢範圍內,請調整查詢範圍並重新查詢。

  • 檢查是否已為LogStore設定索引。

    如果未設定,請先建立索引

  • 如果已設定索引,且資料處理流量觀測儀錶盤中顯示的成功匯入資料量符合預期,則可能原因是索引未生效,請嘗試重建索引

匯入的資料條目數量少於預期。

部分檔案存在單行資料大小超過3 MB的資料,導致資料在匯入處理程序中被丟棄。更多資訊,請參見採集限制

寫入資料到Azure Blob檔案時,避免單行資料大小超過3 MB。

檔案數量和總資料量都很大,但匯入資料的速度不及預期(正常情況下,可達到80 MB/s)。

LogStore Shard數量過少。更多資訊,請參見效能限制

LogStore Shard數量較少時,請嘗試增加Shard的個數(10個及以上),並觀察延遲情況。具體操作,請參見管理Shard

部分檔案沒有匯入。

過濾條件設定存在問題或者存在單個檔案大小超出5 GB的檔案。更多資訊,請參見採集限制

  • 檢查待匯入的檔案是否符合過濾條件。如果不符合,請修改過濾條件。

  • 確認待匯入檔案的大小都小於5 GB。

    如果超過5 GB,請縮小單個檔案的大小。

多行文本日誌解析錯誤。

首行Regex或尾行Regex設定錯誤。

檢查首行Regex或尾行Regex的正確性。

新檔案匯入延遲大。

存量檔案太多(即符合檔案路徑首碼過濾的檔案數量太多)。

如果符合檔案路徑首碼過濾條件檔案數量太多(超過100萬),建議首碼設定得更加詳細,同時建立多個任務來進行資料匯入。否則,發現新檔案的效率非常低。

錯誤處理機制

錯誤項

說明

讀取檔案失敗

讀檔案時,如果遇到檔案不完整的錯誤(例如由網路異常、檔案損壞等導致),匯入任務會自動重試,重試3次後仍然讀取失敗,將跳過該檔案。

稍候再試和檢查新檔案周期一致。如果檢查新檔案周期為永不檢查,則重試周期為5分鐘。

壓縮格式解析錯誤

解壓檔案時,如果遇到檔案壓縮格式無效的錯誤,匯入任務將直接跳過該檔案。

資料格式解析錯誤

解析資料失敗時,匯入任務會將原始常值內容存放到日誌的content欄位中。

Container不存在

匯入任務會定期重試,即重建Container後,匯入任務會自動回復匯入。

許可權錯誤

從Container讀取資料或者寫資料到Log ServiceLogStore存在許可權錯誤時,匯入任務會定期重試,即修複許可權問題後,匯入任務會自動回復。

遇到許可權錯誤時,匯入任務不會跳過任何檔案,因此修複許可權問題後,匯入任務會自動將Container中還未被處理的檔案中的資料匯入到Log ServiceLogStore中。