检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
务时,冷启动和Web服务初始化时间一共超过了5秒钟,那么无疑将会使您网站的用户体验大打折扣,因此设法减少冷启动时间,提高终端用户的使用体验,是您在构建无服务器架构时亟待解决的问题。 Serverless实例的生命周期可以分为三个阶段: 初始化:在此阶段,FunctionGraph
视化编排,创建函数流任务,完成复杂场景的编排。 单实例多并发 单实例多并发是指单个实例可以同时处理的请求数量。 自定义镜像函数 用户直接打包上传容器镜像,由平台加载并启动运行。 自定义运行 自定义函数执行的脚本和文件。 函数日志 函数调用过程中产生的日志信息。 函数监控 函数执行过程中的监控信息。
配置函数的依赖包 函数依赖包概述 制作函数的私有依赖包 为函数配置依赖包 父主题: 配置函数
请参考创建OBS桶。 图1 OBS桶 创建的OBS桶名为“logstore”,OBS对象为“log.txt”用于存储日志数据。 创建委托 登录统一身份认证服务控制台。 在统一身份认证服务的左侧导航窗格中,选择“委托”页签,单击右上方的“+创建委托”。 图2 创建委托 开始配置委托。
函数和Kafka必须在同一个子网内,才可以配置Kafka触发器吗? 是必须的。在创建函数的时候会判断子网是否相同,不允许一个VPC的不同子网进行连接。 父主题: 配置触发器
配置函数的触发器 FunctionGraph支持的触发事件 使用TIMER定时触发器 使用APIG专享版触发器 使用APIG共享版触发器 使用APIC触发器 使用CTS触发器 使用DDS触发器 使用DIS触发器 使用Kafka触发器 使用开源Kafka触发器 使用RabbitMQ触发器
TraceId 当前事件的唯一标识 TraceStatus 事件状态 表17 User字段说明 字段名 字段描述 Name 用户名(同一账号可以创建多个子用户) Id 用户ID Domain 账号信息(表18) 表18 Domain字段说明 字段名 字段描述 Name 账号名称 Id 账号ID
费。 执行时间费用(预留实例) 执行时间费用包含两个变量:函数分配的内存大小和执行时长。以下介绍计算资源消耗的方式: 函数计算资源消耗是函数所选内存和函数执行时长的乘积,执行时长是从预留实例创建成功后开始算起到用户调用API释放预留实例为止。如果预留实例存活时长不足1分钟,将按照
函数流组件配置说明 配置函数流的EG服务组件 配置函数流的函数服务组件 配置函数流的子流程控制器组件 配置函数流的并行分支控制器组件 配置函数流的开始控制器组件 配置函数流的异常处理控制器组件 配置函数流的循环控制器组件 配置函数流的时间等待控制器组件 配置函数流的服务控制器组件
作用域:提供给FunctionGraph调用的用户函数必须定义为public。 返回参数:用户定义,FunctionGraph负责转换为字符串,作为HTTP Response返回。 函数名:用户自定义函数名称,需要和函数执行入口处用户自定义的入口函数名称一致。 执行事件体:函数执行界面由用户输入的执行事件参数。
FunctionGraph支持的编程语言说明 FunctionGraph支持多种运行时语言,包括Python 、Node.js、Java、Go、C#、PHP、Cangjie及自定义运行时等,不同语言所支持的版本有所差异。 表1 运行时语言 支持版本 开发指导 Node.js 6.10(6
通过事件触发处理函数进行处理。 灵活扩展,业务爆发时可以自动调度资源运行更多函数实例以满足处理需求。 按需收费,只有对函数处理文件数据的时间进行计费,无需购买冗余的资源用于非峰值处理。 如使用数据接入服务采集IOT实时数据流,通过构建函数,将采集到的数据进行处理(比如格式转换),
} } } } 创建函数 创建函数的时候,必须选择委托包含OBS和DEW访问权限的委托,否则不能使用OBS和DEW服务。 登录函数工作流控制台,在左侧导航栏选择“函数 > 函数列表”,进入函数列表界面。 单击“创建函数”,进入创建函数流程。
请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Content-Type 是 String 消息体的类型(格式)
CTS支持的FunctionGraph操作列表 云审计支持的FunctionGraph操作列表如表1所示。 表1 云审计服务支持的FunctionGraph操作列表 操作名称 资源类型 事件名称 创建函数 Functions createFunction 删除函数 Functions
rless化改造,如图1所示,将低频使用但资源占用大的微服务逻辑,拆分成独立函数,常驻实例缩容到0;剩余微服务逻辑以Spring兼容方式进行函数化,实现函数化后的微服务快速冷启动和弹性,常驻实例减半。 图1 MFA Serverless改造前后架构 案例价值点 改造前单个代码仓集
sha256)。 打开JetBrains PyCharm,单击“File”菜单,选择“Settings ”,在弹出界面的菜单中选择“Plugins”页面,单击右上角设置按钮中的“Install plugin from disk... ”,如图1所示。 图1 安装Plugins 在弹出的界面
A 以及设备上进行设备管理和数据上报,需要用户进一步参考IoTDA的文档。在该案例中,提供了使用IoTDA + FunctionGraph做坐标转换的示例(WGS84 坐标转 GCJ02坐标)。 实现流程 在IoTDA创建IoTDA实例(测试时可以创建标准版免费体验)。 在FunctionGraph创建函数。
\ f' --func_name="{function_name}"' # 用户环境变量配置 # 更新用户环境变量为直接覆盖,如果有手动在函数界面配置环境变量没有更新到cam.yaml文件内 # 则手动添加环境变量配置则丢失
函数代码链接。 表7 StrategyConfig 参数 参数类型 描述 concurrency Integer 单函数最大实例数,v1取值0和-1,v2取值-1到1000 -1代表该函数实例数无限制 0代表该函数被禁用 concurrent_num Integer 单实例并发数,v2版本才支持,取值1到1000