Log Service資料加工功能支援從OSS擷取IPIP庫資料,對日誌中的IP地址進行富化,補充IP地址所屬的國家、省、市等資訊。
前提條件
已建立唯讀許可權的存取金鑰(AccessKey),用於從OSS Bucket擷取檔案。具體操作,請參見建立AccessKey。授權策略詳情請參見RAM Policy。
已建立唯寫許可權的存取金鑰(AccessKey),用於向OSS Bucket上傳IP地址檔案。
已從IP2Location官網下載IP地址檔案,並上傳到OSS Bucket。更多資訊,請參見控制台上傳檔案。
背景資訊
IPIP.NET提供全球IP地址資料庫,可以協助您精確尋找、確定全球範圍內的IP地理位置。您可以從IPIP.NET官網下載IP地址檔案,上傳至OSS。在資料加工過程中,如果您希望根據日誌中的IP地址擷取國家、省、市等資訊,您可以通過res_oss_file函數從OSS上擷取IPIP庫資料,然後使用geo_parse函數解析IP地址,最後使用e_set函數將解析結果中的新欄位添加到日誌中,實現資料富化。
實踐案例
原始日誌
ip: 192.0.2.1
加工規則
e_set( "geo", geo_parse( v("ip"), ip_db=res_oss_file( endpoint="http://oss-cn-hangzhou.aliyuncs.com", ak_id=res_local("AK_ID"), ak_key=res_local("AK_KEY"), bucket="your bucket", file="ipipfree.ipdb", format="binary", change_detect_interval=200, ), ), )
res_oss_file函數重要欄位說明如下表所示。
欄位
說明
endpoint
OSS訪問網域名稱。更多資訊,請參見訪問網域名稱和資料中心。
ak_id
具備讀OSS許可權的AccessKey ID。
出於安全考慮,建議配置為res_local("AK_ID"),表示從進階參數配置中擷取。進階參數配置操作步驟請參見建立資料加工任務。
ak_key
具備讀OSS許可權的AccessKey Secret。
出於安全考慮,建議配置為res_local("AK_KEY")表示從進階參數配置中擷取。
bucket
用於儲存IP地址檔案的OSS Bucket。
file
您已上傳的IP地址檔案的名稱。
format
使用res_oss_file函數從OSS擷取IPIP庫資料時,檔案輸出格式需設定為format='binary'。
加工結果
ip: 192.0.2.1 city: 杭州市 province: 浙江省 country: 中國