检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
FunctionGraph 会预先执行函数对应的初始化代码,获取其初始化执行上下文环境的快照,并进行加密缓存。后续调用该函数并触发冷启动扩容时,会直接从提前初始化后的应用快照来恢复执行环境,而非重新走一遍初始化流程,以此达到极大提升启动性能的效果。 约束与限制 仅支持Java函数。
使用Serverless构建Web服务时,冷启动和Web服务初始化时间一共超过了5秒钟,那么无疑将会使您网站的用户体验大打折扣,因此设法减少冷启动时间,提高终端用户的使用体验,是您在构建无服务器架构时亟待解决的问题。 Serverless实例的生命周期可以分为三个阶段: 初始化:
数据的功能。 场景介绍 使用数据接入服务(DIS)采集IOT实时数据流,需要将采集到的数据进行处理(比如格式转换),然后存储到表格存储服务(CloudTable Service)中,使用FunctionGraph函数可以实现此功能。 实现流程 创建虚拟私有云和集群。 构建实现数据处理功能的程序,将程序打包。
指标类型,默认值为failcount。 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Content-Type 是 String 消息体的类型(格式)
Graph函数的事件源。在预配置事件源映射后,这些事件源检测事件时将自动调用FunctionGraph函数。 消息通知服务SMN 可以编写FunctionGraph函数来处理SMN的通知,在将消息发布到SMN主题时,服务可以通过将消息负载作为参数传递(SMN示例事件)来调用Fun
添加事件源 处理结果 应用扩展 场景介绍 通过云日志服务LTS,快速完成ECS等服务器的任务运行日志的采集、加工和转换。 通过函数工作流服务中的函数创建LTS触发器获取日志数据,经由自定义函数对日志中的关键信息进行分析和处理,把过滤后的日志转存到另外的日志流中,如图1所示。 图1 处理流程
以同步执行函数为例,提供封装后的SDK。为了保证您成功使用以下示例代码,您需要先添加对应语言的SDK依赖。 表1 Go SDK信息说明 SDK信息 说明 安装 go get -u github.com/huaweicloud/huaweicloud-sdk-go-v3 相关链接 SDK依赖包地址 Go SDK使用说明
进入“总览”页面。 在“总览”页面,单击“初始化自定义模型”开始配置。 图1 初始化自定义模型 VPC、子网、文件系统请选择前面创建的资源,函数访问路径默认为“/mnt/auto”,其他参数请根据实际业务情况填写。配置完成后,单击“确定”等待初始化完成。 图2 初始化自定义模型配置
API将函数与监控、可观察性、安全性和监管等工具集成。 当用已编译的语言实现扩展时,在本地编译生成二进制文件;使用非编译的语言实现扩展时,需要把对接第三方平台需要的依赖一起打包上传,且需要函数的运行时兼容。 将skywalking agent直接嵌入到扩展代码中,即可通过扩展完成对函数请求的监控。
使用FunctionGraph快速创建函数的流程如下: 配置权限:确保登录的用户已有“FunctionGraph Administrator”权限。 创建函数:选择使用空白模板创建函数、示例代码创建函数、容器镜像部署函数。 配置函数:配置代码源或修改其他参数配置。 测试函数:创建测试事件来调试函数。
Python SDK使用范例 以同步执行函数为例,提供封装后的SDK。为了保证您成功使用以下示例代码,您需要先添加对应语言的SDK依赖。 表1 Python SDK信息说明 SDK信息 说明 安装 pip install huaweicloudsdkfunctiongraph 相关链接
日志审计服务,提供对各种云资源操作记录的收集、存储和查询功能,可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。 用户开通云审计服务并创建和配置追踪器后,CTS可记录FunctionGraph的管理事件用于审计。 CTS的详细介绍和开通配置方法,请参见CTS快速入门。
FunctionGraph会根据实际的请求情况自动弹性伸缩函数实例,并发变高时,会分配更多的函数实例来处理请求,并发减少时,相应的实例也会变少。 用户函数实例数=用户函数并发数/该函数的单实例并发数。 用户函数并发数:指某一刻该函数同时执行的请求数。 该函数的单实例并发数:指单个实例最多允许的函数并发数,即函数并发配置界面的“单实例并发数”。
Node.js SDK使用范例 以同步执行函数为例,提供封装后的SDK。为了保证您成功使用以下示例代码,您需要先添加对应语言的SDK依赖。 表1 Node.js SDK信息说明 SDK信息 说明 安装 npm i @huaweicloud/huaweicloud-sdk-functiongraph
Java SDK使用范例 以同步执行函数为例,提供封装后的SDK。为了保证您成功使用以下示例代码,您需要先添加对应语言的SDK依赖。 表1 Java SDK信息说明 SDK信息 说明 安装 <dependency> <groupId>com.huaweicloud.sdk</groupId>
OBS事件列表(trigger_type为OBS时配置) 数组长度:1 - 64 prefix 是 String 对象名前缀(trigger_type为OBS时配置) 最小长度:1 最大长度:1024 suffix 是 String 对象名后缀(trigger_type为OBS时配置) 最小长度:1 最大长度:1024
案例概述 场景介绍 通过LTS云日志服务,快速完成ECS等服务器的任务运行日志采集、加工和转换。 通过函数工作流服务中的函数创建LTS触发器获取日志数据,经由自定义函数对日志中的关键信息进行分析和处理,过滤出告警日志。 SMN消息通知服务通过短信和邮件推送告警信息,通知业务人员进行处理。
获取用户ID请参考:管理员查询IAM用户列表。 获取项目ID请参考:查询指定条件下的项目列表。 获取用户组名称和ID 登录IAM控制台,在左侧导航栏选择“用户组”。 单击需要查询的用户组前的“”,即可查询用户组名称、用户组ID。 获取区域ID 登录IAM控制台,在左侧导航栏选择“项目”。
函数类型 权限说明 03 入门 通过图文方式,介绍首次创建FunctionGraph函数和工作流的步骤。 创建函数 FunctionGraph入门简介 使用空白模板创建函数 使用模板创建函数 使用容器镜像部署函数 05 实践 创建业务所需函数,结合不同的触发器,实现不同的功能。 应用
服务场景,用户可以直接发送 HTTP 请求到 URL 触发函数执行,从而使用自己的Web服务。HTTP函数只允许创建APIG/APIC的触发器类型,其他触发器不支持。 HTTP函数支持HTTP/1.1协议。 在函数创建页面,新增一种函数类型“HTTP函数”; HTTP函数执行入口需要设置为bootstra