本文介紹URL函數的基本文法和樣本。
Log Service支援如下URL函數。
URL格式為
[protocol:][//host[:port]][path][?query][#fragment]
。在Log Service分析語句中,表示字串的字元必須使用單引號('')包裹,無符號包裹或被雙引號("")包裹的字元表示欄位名或列名。例如:'status'表示字串status,status或"status"表示日誌欄位status。
函數名稱 | 文法 | 說明 | 支援SQL | 支援SPL |
url_encode(x) | 對URL進行編碼。 | √ | √ | |
url_decode(x) | 對URL進行解碼。 | √ | √ | |
url_extract_fragment(x) | 從URL中提取Fragment資訊。 | √ | √ | |
url_extract_host(x) | 從URL中提取Host資訊。 | √ | √ | |
url_extract_parameter(x, parameter name) | 從URL的查詢部分中提取指定參數的值。 | √ | √ | |
url_extract_path(x) | 從URL中提取訪問路徑資訊。 | √ | √ | |
url_extract_port(x) | 從URL中提取連接埠資訊。 | √ | √ | |
url_extract_protocol(x) | 從URL中提取協議資訊。 | √ | √ | |
url_extract_query(x) | 從URL中提取查詢部分的資訊。 | √ | √ |
url_encode函數
url_encode函數用於對URL進行編碼。
文法
url_encode(x)
參數說明
參數 | 說明 |
x | 參數值為具體的URL地址。 |
傳回值類型
varchar類型。
樣本
對url欄位的值進行編碼。
欄位範例
url:https://homenew.console.aliyun.com/home/dashboard/ProductAndService
查詢和分析語句
* | select url_encode(url)
查詢和分析結果
url_decode函數
url_decode函數對URL進行解碼。
文法
url_decode(x)
參數說明
參數 | 說明 |
x | 參數值為編碼過的URL地址。 |
傳回值類型
varchar類型。
樣本
對url欄位值進行解碼。
欄位範例
url:http%3A%2F%2Fwww.aliyun.com%3A80%2Fproduct%2Fsls
查詢和分析語句
* | SELECT url_decode(url) AS decode
查詢和分析結果
url_extract_fragment函數
url_extract_fragment函數用於從URL中提取Fragment資訊。
文法
url_extract_fragment(x)
參數說明
參數 | 說明 |
x | 參數值為具體的URL地址。 |
傳回值類型
varchar類型。
樣本
從url欄位值中提取Fragment資訊。
欄位範例
url:https://sls.console.aliyun.com/#/project/dashboard-demo/categoryList
查詢和分析語句
* | SELECT url_extract_fragment(url)
查詢和分析結果
url_extract_host函數
url_extract_host函數用於從URL中提取Host資訊。
文法
url_extract_host(x)
參數說明
參數 | 說明 |
x | 參數值為具體的URL地址。 |
傳回值類型
varchar類型。
樣本
從url欄位值中提取Host資訊。
欄位範例
url:https://homenew.console.aliyun.com/home/dashboard/ProductAndService
查詢和分析語句
* | SELECT url_extract_host(url) AS host
查詢和分析結果
url_extract_parameter函數
url_extract_parameter函數用於從URL的查詢部分中提取指定參數的值。
文法
url_extract_parameter(x, parameter name)
參數說明
參數 | 說明 |
x | 參數值為具體的URL地址。 |
parameter name | URL查詢部分中的參數名稱。 |
傳回值類型
varchar類型。
樣本
從url欄位值中提取accounttraceid參數的值。
欄位範例
url:https://sls.console.aliyun.com/lognext/project/dashboard-all/logsearch/nginx-demo?accounttraceid=d6241a173f88471c91d3405cda010ff5ghdw
查詢和分析語句
* | SELECT url_extract_parameter(url,'accounttraceid') AS accounttraceid
查詢和分析結果
url_extract_path函數
url_extract_path用於從URL中提取訪問路徑資訊。
文法
url_extract_path(x)
參數說明
參數 | 說明 |
x | 參數值為具體的URL地址。 |
傳回值類型
varchar類型。
樣本
從url欄位值中提取訪問路徑資訊。
欄位範例
url:https://sls.console.aliyun.com/lognext/project/dashboard-all/logsearch/nginx-demo?accounttraceid=d6241a173f88471c91d3405cda010ff5ghdw
查詢和分析語句
* | SELECT url_extract_path(url) AS path
查詢和分析結果
url_extract_port函數
url_extract_port函數用於從URL中提取連接埠資訊。
文法
url_extract_port(x)
參數說明
參數 | 說明 |
x | 參數值為具體的URL地址。 |
傳回值類型
varchar類型。
樣本
從url欄位值中提取連接埠資訊。
欄位範例
url:http://localhost:8080/lognext/profile
查詢和分析語句
* | SELECT url_extract_port(url) AS port
查詢和分析結果
url_extract_protocol函數
url_extract_protocol用於從URL中提取協議資訊。
文法
url_extract_protocol(x)
參數說明
參數 | 說明 |
x | 參數值為具體的URL地址。 |
傳回值類型
varchar類型。
樣本
從url欄位值中提取協議資訊。
欄位範例
url:https://homenew.console.aliyun.com/home/dashboard/ProductAndService
查詢和分析語句
* | SELECT url_extract_protocol(url) AS protocol
查詢和分析結果
url_extract_query函數
url_extract_query函數用於從URL中提取查詢部分的資訊。
文法
url_extract_query(x)
參數說明
參數 | 說明 |
x | 參數值為具體的URL地址。 |
傳回值類型
varchar類型。
樣本
從url欄位值中提取查詢部分的資訊。
欄位範例
url:https://sls.console.aliyun.com/lognext/project/dashboard-all/logsearch/nginx-demo?accounttraceid=d6241a173f88471c91d3405cda010ff5ghdw
查詢和分析語句
* | SELECT url_extract_query(url)
查詢和分析結果