检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
凭证 Serverless Framework需要访问您的华为云账号的凭证,代表您创建和管理资源。 创建华为云账号 打开华为云官网,选择“注册”,详情请参考注册华为账号并开通华为云。 获取凭证 您需要创建凭证,以便Serverless可以使用它们在项目中创建资源。 进入“访问密钥”页面,获取您华为云账号的访问密钥。
服务 service就像一个项目,您可以在服务中定义华为云函数工作流的函数和触发它们的events,所有这些都在一个名为serverless.yml的文件中。 若您要构建第一个Serverless Framework项目,请先创建一个service。 组织 在最初使用应用时,建议
事件 简单地说,事件主要用于触发函数运行。 如果您选择华为云作为提供商,则服务中的events仅限于华为云API网关(APIG)和OBS,具体详情请参见事件列表。 部署后,Framework将设置您的function应该侦听的相应事件配置。 配置 事件属于每个函数,可以在serverless
创建 根据指定的模板在当前工作目录下创建新服务。 在当前工作目录中创建服务: serverless create --template-url https://github.com/zy-linn/examples/tree/v3/legacy/huawei-nodejs 使用自定义模板在新文件夹中创建服务:
安装 在当前工作目录中从GitHub URL安装服务,如下: serverless install --url https://github.com/some/service 选项 --url或-u:GitHub的服务URL,必填。 --name或-n:服务名称。 示例 从GitHub
打包 默认情况下,sls package命令将所有基础设施资源打包到.serverless目录中用于部署。 示例 serverless package 在该示例中,您的服务会被打包。生成的软件包将默认位于服务的.serverless目录。 父主题: CLI参考
部署 serverless deploy命令通过华为云API部署整个服务。当您编辑serverless.yml文件更改了服务时,请运行此命令。 serverless deploy 产物 执行serverless deploy命令后,所有创建的部署产物都将放置在服务的.serverless目录。
信息 serverless info命令显示有关已部署服务的信息,在您的服务目录中运行此命令。 serverless info 父主题: CLI参考
页面。 图2 总览页参数 存储库信息中“名称”:通过该链接可跳转到相关函数代码托管的代码仓,可用于浏览及下载相关代码。 图3 代码页参数 常见问题排查方法 创建代码仓库失败,提示如图4所示。 图4 创建代码仓失败 排查方法:请检查您账户是否开通了CodeArts服务,具体请参考登
参数zone_id即上述步骤中获取的“域名ID”,单击“调试”,响应体中即可获取内网域名对应的IP。 图6 获取内网域名对应的IP 切换到代码示例获取完整的代码,相关依赖请参见SDK信息。 图7 获取相关代码 父主题: 配置函数
函数 如果您以华为云函数工作流作为提供商,则服务的所有函数都属于华为云函数工作流中的函数。 配置 您的Serverless服务中有关华为云函数工作流的所有内容都可以在functions属性下的serverless.yml中找到。 # serverless.yml service:
打包 打包CLI命令 使用Serverless CLI工具,可以将项目打包,而无需将其部署到华为云。这最好与CI/CD工作流一起使用,以确保可部署产物一致。 运行以下命令将在服务的.serverless目录中构建和保存所有部署产物: serverless package 打包配置
安装 Serverless是一个Node.js CLI工具,因此您需要先在计算机上安装Node.js。 请访问Node.js官方网站,下载并按照安装说明在本地计算机上安装Node.js。 您可以通过在终端中运行node --version来验证Node.js是否安装成功,即可以看到打印出来的对应Node
事件列表 APIG网关事件 OBS事件 父主题: Serverless Framework
code_type 函数代码类型,取值有4种: inline:UI在线编辑代码。 zip:函数代码为zip包。 jar:函数代码为jar包,主要针对Java函数。 obs:函数代码来源于OBS存储。 code_url 当“code_type”为“obs”时,该值为函数代码包在OBS上的地址。
快速入门 本章节旨在帮助您尽快了解Serverless Framework的使用。 初始化设置 您需要安装和配置以下几个前提条件: 在本地计算机上安装Node.js 14.x或更高版本,详情请参见安装Node.js和NPM。 安装Serverless Framework开源CLI版本3
code_type String 函数代码类型,取值有5种。 inline: UI在线编辑代码。 zip: 函数代码为zip包。 obs: 函数代码来源于obs存储。 jar: 函数代码为jar包,主要针对Java函数。 Custom-Image-Swr: 函数代码来源于SWR自定义镜像。 枚举值:
OBS事件 华为云函数可以由不同的event源触发。这些事件源可以通过event定义和配置。 OBS事件 此示例设置一个OBS事件,每当对象上传到my-service-resource时,该事件将触发first函数。 # serverless.yml functions: first:
执行如下命令,打包test.zip代码库压缩包。 zip -r test.zip ./* 测试示例 在华为云FunctionGraph控制台新建一个C#(.NET 2.1)函数,上传打包好的“test.zip”压缩包,如图1所示。 图1 上传代码包 配置一个测试事件。如图2所示。
创建函数 创建实现Redis数据访问的函数并进行配置。请参考示例代码连接实例。 4 FunctionGraph监控告警 创建FunctionGraph监控告警完成对函数运行的实时监控。 5 日志告警(可选) 配置函数代码执行日志告警结果返回。 6 调试函数 配置测试事件进行函数调试。