检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
组件说明 华为云函数工作流(FunctionGraph)组件是一个用于支持华为云函数应用生命周期的工具,基于Serverless Devs进行开发,通过配置资源配置文件s.yaml,您可以简单快速地部署应用到华为云函数工作流平台。 前提条件 本地已安装nodejs。 快速开始 安装Serverless
单独管理,便于多函数共享,同时也能有效缩减函数代码文件在部署与更新过程中的体积。FunctionGraph支持对同一依赖包进行版本迭代,即同一依赖包可拥有多个版本,便于系统化管理。 请参考为函数配置依赖包进行函数依赖包的配置,具体依赖库的引入说明请参考支持引入的依赖库说明。 函数依赖包分为公共依赖包与私有依赖包。
Code工具,在应用商店中搜索“Huawei Cloud FunctionGraph”并进行安装。 图1 搜索并安装 安装成功后,Huawei Cloud FunctionGraph插件展示在已安装列表中。 图2 已安装列表展示 登录函数插件 单击Huawei Cloud FunctionGra
OBS和部署。 获取Eclipse 插件(软件包校验文件:Eclipse插件.sha256)。 将获取的Eclipse插件jar/zip包,放入Eclipse安装目录下的plugins文件夹中,重启Eclipse,即可开始使用Eclipse插件。如图1所示。 图1 安装插件 打开
简单地说,事件主要用于触发函数运行。 如果您选择华为云作为提供商,则服务中的events仅限于华为云API网关(APIG)和OBS,具体详情请参见事件列表。 部署后,Framework将设置您的function应该侦听的相应事件配置。 配置 事件属于每个函数,可以在serverless
成jar包。 图1 生成jar包 配置工程web端口。HTTP函数当前支持8000端口,需配置工程web端口为 8000(此端口请勿修改), 可以使用application.properties文件来配置,也可以在启动时指定端口号。 图2 配置8000端口 在jar包同目录创建bootstrap文件,输入启动参数。
环境配置不同的数据库。 加密配置:函数中访问其他服务的认证信息,例如账号和密码、AK/SK等,可通过配置加密环境变量,在代码中动态获取,保证敏感数据的安全。 动态配置:函数逻辑中需要动态调整的配置,例如查询周期、超时时间,可提取为环境变量避免业务每次变化都需要修改代码。 约束与限制
驻实例减半。 图1 MFA Serverless改造前后架构 案例价值点 改造前单个代码仓集成多个功能,代码量巨大,维护困难;改造后函数、部署包、代码仓一一对应,方便迭代维护。 部分功能使用频次低,但仍然持续占用资源,CPU使用率低;改造后业务按需使用,低频服务缩容到0,明显降低资源成本。
启动函数流 函数流配置完成后,需要启动函数流才能完成业务功能实现。 约束与限制 当函数流的配置有改动后,必须先保存信息,才能启动函数流任务。 启动函数流 在函数流编排页面右上角单击“启动”或在函数流列表页面选择“更多 > 启动”,弹出的启动执行页面。 在弹出的启动执行页面,支持定
函数配置概述 成功创建函数后,需配置函数运行所必须的资源与环境,确保函数满足业务需求。 函数配置流程 图1介绍了函数配置的总体流程。 图1 函数配置流程 详细的步骤操作说明请参考表1。 表1 配置函数操作步骤说明 序号 步骤 说明 1 配置函数代码 在代码编辑器中配置函数代码,支持以下三种部署代码的方式:
FunctionGraph为函数分配的磁盘空间有多少? 对于每个FunctionGraph函数分配了512MB临时存储空间,单个租户下最大允许部署包大小为10G,更多函数的资源限制,请参考使用限制。 父主题: 产品咨询
APIG网关事件 华为云函数工作流可以通过API网关(APIG)创建基于函数的API终端节点。 要创建HTTP终端节点作为华为云函数工作流的事件源,请使用http事件语法。 HTTP终端节点 此设置指定当有人通过GET请求访问函数API终端节点时,应运行first函数。您可以在部署服务后运行serverless
功能。 函数预留实例 获取函数预留实例配置列表、修改函数预留实例数量。 函数导入导出 导入、导出函数。 函数触发器 包括创建、删除、更新触发器等接口。 函数流 查询、删除、创建、停止函数流等接口。 函数异步配置 获取、删除、设置函数异步配置信息等接口。 函数应用中心 包括查询、创建、删除应用程序等接口。
创建方式选择“创建空白函数”,具体创建详情请参见创建空白函数,本例“运行时”参数选择“定制运行时”。 定制运行时函数创建完成后,在函数代码配置页面,选择“设置->常规设置”,单击“启用GPU”,配置GPU参数。 表1 GPU参数说明 参数名称 说明 GPU卡型 当前仅支持NVIDIA-T4。 GPU规格(GB)
创建Next.js项目 本案例以Next.js框架的默认demo为例演示部署过程,需要在Linux环境中创建一个全新的Next.js项目,本案例采用本地运行Docker node:18.15.0镜像的方式,同样适用于其他Linux系统。关于Docker镜像和Linux操作系统的使用并非本案例主要内容,不做过多赘述。
打包 默认情况下,severless package命令将所有基础设施资源打包到.serverless目录中用于部署。 serverless package命令 serverless package 在该示例中,您的服务会被打包。生成的软件包将默认位于服务的.serverless目录。
API方法 注册 http://${EXTENSION_API_ADDR}/extension/register 进程部署的扩展都需要在FunctionGraph注册成功后才能接收事件。您可以通过 EXTENSION_API_ADDR 环境变量得到FunctionGraph平台开
用户通过这些配置文件声明他们想要的基础设施最终状态,而不需要具体指定如何实现这个状态。 Terraform的优势: 提升架构一致性:减少手动配置过程中的错误和配置漂移。 降低运维成本:通过编程方式管理虚拟机,减少手动配置硬件及更新的需求。 提升操作效率:简化系统配置、维护和管理,加速软件开发和部署。
本章节介绍如何结合云审计服务CTS,配置获取云服务资源操作信息并对信息进行分析和处理的函数,再通过消息通知服务SMN推送告警短信和邮件,通知业务人员处理。 使用FunctionGraph函数定时开关华为云ECS 本章节介绍如何配置实现定时开启或关闭华为公有云虚拟机ECS功能的函数。 使用
、网络等服务? 用户使用FunctionGraph时,不需要开通或者预配置计算、存储、网络等服务,由FunctionGraph提供和管理底层计算资源,包括服务器CPU、内存、网络和其他配置/资源维护、代码部署、弹性伸缩、负载均衡、安全升级、资源运行情况监控等,用户只需要按照Fun