检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
安装 Serverless是一个Node.js CLI工具,因此您需要先在计算机上安装Node.js。 请访问Node.js官方网站,下载并按照安装说明在本地计算机上安装Node.js。 您可以通过在终端中运行node --version来验证Node.js是否安装成功,即可以看到打印出来的对应
事件列表 APIG网关事件 OBS事件 父主题: Serverless Framework
函数 如果您以华为云函数工作流作为提供商,则服务的所有函数都属于华为云函数工作流中的函数。 配置 您的Serverless服务中有关华为云函数工作流的所有内容都可以在functions属性下的serverless.yml中找到。 # serverless.yml service:
部署 Serverless Framework旨在安全、快速地为您创建华为云函数工作流的函数、事件和资源。 全量部署 如下是使用Serverless Framework执行部署的主要方法: serverless deploy 当您在serverless.yml中更新了函数、事件或资源配置
打包 打包CLI命令 使用Serverless CLI工具,可以将项目打包,而无需将其部署到华为云。这最好与CI/CD工作流一起使用,以确保可部署产物一致。 运行以下命令将在服务的.serverless目录中构建和保存所有部署产物: serverless package 打包配置
变量 Serverless Framework提供了一个强大的变量系统,您可以将动态数据添加到serverless.yml中。使用Serverless变量,您将能够执行以下操作: 引用并加载环境变量中的变量。 引用并加载CLI选项中的变量。 递归引用同一serverless.yml
简介 Serverless Framework帮助您使用华为云函数工作流开发和部署无服务器应用。它是一个CLI,提供开箱即用的结构、自动化功能和最佳实践,您可以专注于构建复杂的、事件驱动的、无服务器架构,由函数和事件组成。 Serverless Framework与其他应用程序框架不同
凭证 Serverless Framework需要访问您的华为云账号的凭证,代表您创建和管理资源。 创建华为云账号 打开华为云官网,选择“注册”,详情请参考注册华为账号并开通华为云。 获取凭证 您需要创建凭证,以便Serverless可以使用它们在项目中创建资源。 进入“访问密钥”
服务 service就像一个项目,您可以在服务中定义华为云函数工作流的函数和触发它们的events,所有这些都在一个名为serverless.yml的文件中。 若您要构建第一个Serverless Framework项目,请先创建一个service。 组织 在最初使用应用时,建议您可以使用单个服务来定义该项目的所有函数和事件
事件 简单地说,事件主要用于触发函数运行。 如果您选择华为云作为提供商,则服务中的events仅限于华为云API网关(APIG)和OBS,具体详情请参见事件列表。 部署后,Framework将设置您的function应该侦听的相应事件配置。 配置 事件属于每个函数,可以在serverless.yml
快速入门 本章节旨在帮助您尽快了解Serverless Framework的使用。 初始化设置 您需要安装和配置以下几个前提条件: 在本地计算机上安装Node.js 14.x或更高版本,详情请参见安装Node.js和NPM。 安装Serverless Framework开源CLI版本
使用FunctionGraph函数对MFA微服务进行Serverless化改造 案例概述 准备 构建程序 添加事件源 测试函数 父主题: 函数构建类实践
核心概念 以下将介绍Framework的主要概念,以及它们与华为云函数工作流的关系。 函数 函数是华为云函数工作流函数。它是一个独立的部署单元,就像微服务一样。它只是部署在云中的代码,主要是为了执行单个任务而编写,例如: 将用户保存到数据库。 处理数据库中的文件。 您可以在代码中执行多个任务
Yaml文件 字段解析 表1 参数说明 参数 必填 类型 参数描述 region True Enum 地域 function True Struct 函数 triggers False Struct 触发器 Yaml完整配置 华为云函数工作流(FunctionGraph)组件的Yaml
函数初始化入口Initializer 概述 Initializer是函数的初始化逻辑入口,不同于请求处理逻辑入口的handler,在有函数初始化的需求场景中,设置了Initializer后,FunctionGraph首先调用initializer完成函数的初始化,之后再调用handler
OBS事件 华为云函数可以由不同的event源触发。这些事件源可以通过event定义和配置。 OBS事件 此示例设置一个OBS事件,每当对象上传到my-service-resource时,该事件将触发first函数。 # serverless.yml functions: first
remove命令 remove 命令是对已经部署的资源进行移除的操作。 命令解析 参数解析 操作案例 remove function命令 参数解析 操作案例 remove trigger命令 参数解析 操作案例 remove version命令 参数解析 操作案例 remove alias
APIG网关事件 华为云函数工作流可以通过API网关(APIG)创建基于函数的API终端节点。 要创建HTTP终端节点作为华为云函数工作流的事件源,请使用http事件语法。 HTTP终端节点 此设置指定当有人通过GET请求访问函数API终端节点时,应运行first函数。您可以在部署服务后运行
准备 该场景涉及微服务与后端服务的调用,因此需要提前准备好对应的后端服务。用户可以使用自己搭建的后端服务,也可以使用华为云提供的云服务。 若后端服务需要通过虚拟私有云(VPC)访问,函数需要进行额外配置,若可以通过公网访问后端服务,可以跳过以下步骤2和步骤3。 创建Java函数(按照业务划分
案例概述 场景介绍 MetaERP业务场景进行微服务Serverless化改造,如图1所示,将低频使用但资源占用大的微服务逻辑,拆分成独立函数,常驻实例缩容到0;剩余微服务逻辑以Spring兼容方式进行函数化,实现函数化后的微服务快速冷启动和弹性,常驻实例减半。 图1 MFA Serverless