You need to enable JavaScript to run this app.
导航
URL 函数
最近更新时间:2024.01.30 10:05:13首次发布时间:2023.02.16 18:06:17

本文介绍日志服务支持的 URL 函数语法及常见场景的 URL 函数示例。

注意

日志服务产品架构升级,支持更丰富的检索分析功能。

  • 如果控制台提示新一代架构正式发布信息,表示您使用的是 2.0 架构,可参考检索分析(2.0 架构)中的检索概述等文档使用相关功能。
  • 如果控制台未提示新一代架构正式发布信息,表示您使用的是 1.0 架构,可参考本文档使用相关功能。

关于 1.0 架构与 2.0 架构的具体说明,请参考日志服务架构升级通知

语法说明

日志服务查询分析功能通过 URL 函数支持 HTTP URL 路径中的字段提取、编码解码等分析操作。

说明

URL 的标准格式如下:

[protocol:][//host[:port]][path][?query][#fragment]

日志服务支持的 URL 函数如下:

函数名

函数语法

含义

url_encode

url_encode(KEY)

对指定 URL 进行转义编码,例如空格会被转义为加号(+)。

url_decode

url_decode(KEY)

对指定 URL 进行解码。

url_extract_parameter

url_extract_parameter(KEY, parameter)

从指定 URL 的 Query 部分中提取指定参数的值。返回值类型为 VARCHAR 类型。

url_extract_query

url_extract_query(KEY)

从 URL 中提取完整的 Query 部分。返回值类型为 VARCHAR 类型。

url_extract_path

url_extract_path(KEY)

从 URL 中提取访问路径(path)部分。返回值为 VARCHAR 类型。

其中:

  • KEY 表示具体的 HTTP URL 地址。
  • parameter 表示 URL 中 Query 部分的参数名称;不区分大小写,统一使用小写参数名称

说明

通过 URL 函数提取字段时,提取出的字段中不包含 URL 分割符 :?

示例

函数

说明

示例

url_encode

对 url 字段的值进行编码。

  • 查询分析语句:
    * | select url_encode(url)
  • 字段样例:
    url:https://www.baidu.com/s?wd=go+error+wrap
    %E4%BD%BF%E7%94%A8&tn=84053098_3_dg&ie=utf-8
  • 查询和分析结果:
    https%3A%2F%2Fwww.baidu.com%2Fs%3Fwd%3Dgo%2Berror%2Bwrap%25
    E4%25BD%25BF%25E7%2594%25A8%26tn%3D84053098_3_dg%26ie%3Dutf-8

url_decode

对编码的 URL 字段进行解码。

  • 查询分析语句:
    * | select url_decode(url)
  • 字段样例:
    url:https%3A%2F%2Fwww.baidu.com%2Fs%3Fwd%3Dgo%2Berror%2Bwrap%25
    E4%25BD%25BF%25E7%2594%25A8%26tn%3D84053098_3_dg%26ie%3Dutf-8
  • 查询和分析结果:
    https://www.baidu.com/s?wd=go+error+wrap
    %E4%BD%BF%E7%94%A8&tn=84053098_3_dg&ie=utf-8

url_extract_parameter

从 URL 的查询部分中提取指定参数的值。

  • 查询分析语句:
    * | select url_extract_parameter(url, 'wd')
  • 字段样例:
    url:https://www.baidu.com/s?wd=go+error+wrap
    %E4%BD%BF%E7%94%A8&tn=84053098_3_dg&ie=utf-8
  • 查询和分析结果:
    go+error+wrap%E4%BD%BF%E7%94%A8

url_extract_query

从 URL 中提取查询部分的信息。

  • 查询分析语句:
    * | select url_extract_query(url)
  • 字段样例:
    url:https://www.baidu.com/s?wd=go+error+
    wrap%E4%BD%BF%E7%94%A8&tn=84053098_3_dg&ie=utf-8
  • 查询和分析结果:
    wd=go+error+wrap%E4%BD%BF%E7%94%A8&tn=84053098_3_dg&ie=utf-8

url_extract_path

从 URL 中提取访问路径信息。

  • 查询分析语句:
    * | select url_extract_path(url)
  • 字段样例:
    url:https://www.baidu.com/s?wd=go+error+
    wrap%E4%BD%BF%E7%94%A8&tn=84053098_3_dg&ie=utf-8
  • 查询和分析结果:
    /s