
# 构建程序
#### 前提条件
（1）函数中的IP地址为LTS的接入点，获取接入点IP方法如下：
1. 登录云日志服务 LTS控制台，在左侧导航栏选择"主机管理 \> 主机"；
2. 在页面右上方，单击"安装ICAgent"；
3. 在弹出的"安装ICAgent"窗口中获取接入点IP。
   图1接入点IP   
   ![](https://support.huaweicloud.com/bestpractice-functiongraph/zh-cn_image_0000002165305497.png "点击放大") 
 
（2）函数中的log_group_id和log_stream_id变量值的获取，请参考[获取账号ID、项目ID、日志组ID、日志流ID](https://support.huaweicloud.com/api-lts/lts_api_0006.html)。
（3）制作函数B需要的 lts 依赖包，具体添加依赖方法请参考[如何在函数平台创建依赖包](https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_2119.html)。制作依赖包时可以参考命令"pip install huaweicloudsdklts"。同时，[示例代码](https://functionstage-community.obs.cn-north-1.myhuaweicloud.com/examples/lts_cleanse.zip)中包含了已适用于python3.9的huaweicloudsdklts依赖。
#### 创建功能函数
创建实现日志提取功能的函数，将示例代码包上传。创建过程请参考[创建事件函数](https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_1441.html)，运行时语言选择"Python3.9"，委托名称选择[创建委托](https://support.huaweicloud.com/bestpractice-functiongraph/functiongraph_05_1120.html#functiongraph_05_1120__section156013918129)中的"LtsOperation"。
创建函数A，代码样例请参考write_log.py。函数A代码中host、log_group_id和log_stream_id使用对应接入点和创建好的日志组test-1206、日志流test-206的ID，如[图2]所示。
图2write_log.py   
![](https://support.huaweicloud.com/bestpractice-functiongraph/zh-cn_image_0000002129785998.png "点击放大")
创建函数B，代码样例请参考lts_cleanse.py。函数B代码中host、log_group_id和log_stream_id使用对应接入点和创建好的日志组test-1121、日志流test-1121的ID，并为函数B添加依赖huaweicloudsdklts，如[图3]和[图4]所示。
图3lts_cleanse.py   
![](https://support.huaweicloud.com/bestpractice-functiongraph/zh-cn_image_0000002165183933.png "点击放大")
图4为函数B添加依赖包   
![](https://support.huaweicloud.com/bestpractice-functiongraph/zh-cn_image_0000002165183937.png "点击放大")
函数实现的功能是：将收到的日志事件数据进行base64解码，然后提取出包含"WRN"、"WARN"、"ERR"或"ERROR"关键字的告警日志，将此级别的日志投递至创建好的LTS日志流中集中存储。可根据您的业务日志的具体内容配置相应的日志提取条件。
