检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Next.js项目,本案例采用本地运行Docker node:18.15.0镜像的方式,同样适用于其他Linux系统。关于Docker镜像和Linux操作系统的使用并非本案例主要内容,不做过多赘述。 启动Docker容器并进入code目录(原生Linux系统忽略)。 docker
函数工作流FunctionGraph是一项基于事件驱动的函数托管计算服务。使用FunctionGraph函数,只需编写业务函数代码并设置运行的条件,无需配置和管理服务器等基础设施,函数以弹性、免运维、高可靠的方式运行。此外,按函数实际执行资源计费,不执行不产生费用。 使用FunctionGraph快速创建函数的流程如下:
在函数中引入动态链接库 函数运行环境中已经默认将代码根目录和根目录下的lib目录加入到LD_LIBRARY_PATH中,只需要将动态链接库放到此处即可。 在代码中直接修改LD_LIBRARY_PATH环境变量。 如果依赖的.so文件放在其他目录,可以在配置页面设置LD_LIBRA
目前,每个函数只支持一个事件定义。 类型 Serverless Framework支持华为云函数工作流的obs和APIG事件,详细信息请参见事件列表。 部署 要部署或更新函数和事件,请运行: serverless deploy 父主题: 使用指南
OBS桶创建以后,需要创建“委托”,给FunctionGraph函数赋权,确保FunctionGraph函数能够访问到OBS资源。 创建OBS桶 上传图片的源桶和函数必须处于同一个区域下。 操作步骤 在服务控制台左侧导航栏,选择“存储 > 对象存储服务”进入对象存储服务控制台,单击“创建桶”,进入“创建桶”界面。
OBS方式上传函数代码 本章节指导您使用FunctionGraph控制台上传存储在OBS中的代码文件,当前支持上传zip和jar格式文件。帮助您在FunctionGraph控制台高效部署函数业务代码。 操作场景 当函数的代码包大小不超过300MB时,可以使用从OBS上传的方式部署
CLOUD_SDK_SK in the local environment String ak = System.getenv("CLOUD_SDK_AK"); String sk = System.getenv("CLOUD_SDK_SK");
事件函数 v2版本在创建函数时,页面会出现参数“函数类型”,区分事件函数和HTTP函数。 概述 FunctionGraph支持事件类型函数。事件是指用于触发函数,通常为JSON格式的请求。用户作为事件源(事件的生产者),可以通过云服务平台或CodeArts IDE Online触
数实例将被终止。 约束条件 当前心跳函数只支持Java语言。 心跳函数入口需要与函数执行入口在同一文件下。 Java心跳函数格式为: public boolean heartbeat() { // 自定义检测逻辑 return true 心跳函数目前无输入参数,返回值为bool类型。
短信或邮件的方式通知用户。客户收到告警后,可以配置和查看函数的调用日志来分析故障原因,解决故障。 FunctionGraph函数监控信息,提供了调用次数、运行时间、错误次数、拒绝次数和资源统计监控指标。建议对监控指标中的错误次数和运行时间-最大运行时间创建告警配置,这样就能及时感知到如下情况:
申请扩大FunctionGraph配额 概述 为防止资源滥用,平台限定了各服务资源的配额,对用户的资源数量和容量做了限制。如您最多可以创建多少台弹性云服务器、多少块云硬盘。 如果当前资源配额限制无法满足使用需要,您可以申请扩大配额。 查看配额 登录管理控制台。 在页面右上角,选择“资源
规则模式:有“满足下列所有规则”和“满足下列任意规则”两种,设置后可以根据“Header”进行灰度。 规则列表:设置“Header”规则条件,详情请参见表2。 表2 规则列表介绍 参数类型 参数 条件 值 Header,默认唯一值。 Header名称,不区分大小写。 有“=”和“in”两种条件类型。
end(body); bodyStream.pipe(busboy); } 配置函数依赖 制作依赖包。代码中选择busboy库解析上传的文件,需要生成Node.js14.18版本对应的依赖包busboy.zip。如果您使用Node.js语言其他版本,请制作对应版本的依赖包,具体请参考制作依赖包。
FunctionGraph API同时支持使用AK/SK认证,AK/SK认证是使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。 AK/SK认证的详细说明请参见AK/SK认证。 X-Project-I
以使用函数做视频转码为例:视频文件大小从MB到GB,不同编码格式和分辨率对转码需要的计算资源要求差别很大。为了保证转码性能,通常需要配置一个很大的资源规格,但是在处理低分辨率(例如短视频)视频时,会造成资源浪费。您可以把转码业务实现为元数据获取和转码两个函数,根据元数据信息指定转码函数的资源规格,最小化资源占用,达到更低的成本开销。
但资源占用大的微服务逻辑,拆分成独立函数,常驻实例缩容到0;剩余微服务逻辑以Spring兼容方式进行函数化,实现函数化后的微服务快速冷启动和弹性,常驻实例减半。 图1 MFA Serverless改造前后架构 案例价值点 改造前单个代码仓集成多个功能,代码量巨大,维护困难;改造后
返回结果 状态码 请求发送以后,您会收到响应,包含状态码、响应消息头和消息体。 状态码是一组从1xx到5xx的数字代码,状态码表示了请求响应的状态,完整的状态码列表请参见状态码。 对于获取用户Token接口,如果调用后返回状态码为“201”,则表示请求成功。 响应消息头 对应请求
户/用户组ID用于对访问远端文件系统的目录权限进行控制。 文件系统/云服务器名称:选择创建的文件系统或者云服务器资源,注意函数配置的VPC和委托要有访问权限。 共享目录路径:如果选择ECS挂载需要配置远端共享目录,请参见ECS创建nfs共享目录。 函数访问路径:为本地文件系统挂载
EG服务组件当前仅支持华北-北京四。 如果通过DWR侧创建的函数流,在console页面是没有编辑和删除权限,如需相关操作请在DWR侧执行。 当前允许流程中配置0-10个EG节点。 当EG节点连接异常处理节点时,最多可以再连接一个非开始节点和非异常处理节点。 当EG节点不连接异常处理节点时,只能连接一个非开始节点。
可包含字母、数字、下划线和中划线,长度不超过60个字符。 以大/小写字母开头,以字母或数字结尾。 企业项目 默认“default”,支持用户选择已创建的企业项目。企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。 如果您没有开通企业管理服务,