依托阿里云函数计算服务,日志服务提供流式数据加工服务。您可以通过配置一个日志服务ETL Job,定时获取更新的数据并触发函数的执行,进而增量消费日志服务Logstore的数据,并完成自定义加工任务。

使用场景

日志服务触发器可以实现函数计算与日志服务的集成,集成的使用场景如下:

  • 数据清洗、加工场景。

    通过日志服务,快速完成日志采集、加工、查询、分析。

    Scenarios_Data scrubbing
  • 数据投递场景。

    为数据的目的端落地提供支撑,构建云上大数据产品间的数据管道。

    Scenarios_shipping data

ETL函数

  • 函数类型
  • 函数计算触发机制
    日志服务ETL Job对应于函数计算的一个触发器,当创建日志服务ETL Job后,日志服务会根据该ETL Job的配置启动定时器,定时器轮询Logstore中的Shard信息,当发现有新的数据写入时,即生成<shard_id,begin_cursor,end_cursor >三元组信息作为函数Event,并触发函数执行。
    说明 当存储系统升级时,即使没有新数据写入,也可能发生Cursor变化,在这种情况下,每个Shard会额外空触发一次。针对这种情况,您可以在函数内通过Cursor尝试获取Shard的数据,如果获取不到数据说明是一次空触发,可以在函数内做忽略处理。更多信息,请参见自定义函数开发指南
    日志服务的ETL任务触发机制是时间触发。例如:您设置的ETL Job触发间隔为60秒,Logstore的Shard0一直有数据写入,那么Shard每60秒就会触发一次函数执行(如果Shard没有新的数据写入则不会触发函数执行),函数执行的输入为最近60秒的cursor区间。在函数内,可以根据cursor读取Shard0数据进行下一步处理。