本文列舉資料加工任務所涉及的所有函數。
全域操作函數
函數分類 | 函數名稱 | 說明 |
e_if | 條件與操作組合。
| |
e_if_else | 根據條件判斷的結果進行對應操作。 | |
e_switch | 條件與操作的組合。
| |
e_compose | 組合一系列操作。
| |
e_drop | 根據條件判斷是否丟棄日誌。 | |
e_keep | 根據條件判斷是否保留日誌。 | |
e_split | 基於日誌欄位的值分裂出多條日誌,並且支援通過JMES提取欄位後再進行分裂。 | |
e_output | 輸出日誌到指定的Logstore中,並可配置輸出時的topic、source、tag和shard hash資訊。輸出後對應的日誌不再執行後面的加工規則。 | |
e_coutput | 輸出日誌到指定的Logstore中,並可配置輸出時的topic、source、tag和shard hash資訊。輸出後繼續執行後面的加工規則。 | |
e_to_metric | 將日誌格式轉化為時序儲存(MetricStore)的格式。 | |
v | 獲得日誌特定欄位的值。當同時傳入多個欄位名時,返回日誌中第一個存在的欄位的值。 | |
e_set | 添加新欄位或為現有欄位設定新的欄位值。 | |
e_drop_fields | 刪除合格日誌欄位。 | |
e_keep_fields | 保留合格日誌欄位。 | |
e_pack_fields | 打包日誌欄位,並輸出到新的欄位中。 | |
e_rename | 重新命名合格日誌欄位名稱。 | |
e_regex | 根據Regex提取欄位的值並賦值給其他欄位。 | |
e_json | 對日誌特定欄位中的JSON對象進行JSON操作,包括JSON展開、JMES提取或者JMES提取後再展開。 | |
e_kv | 通過quote提取多個源欄位中的索引值對資訊。 | |
e_kv_delimit | 通過分隔字元提取源欄位中的索引值對資訊。 | |
e_csv | 使用自訂的分隔字元與預定義的欄位名,從特定欄位中提取多個欄位。預設分隔符號為半形逗號(,)。 | |
e_tsv | 使用自訂的分隔字元與預定義的欄位名,從特定欄位中提取多個欄位。預設分隔符號為 | |
e_psv | 使用自訂的分隔字元與預定義的欄位名,從特定欄位中提取多個欄位。預設分隔符號為豎線(|)。 | |
e_syslogrfc | 根據Syslog協議由已知priority值計算出facility和severity,並且匹配相應的level資訊。 | |
e_anchor | 使用定義的anchor_rules規則提取字串。 | |
e_dict_map | 在映射關係的字典中,根據輸入的欄位對應出一個新欄位。 | |
e_table_map | 在映射表格中尋找對應的行,根據輸入的欄位返回欄位的值。 | |
e_tablestore_map | 以阿里雲Table Store(Tablestore)作為維表資料對原始日誌進行富化。 | |
e_redis_map | 以阿里雲Redis作為維表資料對原始日誌進行富化。 |
運算式函數
函數分類 | 函數名稱 | 說明 |
e_has | 判斷日誌欄位是否存在。 | |
e_not_has | 判斷日誌欄位是否不存在。 | |
e_search | 提供一種簡化,類似Lucene文法的記錄搜尋方式。 | |
e_match、e_match_all、e_match_any | 判斷當前日誌欄位的值是否滿足Regex。 | |
op_if | 根據判斷條件返回不同運算式的值。 | |
op_ifnull | 返回第一個值不為None的運算式的值。 | |
op_coalesce | 返回第一個值不為None的運算式的值。 | |
op_nullif | 如果運算式1等於運算式2,返回None。否則返回運算式1的值。 | |
op_and | 使用邏輯運算and,對任意類型值進行真假判斷,所有參數值為真時返回True。 | |
op_not | 使用邏輯運算not,對任意類型值進行真假判斷,返回參數值的反義布爾值。 | |
op_or | 使用邏輯運算or,對任意類型值進行真假判斷。當任意參數值為真時返回True,所有參數值為假時返回False。 | |
op_eq | 按照 | |
op_ge | 按照 | |
op_gt | 按照 | |
op_le | 按照 | |
op_lt | 按照 | |
op_ne | 按照 | |
op_len | 計算文本字串中的字元數,可用於字串和其他返回元組、列表、字典的運算式。 | |
op_in | 判斷字串、元組、列表或字典中是否包含特定元素,返回True或False。 | |
op_not_in | 判斷字串、元組、列表或字典中是否不包含特定元素,返回True或False。 | |
op_slice | 對指定字串、數組、元組進行截取。 | |
op_index | 根據字串、數組、元組的下標返回其對應的元素。 | |
op_add | 計算多個值的和,可以是字串或者數字等。 | |
op_max | 計算多個欄位或運算式表示的數值的最大值。 | |
op_min | 計算多個欄位或運算式表示的數值的最小值。 | |
ct_int | 將欄位或運算式的值轉換為整數。 | |
ct_float | 將欄位或運算式的值轉換為浮點數。 | |
ct_str | 將欄位或運算式的值轉換為字串。 | |
ct_bool | 將欄位或運算式值轉換為布爾值。 | |
ct_chr | 將欄位或運算式的ANSI值、Unicode值轉換為對應字元。 | |
ct_ord | 將欄位或運算式的字元轉換為對應ANSI值、Unicode值。 | |
ct_hex | 將欄位或運算式的數值轉換為十六進位數。 | |
ct_oct | 將欄位或運算式的數值轉換為八位元。 | |
ct_bin | 將欄位或運算式的數值轉換為位元。 | |
bin2oct | 將二進位位元組字串轉換為八進位字串。 | |
bin2hex | 將二進位位元組字串轉換為十六進位字串。 | |
op_abs | 計算傳入值的絕對值。 | |
op_div_floor | 對傳入值進行整除運算。 | |
op_div_true | 對傳入值進行除法運算。 | |
op_pow | 對傳入值進行冪值計算。 | |
op_mul | 對傳入值進行乘法運算。 | |
op_neg | 計算傳入值的相反數。 | |
op_mod | 對傳入值進行模計算。 | |
op_sub | 對傳入值進行減法運算。 | |
op_round | 對傳入值進行四捨五入操作。 | |
op_sum | 對傳入值進行求和運算。 | |
mat_ceil | 對傳入值進行向上取整操作。 | |
mat_exp | 以常數e為底的指數函數。 | |
mat_fabs | 計算傳入值的絕對值。 | |
mat_floor | 對傳入值進行向下取整操作。 | |
mat_log | 計算傳入值的對數。 | |
mat_log10 | 計算以10為基數的傳入值的對數。 | |
mat_sqrt | 計算傳入值的平方根。 | |
mat_degrees | 將弧度轉換為角度。 | |
mat_radians | 將角度轉換為弧度。 | |
mat_sin | 計算傳入值弧度的正弦值。 | |
mat_cos | 計算傳入值弧度的餘弦值。 | |
mat_tan | 計算傳入值弧度的正切值。 | |
mat_acos | 計算傳入值的反餘弦弧度值。 | |
mat_asin | 計算傳入值的反正弦弧度值。 | |
mat_atan | 計算傳入值的反正切弧度值。 | |
mat_atan2 | 計算座標值的反正切值。 | |
mat_atanh | 計算傳入值的反雙曲正切值。 | |
mat_hypot | 計算傳入值的歐幾裡德範數。 | |
str_format | 按照指定格式對字串進行格式化。 | |
str_join | 通過串連符將輸入的字串串連產生一個新的字串。 | |
str_zip | 將兩個值或運算式的字串進行並發分裂然後再合并成一個字串。 | |
str_encode | 按照指定的編碼格式對字串進行編碼。 | |
str_decode | 按照指定的編碼格式對傳入值進行解碼。 | |
str_hex_escape_encode | 轉義特殊字元,支援將十六進位字元轉義為中文字元。 | |
str_sort | 將指定的對象進行排序。 | |
str_reverse | 將一個字串進行反轉。 | |
str_replace | 根據規則將舊字串替換成新字串。 | |
str_logtash_config_normalize | 將Logstash配置語言轉成JSON格式。 | |
str_translate | 將字串中的指定字元按照對應關係進行替換。 | |
str_strip | 刪除字串中指定的字元。 | |
str_lstrip | 刪除字串開頭的指定字元。 | |
str_rstrip | 刪除字串結尾的指定字元。 | |
str_lower | 將字串中所有大寫字元轉換為小寫字元。 | |
str_upper | 將字串中所有小寫字元轉換為大寫字元。 | |
str_title | 將所有單詞的首個字母轉化為大寫,其餘字母均為小寫。 | |
str_capitalize | 將字串的第一個字母轉化為大寫,其他字母轉化為小寫。 | |
str_swapcase | 對字串的大小寫字母進行轉換。 | |
str_count | 統計字串裡某個字元出現的次數。 | |
str_find | 判斷原字串中是否包含指定的子字串。 | |
str_rfind | 尋找字串中指定字元最後一次出現的位置。 | |
str_endswith | 判斷字串是否以指定尾碼結尾。 | |
str_startswith | 判斷字串是否以指定字串開頭。 | |
str_split | 通過指定分隔字元對字串進行分割。 | |
str_splitlines | 通過分行符號對字串進行分割。 | |
str_partition | 根據指定的分隔字元將字串從左往右分割為三部分。 | |
str_rpartition | 根據指定的分隔字元將字串從右往左分割為三部分。 | |
str_center | 用指定字元將字串填充到指定長度。 | |
str_ljust | 用指定字元將字串從結尾填充至指定長度。 | |
str_rjust | 用指定字元將原字串從開頭填充至指定長度。 | |
str_zfill | 用字元0從開頭將字串填充至指定長度。 | |
str_expandtabs | 將字串中的 | |
str_isalnum | 判斷字串是否僅由字母和數字組成。 | |
str_isalpha | 判斷字串是否僅由字母組成。 | |
str_isascii | 判斷字串是否在ASCII中。 | |
str_isdecimal | 判斷字串是否僅包含十進位字元。 | |
str_isdigit | 判斷字串是否僅由數字組成。 | |
str_isidentifier | 判斷字串是否是有效Python標識符,也可以用來判斷變數名是否合法。 | |
str_islower | 判斷字串是否由小寫字母組成。 | |
str_isnumeric | 判斷字串是否由數字組成。 | |
str_isprintable | 判斷字串中是否所有字元都是可列印字元。 | |
str_isspace | 判斷字串是否僅由空白字元組成。 | |
str_istitle | 判斷字串中所有單詞的拼字首字母是否為大寫,且其他字母為小寫。 | |
str_isupper | 字串中所有的字母是否都為大寫。 | |
str_uuid | 產生隨機UUID。 | |
dt_parse | 將值或時間運算式的值轉換為日期時間對象。 | |
dt_str | 將值或時間運算式的值轉換為字串。 | |
dt_parsetimestamp | 將值或時間運算式的值轉換為Unix時間戳記。 | |
dt_prop | 擷取值或時間運算式值的特定屬性,包括所屬day、year等。 | |
dt_now | 擷取當前日期時間。 | |
dt_today | 擷取當前日期,不含時間。 | |
dt_utcnow | 擷取當前時區的當前日期時間對象。 | |
dt_fromtimestamp | 將Unix時間戳記轉換為日期時間對象。 | |
dt_utcfromtimestamp | 將Unix時間戳記轉換為當前時區的日期時間對象。 | |
dt_strptime | 將時間字串解析為日期時間對象。 | |
dt_currentstamp | 擷取當前Unix時間戳記。 | |
dt_totimestamp | 將日期時間對象轉換為Unix時間戳記。 | |
dt_strftime | 將日期時間對象按照指定格式轉換為字串。 | |
dt_strftimestamp | 將Unix時間戳記按照指定格式轉換為字串。 | |
dt_truncate | 從值或時間運算式中截取指定的時間粒紋。 | |
dt_add | 根據指定的時間粒紋修改值或時間運算式的值。 | |
dt_MO |
| |
dt_TU |
| |
dt_WE |
| |
dt_TH |
| |
dt_FR |
| |
dt_SA |
| |
dt_SU |
| |
dt_astimezone | 將值或時間運算式的值轉換為特定時區的日期時間對象。 | |
dt_diff | 按照特定粒度擷取兩個值或時間運算式值的差異值。 | |
regex_select | 根據Regex提取合格值。 | |
regex_findall | 根據Regex獲得合格所有值列表。 | |
regex_match | 判斷是否匹配Regex。 | |
regex_replace | 根據Regex替換字串中的指定字元。 | |
regex_split | 將一個字串分割成字串數組。 | |
grok | 根據Regex提取特定的值。 | |
json_select | 根據JMES文法提取或計算JSON運算式中特定的值。 | |
json_parse | 將值解析為JSON對象。 | |
xml_to_json | 將XML資料轉成JSON再做展開操作。 | |
geo_parse | 根據IP位址解析出所屬國家、省份和市資訊。 | |
ip_cidrmatch | 判斷IP地址是否屬於CIDR地址塊。 | |
ip_version | 判斷IP地址為IPv4還是IPv6。 | |
ip_type | 判斷IP地址為私人地址還是公有地址。 | |
ip_makenet | 將單個IP地址轉換為CIDR地址塊。 | |
ip_to_format | 將輸入的CIDR地址塊按照Prefixlen或者Netmask格式輸出。 | |
ip_overlaps | 判斷兩個網段是否存在重疊。 | |
ip2long | 將字串格式的IP地址轉換成長整型資料。 | |
long2ip | 將長整型資料轉換成字串格式的IP地址。 | |
url_encoding | 對資料進行URL編碼。 | |
url_decoding | 對資料進行URL解碼。 | |
protobuf_decoding | 按照傳入的Protobuf模板將資料解析成JSON格式。 | |
str_encode | 按照指定的編碼格式對字串進行編碼。 | |
str_decode | 按照指定的編碼格式對傳入值進行解碼。 | |
base64_encoding | 對資料進行Base64編碼。 | |
base64_decoding | 對資料進行Base64解碼。 | |
html_encoding | 對資料進行HTML編碼。 | |
html_decoding | 對資料進行HTML解碼。 | |
md5_encoding | 對資料進行MD5編碼。 | |
sha1_encoding | 對資料進行SHA1編碼。 | |
crc32_encoding | 計算資料的迴圈冗餘校正碼。 | |
gzip_compress | 將資料進行壓縮並編碼。 | |
gzip_decompress | 將壓縮資料解壓縮。 | |
zlib_compress | 將資料進行壓縮並編碼。 | |
zlib_decompress | 將壓縮資料解壓縮。 | |
aes_encrypt | 對資料進行AES加密。 | |
aes_decrypt | 對資料進行AES解密。 | |
jwt_encoding | 基於JSON Web Token (JWT)標準,對JSON資料進行編碼。 | |
jwt_decoding | 基於JSON Web Token (JWT)標準,將資料解碼為原始JSON。 | |
hashids_encoding | 使用Hashids庫對資料進行編碼。 | |
hashids_decoding | 對已使用Hashids庫編碼的資料進行解碼。 | |
ua_parse_device | 解析User-Agent中的裝置資訊。 | |
ua_parse_os | 解析User-Agent中的作業系統資訊。 | |
ua_parse_agent | 解析User-Agent中的瀏覽器資訊。 | |
ua_parse_all | 解析User-Agent中所有資訊。 | |
url_parse | 解析URL的組成部分。 | |
url_parse_qs | 解析URL中查詢字串的組成部分。 | |
lst_make | 構建列表。 | |
lst_insert | 在列表特定位置插入元素。 | |
lst_append | 在列表結尾添加元素。 | |
lst_delete_at | 在列表特定位置刪除元素。 | |
lst_reverse | 反向排序列表。 | |
lst_get | 擷取列表、元組中的一個元素。 | |
dct_make | 構建字典。 | |
dct_update | 更新字典。 | |
dct_delete | 刪除字典值。 | |
dct_keys | 擷取字典關鍵字列表。 | |
dct_values | 擷取字典值列表。 | |
dct_get | 擷取字典關鍵字的值。 | |
tab_parse_csv | 從CSV格式的文本中構建表格。 | |
tab_to_dict | 從表格構建字典。 | |
res_local | 從當前資料加工任務中拉取進階參數配置資訊。 | |
res_rds_mysql | 從RDS MySQL資料庫中拉取資料庫表內容或SQL執行結果,支援定期更新資料。 | |
res_log_logstore_pull | 從另一個Logstore中拉取資料,支援持續拉取資料。 | |
res_oss_file | 從OSS中擷取特定Bucket下的檔案內容,支援定期更新資料。 |