检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
使用Go语言程序构建HTTP函数 方案概述 本章节主要指导使用Go语言开发应用的用户,将业务部署到FunctionGraph。 由于HTTP函数本身不支持Go语言直接代码部署,因此本章节将以转换成二进制的方式为例,将Go编写的程序部署到FunctionGraph上。 操作流程 构建代码包 创建源文件main
适用于例如将设备上报的数据处理后存储至如OBS;对上报的数据进行结构化,清洗后存储至数据库;根据设备状态变化进行事件通知等应用场景。 使用FunctionGraph函数对OBS中的文件进行加解密 本章节介绍如何使用函数结合华为云DEW,配合使用“OBS应用事件源”触发器实现对OBS中的文件进行加解密处理。
配置函数初始化 函数初始化是指调用函数时对其进行初始化设置的过程,包括设置函数的初始状态、分配资源或为函数内部的变量赋予初始值等。 FunctionGraph是在函数实例启动成功后执行函数的初始化,初始化执行成功后,函数实例才能开始处理函数的调用请求。 FunctionGraph保证一个函
⑤执行Select查询语句。 如下是在函数首次调用包含冷启动的的完整函数执行过程。 图8 示例 Spans动作说明如下: load:是下载解压用户函数代码包和依赖包的时间。 preload:运行时加载用户函数代码和初始化函数执行环境的时间。 init:初始化函数的执行时间,初始化函数只有在冷启动时才会被执行。
记录函数的URN,即响应示例中的“func_urn”信息。 步骤2:修改函数配置信息中的OBS地址、OBS桶名和文件名 URI:PUT /v2/{project_id}/fgs/functions/{function_urn}/config API文档详情请参见:修改函数的metadata信息
FunctionGraph函数的冷启动优化实践 Serverless按需付费、自动弹性伸缩、屏蔽复杂性等特征使其逐渐成为下一代云计算新范式。但是在Serverless架构带来极大便利的同时,在实时性要求较高的应用场景下,冷启动将是面临的一个切实的挑战。当使用Serverless构
Framework帮助您使用华为云函数工作流开发和部署无服务器应用。它是一个CLI,提供开箱即用的结构、自动化功能和最佳实践,您可以专注于构建复杂的、事件驱动的、无服务器架构,由函数和事件组成。 Serverless Framework与其他应用程序框架不同,因为它: 管理您的代码和基础设施。 支持多种语言(Node
代码解读 FunctionGraph函数初始化入口 Redis连接池 Redis重试机制 Redis健康检查 父主题: 示例代码
服务韧性 华为云数据中心按规则部署在全球各地,所有数据中心都处于正常运营状态,无一闲置。数据中心互为灾备中心,如一地出现故障,系统在满足合规政策前提下自动将客户应用和数据转离受影响区域,保证业务的连续性。为了减少由硬件故障、自然灾害或其他灾难带来的服务中断,华为云为所有数据中心提供灾难恢复计划。
组件说明 华为云函数工作流(FunctionGraph)组件是一个用于支持华为云函数应用生命周期的工具,基于Serverless Devs进行开发,通过配置资源配置文件s.yaml,您可以简单快速地部署应用到华为云函数工作流平台。 前提条件 本地已安装nodejs。 快速开始 安装Serverless
failRate 错误率 该指标用于统计函数调用错误次数在总调用次数中的占比率。 单位:% 0% ≤X≤ 100% 函数 5分钟 rejectcount 被拒绝次数 该指标用于统计函数调用被拒绝次数。 被拒绝次数是指并发请求太多,系统流控而被拒绝的请求次数。 单位:次 ≥ 0 counts 函数
方案概述 应用场景 端侧文件上传云服务器是Web和App应用的一类场景,例如服务运行日志的上报,Web应用图片上传等,函数可作为后端,结合APIG提供通用的API处理这类场景。本章节以NodeJS和Python语言为例,指导用户如何开发后端解析函数,获取上传的文件。 约束与限制 单次请求上传文件大小不超过6MB。
更易写出结构良好,性能更优的代码。 用户函数代码更新时,系统能够保证用户函数的平滑升级,规避应用层初始化冷启动带来的性能损耗。新的函数实例启动后能够自动执行用户的初始化逻辑,在初始化完成后再处理请求。 在应用负载上升,需要增加更多函数实例时,系统能够识别函数应用层初始化的开销,更
配置函数的环境变量 FunctionGraph支持为函数设置环境变量,可以在不修改代码的情况下,将动态参数传递到函数,调整函数的执行行为。 环境变量在函数中适用于以下场景: 区分多环境:相同的函数逻辑,可根据部署环境的不同,配置不同的环境变量以区分。例如,通过环境变量给测试和开发环境配置不同的数据库。
并通过测试事件在线调试函数。 操作场景 完成函数的各项配置后,在函数详情页中的“代码”页签下,可以自定义设置测试事件,验证函数能否成功执行。 有关函数在线调试测试事件的操作,您可以参见使用空白模板创建函数指导视频中调试测试事件的介绍。 约束与限制 每个函数最多可配置10个测试事件。
“None”,方便调试。 复制生成的调用URL在浏览器进行访问。如图 调用函数所示,在URL后添加请求参数greeting?name=fg_user,响应如下。 图6 调用函数 默认生成的APIG触发器的调用URL为“域名/函数名”,在本案例中即:https://your_host
自定义运行 自定义函数执行的脚本和文件。 函数日志 函数调用过程中产生的日志信息。 函数监控 函数执行过程中的监控信息。 函数版本 函数从开发、测试、生产过程中发布一个或多个版本,实现对函数代码的管理。对于发布的每个版本的函数、环境变量会另存为相应版本的快照,函数代码发布后,可以根据实际需要修改版本配置信息。
FunctionGraph支持的触发事件 FunctionGraph支持的触发事件 表1列出了支持触发FunctionGraph函数的云服务,可以将这些云服务配置为FunctionGraph函数的事件源,即配置函数的触发器。在配置事件源映射后,这些事件源在检测到相应事件时将自动调用FunctionGraph函数。
API概览 FunctionGraph API为开发者、合作伙伴提供开发、部署、托管、运维的开放接口,帮助用户快速、低成本地实现业务创新,缩短应用上线周期。 FunctionGraph API提供的接口有如下几种类型。 表1 接口简介 类型 说明 函数调用 包括同步执行函数、异步执行
制作函数的私有依赖包 本章节指导您如何在本地制作函数的依赖包。推荐在EulerOS环境中制作函数依赖包,在其他系统中打包,可能由于底层依赖库的原因,导致运行时出现例如找不到动态链接库的问题。 约束与限制 私有依赖包的文件大小限制为300M。 如果安装的依赖模块需要添加依赖库,请将