检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
创建程序包 要创建FunctionGraph函数,首先需要创建函数部署程序包(包含代码和所有依赖项的文件)。用户可以自行创建部署程序包或直接在FunctionGraph函数控制台在线编辑代码,控制台将创建并上传部署程序包,从而实现FunctionGraph函数的创建。用户在编辑函数代码时支持类似工程方式的管理
什么是FunctionGraph FunctionGraph是一项基于事件驱动的函数托管计算服务。使用FunctionGraph函数,只需编写业务函数代码并设置运行的条件,无需配置和管理服务器等基础设施,函数以弹性、免运维、高可靠的方式运行。此外,按函数实际执行资源计费,不执行不产生费用
函数工程打包规范 打包规范说明 函数除了支持在线编辑代码,还支持上传ZIP、JAR、引入OBS文件等方式上传代码,函数工程的打包规范说明如表1所示。 表1 函数工程打包规范 编程语言 JAR包 ZIP包 OBS文件 Node.js 不支持该方式 假如函数工程文件保存在“~/Code
导出函数 功能介绍 导出函数 调用方法 请参见如何调用API。 URI GET /v2/{project_id}/fgs/functions/{function_urn}/export 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目
import json def handler (event, context): print(event) return {"result":"success"} 在函数流编排区域拖拽组件,服务节点的配置如下。 图8 服务节点配置 函数1节点配置如下。
使用Go构建FunctionGraph HTTP函数 方案概述 本章节主要指导使用Go语言开发应用的用户,将业务部署到FunctionGraph。 由于HTTP函数本身不支持Go语言直接代码部署,因此本章节将以转换成二进制的方式为例,将Go编写的程序部署到FunctionGraph
测试事件 自动加载系统内置dis事件模板,本例不做修改。 单击“测试”,可以得到函数运行结果,函数会返回输入DIS数据。 父主题: 配置触发器
案例概述 场景介绍 MetaERP业务场景进行微服务Serverless化改造,如图1所示,将低频使用但资源占用大的微服务逻辑,拆分成独立函数,常驻实例缩容到0;剩余微服务逻辑以Spring兼容方式进行函数化,实现函数化后的微服务快速冷启动和弹性,常驻实例减半。 图1 MFA Serverless
调试函数 我们可以在函数代码详情页“配置测试事件”和“测试”中在线调试函数,如下: 图1 在线调试函数 父主题: 使用函数访问Redis数据库
什么是公共依赖 公共依赖是华为云为用户直接提供的依赖包,用户可以在函数界面直接导入相关依赖包实现自己代码的业务逻辑。 与私有依赖相比,公共依赖有如下优势: 公共依赖为用户提供了开箱即用的依赖生态,不需要用户进行繁琐的依赖包构建和上传,仅需在函数界面直接导入即可使用。用户无需过多关注配置代码运行环境
使用STS Token替换 登录函数工作流控制台,选择“函数 > 函数列表”,单击函数名称进入详情页。 图1 进入函数详情页 选择“代码”页签,将原代码中“context.getAccessKey()”和“context.getSecretKey()”替换为“context.getSecurityAccessKey
每当有新函数实例创建时,系统会首先调用initializer。系统保证一定initializer执行成功后才会执行handler逻辑。 最多成功执行一次 FunctionGraph保证每个函数实例启动后只会成功执行一次initializer 。
删除函数版本别名 功能介绍 删除函数版本别名。 调用方法 请参见如何调用API。 URI DELETE /v2/{project_id}/fgs/functions/{function_urn}/aliases/{alias_name} 表1 路径参数 参数 是否必选 参数类型 描述
Linux系统 Linux系统下可以使用以下命令生成zip包。 zip –rq vendor.zip vendor windows系统 用压缩软件将vendor目录压缩成zip文件即可。
删除指定测试事件 功能介绍 删除指定测试事件 调用方法 请参见如何调用API。 URI DELETE /v2/{project_id}/fgs/functions/{function_urn}/events/{event_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id
response_context.statusCode 调用函数的返回码(系统)。当该返回码不为200时,说明出现了系统错误。 response_context.function_error 调用错误信息。 response_payload 执行函数返回的原始负载。
Map<String, String> headers = new HashMap<String, String>(); headers.put("Content-Type", "text/html; charset=utf-8"); return
Java心跳函数格式为: public boolean heartbeat() { // 自定义检测逻辑 return true 心跳函数目前无输入参数,返回值为bool类型。 操作步骤 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
删除依赖包版本 功能介绍 删除依赖包版本 调用方法 请参见如何调用API。 URI DELETE /v2/{project_id}/fgs/dependencies/{depend_id}/version/{version} 表1 路径参数 参数 是否必选 参数类型 描述 project_id
netcoreapp2.0</TargetFramework> </PropertyGroup> <ItemGroup> <Reference Include="HC.Serverless.Function.Common, Version=1.0.0.0, Culture