检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
处理结果 若日志包含“WRN”、“WARN”、“ERR”或“ERROR”关键字的告警日志,则过滤出来并转储到准备好的日志流中。以下图1和图2是过滤前和过滤后的实时日志对比。 图1 过滤前日志 图2 过滤后日志 您可以通过函数指标查看函数的调用情况,如下 3 张图所示。 图3 函数指标1
处理结果 若日志包含“WRN”、“WARN”、“ERR”或“ERROR”关键字的告警日志,可收到SMN发送的通知消息邮件,如图1所示。同时可以查看OBS桶中的log.txt文件,可查看到具体的告警日志内容,如图2所示。 图1 告警消息邮件通知 图2 告警日志详情 可以通过函数指标查看函数的调用情况,如图3所示。
函数调用 调用函数首先需要获取函数的urn,如图1所示。 图1 获取函数URN 同步调用 执行同步调用示例命令,参数说明请参见表1。 hcloud FunctionGraph InvokeFunction --cli-region="ap-southeast-1" --X-Cff-Log-Type="tail"
测试函数 测试托管方式改造函数,调用方法如图1所示。 图1 测试函数调用的方法 调用时,遵循原来的请求方法。 请求url为添加事件源创建的APIG触发器地址。 需要在headers里配置requestPath,值为图1中的@Path(可能会包含一些服务前缀,对应微服务改造之前的请求Path即可),如图2所示。
Java函数开发指南(使用IDEA工具maven项目) 开发Java函数,以下给出Demo示例步骤: 创建函数工程 配置idea,创建maven工程,如图1所示。 图1 创建工程 添加工程依赖。 根据Java SDK下载提供的SDK地址,下载JavaRuntime SDK到本地开发环境解压,如图2所示。
FunctionGraph自定义策略 如果系统预置的FunctionGraph权限,不满足您的授权要求,可以创建自定义策略。 目前华为云支持以下两种方式创建自定义策略: 可视化视图创建自定义策略:无需了解策略语法,按可视化视图导航栏选择云服务、操作、资源、条件等策略内容,可自动生成策略。
添加事件源 添加APIG触发器(每个函数分别创建触发器),通过HTTP请求调用函数。 填写API名称,选择分组、发布环境、认证、请求协议、超时时间等配置,单击”确定”完成触发器创建,如图1所示。 图1 创建触发器 创建后可以获得一个调用URL,通过这个URL进行函数的调用,如图2所示。
Java函数开发指南(使用IDEA工具普通Java项目) 开发Java函数,以下给出Demo示例步骤: 创建函数工程 配置idea,创建java工程JavaTest,如图创建工程所示 图1 创建工程 添加工程依赖 根据Java SDK下载提供的SDK地址,下载JavaRuntime
续费 如需续费,请在管理控制台“续费管理”页面进行续费操作,如图1所示。详细操作请参考续费管理。 图1 续费管理
如何开启结构化日志查询 使用场景 客户如果异步执行函数,需要查询请求状态,可以在异步配置->异步调用记录中查询异步调用记录:如图1。 图1 异步调用记录 前提条件 需要开启异步状态持久化。 具体步骤 联系函数客服配置白名单。 开通云日志服务,在异步配置页面,单击“点击开通”,如图2。
处理结果 若用户触发账号的登录/登出操作,订阅服务类型日志被触发,日志会直接调用用户函数,通过函数代码对当前登录/出的账号进行IP过滤,若不在白名单内,可收到SMN发送的通知消息邮件,如图1所示。 图1 告警消息邮件通知 邮件信息中包含非法请求ip地址和用户执行的动作(login/logout)。
添加事件源 选择准备中开通的CTS云审计服务,创建CTS触发器,CTS触发器配置如图1所示。 图1 创建CTS触发器 CTS云审计服务监听IAM服务中user资源类型,监听login、logout操作。 父主题: 函数+CTS:登录/登出安全分析实战
处理结果 在Nextjs-app函数详情页面,选择“设置 > 触发器”,复制APIG触发器的调用URL。 图1 复制APIG触发器URL 在浏览器中打开URL,即可看到如图2页面。 图2 返回结果 父主题: 通过FunctionGraph部署Next.js项目
如何读取函数的请求头? 函数入口中的第一个参数里面包含请求头,您可以打印函数执行结果,从而获取想要的字段。 如下图,event为函数入口的第一个参数,headers为请求头。 父主题: 函数执行
添加事件源 选择准备中创建的日志组和日志流,创建LTS触发器,LTS触发器配置如图1所示。 图1 创建LTS触发器 云日志服务LTS的消费端在日志累积大小或日志累积时间满足条件时消费LTS日志数据,并根据订阅该组LTS日志数据的函数URN触发函数执行。 父主题: 函数+LTS:日志实时过滤
添加事件源 选择准备中创建的日志组和日志主题,创建LTS触发器,LTS触发器配置如图1所示。 图1 创建LTS触发器 LTS日志服务的消费端在日志累积大小或日志累积时间满足条件时消费LTS日志数据,并根据订阅该组LTS日志数据的函数URN触发函数执行。 父主题: 函数+LTS:日志实时分析实战
示例4:函数互调 场景描述 本章节以python语言举例,指导您在一个函数里面调用另外一个函数。 API的调用方法请参见如何调用API。 前提条件 已创建委托,包含“FunctionGraph Administrator”或“Tenant Administrator”权限的委托。
构建程序 本例提供了为文件加/解密的程序包,使用空白模板创建函数,用户可以使用示例代码学习使用。 创建程序包 本例使用Java8语言实现加/解密的功能,有关函数开发的过程请参考Java函数开发。本例不再介绍业务功能实现的代码,样例代码目录如图1所示。 图1 样例代码目录 其中Fi
准备 开通CTS云审计服务 在云审计服务中开通配置追踪器,如图1所示。开通案例参考追踪器配置。 图1 配置追踪器 创建委托 登录统一身份认证服务控制台,在左侧导航栏单击“委托”,进入“委托”界面。 单击“创建委托”,进入“创建委托”界面。 填写委托信息。 委托名称:输入您自定义的
监控信息说明 FunctionGraph函数实现了与云监控服务的对接,用户无需任何配置,即可查询函数监控信息。 查看函数监控信息 FunctionGraph会统计函数的运行时指标,显示的指标是函数运行时活动的聚合视图。要查看不同函数版本的指标,可在查看指标前切换函数版本,查询不同版本对应的监控信息。