检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
FunctionGraph是华为云Serverless产品的VSCode插件。通过该插件,您可以: 快速地在本地创建函数 运行调试本地函数、部署本地函数至云端 拉取云端的函数列表、调用云端函数、上传ZIP包至云端 前提条件 下载 Visual Studio Code(1.63.0版本以上)并安装。 安装插件
创建EG触发器(云服务事件源) 创建EventGrid触发器 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。 选择待配置的函数,单击进入函数详情页。 选择“设置 > 触发器”,单击“创建触发器”,弹出“创建触发器”对话框,本章节以创建对象存储OBS为例。 图1 创建触发器
案例概述 场景介绍 MetaERP业务场景进行微服务Serverless化改造,如图1所示,将低频使用但资源占用大的微服务逻辑,拆分成独立函数,常驻实例缩容到0;剩余微服务逻辑以Spring兼容方式进行函数化,实现函数化后的微服务快速冷启动和弹性,常驻实例减半。 图1 MFA Serverless改造前后架构
Struct 触发器 Yaml完整配置 华为云函数工作流(FunctionGraph)组件的Yaml字段如下: edition: 1.0.0 # 命令行YAML规范版本,遵循语义化版本(Semantic Versioning)规范 name: fg-test # 项目名称 access:
使用FunctionGraph是否需要开通计算、存储、网络等服务? 用户使用FunctionGraph时,不需要开通或者预配置计算、存储、网络等服务,由FunctionGraph提供和管理底层计算资源,包括服务器CPU、内存、网络和其他配置/资源维护、代码部署、弹性伸缩、负载均衡
8000(此端口请勿修改), 可以使用application.properties文件来配置,也可以在启动时指定端口号。 图2 配置8000端口 在jar包同目录创建bootstrap文件,输入启动参数。 /opt/function/runtime/java11/rtsp/jre/bin/java
如何获取Token? 调用接口时,可以使用Token进行认证鉴权,可以通过IAM标准接口获取Token,示例如下。 获取华南区的Token示例命令如下。 curl -k -i -X POST https://iam.cn-south-1.myhuaweicloud.com/v3/auth/tokens
将请求分发到函数运行实例。 同时系统会根据流量负载的模式来智能预热实例,以缓解冷启动对业务的影响。 事件触发 通过事件触发机制,集成多种云服务,满足不同场景需求,获得高效的开发体验。 与云日志服务、云监控服务对接,无需任何配置,即可查询函数日志和监控告警信息,快速排查故障。 高可用
云审计服务支持的FunctionGraph操作列表 云审计支持的FunctionGraph操作列表如表1所示。 表1 云审计服务支持的FunctionGraph操作列表 操作名称 资源类型 事件名称 创建函数 Functions createFunction 删除函数 Functions
函数,也可以将您本地的 Web 框架服务以极小的改造量快速迁移上云。 减少请求处理环节 函数可以直接接收并处理 HTTP 请求,API 网关不再需要做 json 格式转换,减少请求处理环节,提升 Web 服务性能。 编写体验舒适化 HTTP 函数的编写体验更贴近编写原生 Web 服务,可以使用 Node
打包 打包CLI命令 使用Serverless CLI工具,可以将项目打包,而无需将其部署到华为云。这最好与CI/CD工作流一起使用,以确保可部署产物一致。 运行以下命令将在服务的.serverless目录中构建和保存所有部署产物: serverless package 打包配置
V1版本的函数支持应用运维管理服务(AOM)管理函数日志及云日志服务(LTS)管理函数日志。 FunctionGraph V2版本的函数支持云日志服务(LTS)管理函数日志。 应用运维管理服务(AOM)管理函数日志页面 云日志服务(LTS)管理函数日志页面 图1 日志页面 应用运维服务(AOM)管理函数日志
创建SFS Turbo文件系统 登录华为云弹性文件服务控制台,选择“SFS Turbo”,单击“创建文件系统”,进入“创建文件系统”界面。 在“创建文件系统”界面填写如下参数: 计费模式:根据实际情况选择,推荐按需计费。 弹性文件服务的计费介绍请参见计费说明,计费价格请参见价格计算器。
如何获取上传的文件? 以Python语言为例,如果用户用os.getcwd()查看当前目录的话,会发现当前目录是/opt/function,但实际代码是传到/opt/function/code里的。 有2种方法可以获取到上传的文件: 函数里使用cd命令切换路径到/opt/function/code
别名alias alias命令概览 命令解析 alias get命令 alias list命令 alias publish命令 remove alias命令 父主题: 指令使用方法
部署deploy Deploy命令概览 命令解析 deploy function命令 deploy trigger命令 父主题: 指令使用方法
件语法。 HTTP终端节点 此设置指定当有人通过GET请求访问函数API终端节点时,应运行first函数。您可以在部署服务后运行serverless info命令来获取终端节点的URL。 以下是一个例子: # serverless.yml functions: hello:
函数调用绑定在APIG的域名的服务,报域名无法解析? 函数服务目前只能解析pod域的域名或者在华为dns服务购买的域名。 父主题: 通用问题
SDK到本地开发环境解压,如图2所示。 图2 下载SDK解压 将zip中的Runtime-2.0.5.jar拷贝到本地目录,例如d:\\runtime中,在命令行窗口执行如下命令安装到本地的maven仓库中。 mvn install:install-file -Dfile=d:\runtime\RunTime-2
版本 version Version命令概览 version list命令 version publish命令 父主题: 指令使用方法