检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
创建程序包 创建并初始化函数 函数管理 函数创建完成后,支持在线编辑函数,修改函数代码,修改函数配置等功能。 发布区域:所有部署函数工作流服务的区域均可使用。 函数管理 环境变量 支持设置函数的加密配置和环境变量,无需对代码进行任何更改,可以将设置动态参数传递到函数代码和库。
可支持的镜像包最大为10G,当镜像包过大时可以采取一些方式缩容,比如在线题库场景中,可以把原来加载在容器中的题库数据通过外部文件系统挂载盘方式挂载到容器中。
处理结果 若日志包含“WRN”、“WARN”、“ERR”或“ERROR”关键字的告警日志,则过滤出来并转储到准备好的日志流中。以下图1和图2是过滤前和过滤后的实时日志对比。 图1 过滤前日志 图2 过滤后日志 您可以通过函数指标查看函数的调用情况,如下 3 张图所示。 图3 函数指标
处理结果 若日志包含“WRN”、“WARN”、“ERR”或“ERROR”关键字的告警日志,可收到SMN发送的通知消息邮件,如图1所示。同时可以查看OBS桶中的log.txt文件,可查看到具体的告警日志内容,如图2所示。 图1 告警消息邮件通知 图2 告警日志详情 可以通过函数指标查看函数的调用情况
函数调用 调用函数首先需要获取函数的urn,如图1所示。 图1 获取函数URN 同步调用 执行同步调用示例命令,参数说明请参见表1。 hcloud FunctionGraph InvokeFunction --cli-region="ap-southeast-1" --X-Cff-Log-Type
测试函数 测试托管方式改造函数,调用方法如图1所示。 图1 测试函数调用的方法 调用时,遵循原来的请求方法。 请求url为添加事件源创建的APIG触发器地址。 需要在headers里配置requestPath,值为图1中的@Path(可能会包含一些服务前缀,对应微服务改造之前的请求
开发Node.js函数 如下为本地开发后上传实例,也可以直接在页面创建在线编辑。 创建函数工程 创建函数代码(同步形式入口函数) 打开文本编辑器,编写函数,代码如下,文件命名为index.js,保存文件。如下为同步方式入口函数。
FunctionGraph自定义策略 如果系统预置的FunctionGraph权限,不满足您的授权要求,可以创建自定义策略。 目前华为云支持以下两种方式创建自定义策略: 可视化视图创建自定义策略:无需了解策略语法,按可视化视图导航栏选择云服务、操作、资源、条件等策略内容,可自动生成策略
Java函数开发指南(使用IDEA工具普通Java项目) 开发Java函数,以下给出Demo示例步骤: 创建函数工程 配置idea,创建java工程JavaTest,如图创建工程所示 图1 创建工程 添加工程依赖 根据Java SDK下载提供的SDK地址,下载JavaRuntime
添加事件源 添加APIG触发器(每个函数分别创建触发器),通过HTTP请求调用函数。 填写API名称,选择分组、发布环境、认证、请求协议、超时时间等配置,单击”确定”完成触发器创建,如图1所示。 图1 创建触发器 创建后可以获得一个调用URL,通过这个URL进行函数的调用,如图2所示
如何开启结构化日志查询 使用场景 客户如果异步执行函数,需要查询请求状态,可以在异步配置->异步调用记录中查询异步调用记录:如图1。 图1 异步调用记录 前提条件 需要开启异步状态持久化。 具体步骤 联系函数客服配置白名单。 开通云日志服务,在异步配置页面,单击“点击开通”,如图2
续费 如需续费,请在管理控制台“续费管理”页面进行续费操作,如图1所示。详细操作请参考续费管理。 图1 续费管理
处理结果 若用户触发账号的登录/登出操作,订阅服务类型日志被触发,日志会直接调用用户函数,通过函数代码对当前登录/出的账号进行IP过滤,若不在白名单内,可收到SMN发送的通知消息邮件,如图1所示。 图1 告警消息邮件通知 邮件信息中包含非法请求ip地址和用户执行的动作(login/
添加事件源 选择准备中开通的CTS云审计服务,创建CTS触发器,CTS触发器配置如图1所示。 图1 创建CTS触发器 CTS云审计服务监听IAM服务中user资源类型,监听login、logout操作。 父主题: 函数+CTS:登录/登出安全分析实战
code_type 函数代码类型,取值有4种: inline:UI在线编辑代码。 zip:函数代码为zip包。 jar:函数代码为jar包,主要针对Java函数。 obs:函数代码来源于OBS存储。
处理结果 在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:日志实时过滤
示例4:函数互调 场景描述 本章节以python语言举例,指导您在一个函数里面调用另外一个函数。 API的调用方法请参见如何调用API。 前提条件 已创建委托,包含“FunctionGraph Administrator”或“Tenant Administrator”权限的委托。
添加事件源 选择准备中创建的日志组和日志主题,创建LTS触发器,LTS触发器配置如图1所示。 图1 创建LTS触发器 LTS日志服务的消费端在日志累积大小或日志累积时间满足条件时消费LTS日志数据,并根据订阅该组LTS日志数据的函数URN触发函数执行。 父主题: 函数+LTS:日志实时分析实战