云日志服务 LTS-IP解析函数:geo_parse

时间:2024-07-30 15:17:57

geo_parse

根据IP地址解析出所属国家、省份和城市等信息。

  • 函数格式
    geo_parse(ip, keep_fields=None, ip_sep=None)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    ip

    String

    IP地址,表示解析该IP地址所属国家、省分和市信息。如果包含多个IP地址,可通过ip_sep参数指定分割符。

    keep_fields

    Tuple

    返回结果中包含的key信息。支持的key如下列表:

    • city:城市名称。
    • province:省份名称。
    • country:国家名称。
    • isp:所属网络运营商名称。
    • lat:IP地址所在位置的纬度。
    • lon:IP地址所在位置的经度。

    例如keep_fields=("city","country")表示仅输出city和country字段信息。

    此外keep_fields也支持重命名。例如(("city","cty"),("country","state"))表示以cty和state形式输出。

    注意:keep_fields参数为tuple类型,如果只有一个参数,需要添加逗号,例如("city",)或者(("city","cty"),)

    ip_sep

    String

    IP地址分隔符,用于将包含多个IP地址的字符串分割为多个IP地址,解析结果通过JSON格式返回。默认值为None,表示不进行分隔。

  • 返回结果

    返回字典形式数据。

  • 函数示例
    1. 单个IP查询。
      • 测试数据
        {
          "ip": "192.168.0.1"
        }
      • 加工规则
        e_set("geo_parse", geo_parse("192.168.0.1"))
      • 加工结果(私网地址结果为空,使用公网地址可解析出内容)
        ip: 192.168.0.1
        geo_parse: {"city": "", "province": "", "country": "", "isp": "", "lat": "", "lon": ""}
    2. 多个IP查询
      • 测试数据
        {
          "ip": "192.168.0.1"
        }
      • 加工规则
        e_set("geo_parse", geo_parse("192.168.0.1,192.168.0.2", ip_sep=","))
      • 加工结果(私网地址结果为空,使用公网地址可解析出内容)
        geo_parse: {"192.168.0.1": {"province": "", "country": "", "lat": "", "lon": ""}, "192.168.0.2": {"city": "", "province": "", "country": "", "isp": "", "lat": "", "lon": ""}}
        ip: 192.168.0.1
support.huaweicloud.com/usermanual-lts/lts_07_0151.html