检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
什么是FunctionGraph FunctionGraph是一项基于事件驱动的函数托管计算服务。使用FunctionGraph函数,只需编写业务函数代码并设置运行的条件,无需配置和管理服务器等基础设施,函数以弹性、免运维、高可靠的方式运行。此外,按函数实际执行资源计费,不执行不产生费用。
如何开启结构化日志查询 使用场景 客户如果异步执行函数,需要查询请求状态,可以在异步配置->异步调用记录中查询异步调用记录:如图1。 图1 异步调用记录 前提条件 需要开启异步状态持久化。 具体步骤 联系函数客服配置白名单。 开通云日志服务,在异步配置页面,单击“点击开通”,如图2。
构建程序 本例提供了为图片打水印功能的程序包,使用空白模板创建函数,用户可以下载(watermark.zip)学习使用。 创建程序包 本例使用Python语言实现为图片打水印的功能,有关函数开发的过程请参考Python函数开发。本例不再介绍业务功能实现的代码,样例代码目录如图1所示。
构建程序 本例提供一个图片旋转的样例代码供学习使用。 创建程序包 本例使用Golang语言实现图片旋转的功能,有关函数开发的过程请参考Golang函数开发。本例不再介绍业务功能实现的代码,样例代码目录如图1所示。 图1 样例代码目录 创建函数 创建函数的时候,必须选择委托包含OB
处理图片 图片上传至your-bucket-input桶,使用工具模拟客户端触发函数流运行,将上传图片旋转180°,并以流数据返回给客户端。 上传图片 登录对象存储服务控制台,进入your-bucket-input桶对象界面,上传image.jpeg图片如图1,上传完成后如图2所示。
构建程序 前提条件 (1)函数中的IP地址为LTS的接入点,获取接入点IP方法如下: 登录云日志服务 LTS控制台,在左侧导航栏选择“主机管理 > 主机”; 在页面右上方,单击“安装ICAgent”; 在弹出的“安装ICAgent”窗口中获取接入点IP。 图1 接入点IP (2)
FunctionGraph函数模型 介绍FunctionGraph函数模型的返回字段。 函数模型 FunctionGraph函数模型如下。 { "functions": [ { "func_urn": "urn:fss:xxxxxx
挂载文件系统时,报“failed to mount exist system path”,应如何处理? 您可以将文件重新挂载在新的路径下。 用户/用户组ID: 可设置为1000之外的其他数字id,如果为-1默认设置为1003。用户/用户组ID用于对访问远端文件系统的目录权限进行控制。
案例概述 场景介绍 通过LTS云日志服务,快速完成ECS等服务器的任务运行日志采集、加工和转换。 通过函数工作流服务中的函数创建LTS触发器获取日志数据,经由自定义函数对日志中的关键信息进行分析和处理,过滤出告警日志。 SMN消息通知服务通过短信和邮件推送告警信息,通知业务人员进行处理。
配置常规信息 概述 在函数创建完成后,“内存”、“函数执行入口”、“执行超时时间”会根据您所选的“运行时语言”默认填写。如果您需要贴合实际业务场景修改配置,请参见本章节进行配置。 前提条件 已创建函数。 操作步骤 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。 选择待配置的函数,单击进入函数详情页。
案例概述 场景介绍 MetaERP业务场景进行微服务Serverless化改造,如图1所示,将低频使用但资源占用大的微服务逻辑,拆分成独立函数,常驻实例缩容到0;剩余微服务逻辑以Spring兼容方式进行函数化,实现函数化后的微服务快速冷启动和弹性,常驻实例减半。 图1 MFA Serverless改造前后架构
约束与限制 支持区域 当前支持的区域列表,请参见表1 表1 支持区域 区域名称 区域ID 非洲-约翰内斯堡 af-south-1 中国-香港 ap-southeast-1 亚太-曼谷 ap-southeast-2 亚太-新加坡 ap-southeast-3 亚太-雅加达 ap-southeast-4
免费额度 每个月您都能免费使用一定额度的函数工作流服务,免费额度是子主账户共同使用。 请求次数:每月100万次的免费请求。 计量时间:每月400,000GB-秒的免费执行时间。如果函数内存规格为1GB时,免费额度为400,000秒,如果函数内存规格为512MB时,免费额度为800
处理结果 若用户触发账号的登录/登出操作,订阅服务类型日志被触发,日志会直接调用用户函数,通过函数代码对当前登录/出的账号进行IP过滤,若不在白名单内,可收到SMN发送的通知消息邮件,如图1所示。 图1 告警消息邮件通知 邮件信息中包含非法请求ip地址和用户执行的动作(login/logout)。
返回结果 状态码 请求发送以后,您会收到响应,包含状态码、响应消息头和消息体。 状态码是一组从1xx到5xx的数字代码,状态码表示了请求响应的状态,完整的状态码列表请参见状态码。 对于获取用户Token接口,如果调用后返回状态码为“201”,则表示请求成功。 响应消息头 对应请求
按需计费 适用场景 函数工作流使用场景广泛,例如实时文件处理、实时数据流处理、Web移动应用后端和人工智能等场景。 适用计费项 函数工作流实际费用是由请求次数费用、执行时间费用、函数流节点执行次数、GPU计量时间、磁盘计量时间、闲置内存计量时间和其他费用构成,各计费项按需计费说明请参见表1。
计费项 计费说明 函数工作流的计费项是由请求次数费用、执行时间费用、节点执行次数(函数流)和其他费用构成,具体内容如表1。 如您需要快速了解函数工作流服务的具体价格,请参见函数工作流价格详情。 表1 函数工作流计费项 计费项 计费项说明 适用的计费模式 计费公式 请求次数费用 在
案例概述 本章节作为最佳实践的整体介绍,包含以下内容: 场景介绍和案例价值点 准备 构建程序 添加事件源 处理结果 应用扩展 场景介绍 通过云日志服务LTS,快速完成ECS等服务器的任务运行日志的采集、加工和转换。 通过函数工作流服务中的函数创建LTS触发器获取日志数据,经由自定
函数定时触发器Cron表达式规则 函数Cron表达式下支持如下几种配置方式。 @every格式 @every NUnit,其中N表示一个正整数,Unit可以为ns, µs, ms, s, m, h,表示每隔N个Unit时间触发一次函数如表1所示。 表1 表达式示例 表达式 含义 @every
案例概述 场景介绍 通过CTS云审计服务,完成对公有云账户对各个云服务资源操作动作和结果的实时记录。 通过在函数工作流服务中创建CTS触发器获取订阅的资源操作信息,经由自定义函数对资源操作的信息进行分析和处理,产生告警日志。 SMN消息通知服务通过短信和邮件推送告警信息,通知业务人员进行处理。处理流程如图1所示。