このトピックでは、URL関数の構文について説明します。 このトピックでは、関数の使用方法の例も示します。
次の表に、Simple Log ServiceでサポートされているURL機能を示します。
URLの形式は
[protocol:][// host[:port]][path][?query][#fragment]
です。分析ステートメントで文字列を使用する場合は、文字列を単一引用符 ('') で囲む必要があります。 囲まれていない文字列または二重引用符 ("") で囲まれている文字列は、フィールド名または列名を示します。 例えば、 'status' はステータスの文字列を示し、status または "status" はステータスログフィールドを示します。
関数 | 構文 | 説明 | SQLでサポート | SPLでサポート |
url_encode( x) | URL をエンコードします。 | √ | √ | |
url_decode( x) | URL をデコードします。 | √ | √ | |
url_extract_fragment( x) | URLからフラグメントを抽出します。 | √ | √ | |
url_extract_host( x) | URLからホストを抽出します。 | √ | √ | |
url_extract_parameter( x、パラメータ名) | 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からフラグメントを抽出します。
構文
url_extract_fragment(x)
パラメーター
パラメーター | 説明 |
x | このパラメーターの値は特定のURLです。 |
戻り値のデータ型
varcharタイプ。
例
urlフィールドの値からフラグメントを抽出します。
サンプルフィールド
url:https://sls.console.aliyun.com/#/project/dashboard-demo/categoryList
クエリ文
* | SELECT url_extract_fragment(url)
クエリと分析結果
url_extract_host関数
url_extract_host関数は、URLからホストを抽出します。
構文
url_extract_host(x)
パラメーター
パラメーター | 説明 |
x | このパラメーターの値は特定のURLです。 |
戻り値のデータ型
varcharタイプ。
例
urlフィールドの値からホストを抽出します。
サンプルフィールド
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です。 |
パラメーター名 | 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)
クエリと分析結果