从OSS获取IPIP库进行IP地址数据富化

更新时间:
复制 MD 格式

日志服务数据加工功能支持从OSS获取IPIP库数据,对日志中的IP地址进行富化,补充IP地址所属的国家、省、市等信息。

前提条件

  • 已创建只读权限的访问密钥(AccessKey),用于从OSS Bucket获取文件。具体操作,请参见创建AccessKey。授权策略详情请参见RAM Policy概述

  • 已创建只写权限的访问密钥(AccessKey),用于向OSS Bucket上传IP地址文件。

  • 已从IP2Location官网下载IP地址文件,并上传到OSS Bucket。更多信息,请参见上传文件

背景信息

IPIP.NET提供全球IP地址数据库,可以帮助您精确查找、确定全球范围内的IP地理位置。您可以从IPIP.NET官网下载IP地址文件,上传至OSS。在数据加工过程中,如果您希望根据日志中的IP地址获取国家、省、市等信息,您可以通过res_oss_file函数从OSS上获取IPIP库数据,然后使用geo_parse函数解析IP地址,最后使用e_set函数将解析结果中的新字段添加到日志中,实现数据富化。

实践案例

  • 原始日志

    ip: 192.0.2.1
  • 加工规则

    e_set(
        "geo",
        geo_parse(
            v("ip"),
            ip_db=res_oss_file(
                endpoint="http://oss-cn-hangzhou.aliyuncs.com",
                ak_id=res_local("AK_ID"),
                ak_key=res_local("AK_KEY"),
                bucket="your bucket",
                file="ipipfree.ipdb",
                format="binary",
                change_detect_interval=200,
            ),
        ),
    )

    res_oss_file函数重要字段说明如下表所示。

    字段

    说明

    endpoint

    OSS访问域名。更多信息,请参见地域和Endpoint

    ak_id

    具备读OSS权限的AccessKey ID。

    出于安全考虑,建议配置为res_local("AK_ID"),表示从高级参数配置中获取。高级参数配置操作步骤请参见创建数据加工任务。在高级选项中,添加两组键值对参数:键名分别为 AK_IDAK_KEY,对应值分别填写具备读 OSS 权限的 AccessKey ID 和 AccessKey Secret。

    ak_key

    具备读OSS权限的AccessKey Secret。

    出于安全考虑,建议配置为res_local("AK_KEY")表示从高级参数配置中获取。

    bucket

    用于存储IP地址文件的OSS Bucket。

    file

    您已上传的IP地址文件的名称。

    format

    使用res_oss_file函数从OSS获取IPIP库数据时,文件输出格式需设置为format='binary'

  • 加工结果

    ip: 192.0.2.1
    city: 杭州市
    province: 浙江省
    country: 中国