检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
使用Serverless CLI工具,可以将项目打包,而无需将其部署到华为云。建议与CI/CD工作流一起使用,以确保可部署产物一致。 运行以下命令将在服务的.serverless目录中构建和保存所有部署产物: serverless package 打包配置 有时,您可能希望对函数产物以及它们的打包方式有更多的控制。
以同步执行函数为例,提供封装后的SDK。为了保证您成功使用以下示例代码,您需要先添加对应语言的SDK依赖。 表1 Python SDK信息说明 SDK信息 说明 安装 pip install huaweicloudsdkfunctiongraph 相关链接 SDK依赖包地址 Python SDK使用说明
Serverless Framework 使用指南 CLI参考 事件列表 父主题: 开发工具
以同步执行函数为例,提供封装后的SDK。为了保证您成功使用以下示例代码,您需要先添加对应语言的SDK依赖。 表1 Go SDK信息说明 SDK信息 说明 安装 go get -u github.com/huaweicloud/huaweicloud-sdk-go-v3 相关链接 SDK依赖包地址
打包 默认情况下,severless package命令将所有基础设施资源打包到.serverless目录中用于部署。 serverless package命令 serverless package 在该示例中,您的服务会被打包。生成的软件包将默认位于服务的.serverless目录。
调用 serverless invoke命令 调用已部署的函数。您可以发送事件数据、读取日志和查看函数调用的其他重要信息。 serverless invoke --function functionName 选项 --function或-f:要调用的服务中函数的名称,必填。 --data或-d:传递给函数的数据。
请求url为添加事件源创建的APIG触发器地址。 需要在headers里配置requestPath,值为图1中的@Path(可能会包含一些服务前缀,对应微服务改造之前的请求Path即可),如图2所示。 图2 requestPath配置 测试独立函数。 统一使用POST请求。 请求url为添加事件源创建的APIG触发器地址。
以同步执行函数为例,提供封装后的SDK。为了保证您成功使用以下示例代码,您需要先添加对应语言的SDK依赖。 表1 Java SDK信息说明 SDK信息 说明 安装 <dependency> <groupId>com.huaweicloud.sdk</groupId> <artifactId>huaw
执行超过该配置时间时,该次请求会因为超时而失败;内存根据业务运行过程中所需的内存大小配置,当内存使用超过该配置值时,函数实例可能会被迫停止而导致请求失败。 配置环境变量。 通过托管方式改造,需要统一配置以下两个参数: spring_start_class:SpringBoot的启动类名,如图10所示。
OBS事件 华为云函数可以由不同的event源触发。这些事件源可以通过event定义和配置。 OBS事件 此示例设置一个OBS事件,每当对象上传到my-service-resource时,该事件将触发first函数。 # serverless.yml functions: first:
函数是华为云函数工作流函数。它是一个独立的部署单元,就像微服务一样。它只是部署在云中的代码,主要是为了执行单个任务而编写,例如: 将用户保存到数据库。 处理数据库中的文件。 您可以在代码中执行多个任务,但不建议在没有充分理由的情况下这样做。分离关注点是最好的,Framework旨在帮助您轻松开发和部署函数,以及管理它们。
如果您选择华为云作为提供商,则服务中的events仅限于华为云API网关(APIG)和OBS,具体详情请参见事件列表。 部署后,Framework将设置您的function应该侦听的相应事件配置。 配置 事件属于每个函数,可以在serverless.yml的events属性中找到。 # serverless
{}; 内存大小和超时 函数的memorySize和timeout可以在提供商或函数层面指定。提供商层面的定义允许所有函数共享此配置,而函数层面的定义意味着此配置仅对当前函数有效。 如果未指定,默认memorySize为256MB,timeout为30s。 # serverless.yml
指令使用方法 部署deploy 版本 version 项目迁移fun2s 删除remove 别名alias Yaml文件 父主题: Serverless Devs
与步骤1中定义的函数保持一致。 测试函数 创建测试事件。 在函数详情页,单击“配置测试事件”,弹出“配置测试事件”页,输入测试信息如图1所示,单击“创建”。 图1 配置测试事件 在函数详情页,选择已配置测试事件,单击“测试”。 函数执行 函数执行结果分为三部分,分别为函数返回(由
持续时间:选择“永久”。 描述:填写描述信息。 以上参数配置如图3所示。 图3 委托配置 单击“下一步”,进入委托选择页面,如图4所示,在右方搜索框中搜索需要添加的权限并勾选。这里使用VPC Administrator,最小授权项配置可参考最小授权项配置。 图4 委托选择 单击“下一步”,选择权
仅函数私有依赖包需执行创建依赖包操作,公共依赖包可直接配置使用。 登录函数工作流控制台,在左侧导航栏选择“函数 > 依赖包管理”,进入“依赖包管理”界面。 单击“创建依赖包”,弹出“创建依赖包”对话框。 参考表1配置依赖包参数。 表1 依赖包配置参数说明 参数 说明 依赖包名称 自定义依赖包名称,便于识别不同的依赖包。
成jar包。 图1 生成jar包 配置工程web端口。HTTP函数当前支持8000端口,需配置工程web端口为 8000(此端口请勿修改), 可以使用application.properties文件来配置,也可以在启动时指定端口号。 图2 配置8000端口 在jar包同目录创建bootstrap文件,输入启动参数。
删除remove remove命令 remove 命令是对已经部署的资源进行移除的操作。资源一旦移除可能无法恢复,所以在使用移除功能时,请您慎重操作。 命令解析 当执行命令remove -h/remove --help时,可以获取帮助文档。 在该命令中,包括了四个子命令: function:删除指定的函数
版本 version version命令 version 命令是进行函数版本操作的命令;主要包括别名的查看、发布、删除等功能。 命令解析 当执行命令version -h/version --help时,可以获取帮助文档。 在该命令中,包括了两个子命令: version list命令