本文档介绍如何通过资源函数和映射富化函数从OSS中获取数据对日志数据进行富化。

前提条件

  • 已创建访问密钥(AccessKey),用于访问OSS Bucket,详情请参见为RAM用户创建访问密钥

    推荐创建一个只读权限的AccessKey,用于从OSS获取文件;一个只写权限的AccessKey,用于上传文件到OSS。授权策略详情请参见基于RAM Policy的权限控制

  • 已上传CSV文件到OSS,详情请参见上传文件

    推荐使用只写权限的AccessKey进行上传。

背景信息

OSS是阿里云提供的海量、安全、低成本、高可靠的云存储服务。针对更新不频繁的数据,建议您存储在OSS上,只需要支付少量的存储费用即可。当您分散存储数据,面临日志数据不完善时,您可以从OSS中获取数据。日志服务数据加工支持使用 res_oss_file函数从OSS中获取数据,再使用 tab_parse_csv函数构建表格,最后使用 e_table_map函数进行字段匹配,返回指定字段和字段值,生成新的日志数据。

实践案例

  • 原始日志
    account :  Sf24asc4ladDS
  • OSS CSV文件数据
    id account nickname
    1 Sf24asc4ladDS 多弗朗明哥
    2 Sf24asc4ladSA 凯多
    3 Sf24asc4ladCD 罗杰
  • 加工规则
    通过日志服务Logstore中的 account字段和OSS CSV文件中的 account字段进行匹配,只有 account字段的值完全相同,才能匹配成功。匹配成功后,返回OSS CSV文件中的 nickname字段和字段值,与Logstore中的数据拼接,生成新的数据。
    e_table_map(tab_parse_csv(res_oss_file(endpoint='http://oss-cn-hangzhou.aliyuncs.com',
                                            ak_id=res_local("AK_ID"),
                                            ak_key=res_local("AK_KEY"), 
                                            bucket='test',
                                            file='account.csv',change_detect_interval=30)),
                "account","nickname")
    res_oss_file函数重要字段说明如下表所示。
    字段 说明
    endpoint OSS访问域名,详情请参见访问域名和数据中心
    ak_id 具备读OSS权限的AccessKey ID。
    出于安全考虑,建议配置为 res_local("AK_ID"),表示从 高级参数配置中获取。 高级参数配置操作步骤请参见 创建数据加工任务AccessKey
    ak_key 具备读OSS权限的AccessKey Secret。

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

    bucket 用于存储CSV文件的OSS Bucket。
    file 您已上传的CSV文件的名称。
  • 加工结果
    account :  Sf24asc4ladDS
    nickname: 多弗朗明哥