检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
为什么函数实际使用内存大于预估内存,甚至触发内存溢出OOM? 函数调用过程中,运行时会解析和缓存传入的event事件, 这部分操作会消耗额外的内存。 函数调用结束后,回收的内存首先会放入内部内存池中,并不一定归还给操作系统,导致内存偏高,在高并发场景下这种现象会更加明显。 父主题: 调用函数
直播/转码、实时数据流处理、IoT规则/事件处理等。 实时文件处理 客户端上传文件到OBS,触发FunctionGraph函数,在上传数据后立即进行处理。可以使用FunctionGraph实时创建图像缩略图、转换视频编码、进行数据文件汇聚、筛选等。 其优势有: 灵活扩展,业务爆发
若日志包含“WRN”、“WARN”、“ERR”或“ERROR”关键字的告警日志,则过滤出来并转储到准备好的日志流中。以下图1和图2是过滤前和过滤后的实时日志对比。 图1 过滤前日志 图2 过滤后日志 您可以通过函数指标查看函数的调用情况,如下 3 张图所示。 图3 函数指标1 图4 函数指标2
时error不为空,则函数将返回HandledInitializationError,由于屏蔽了初始化函数的返回值,所以data中的数据是无效的,可以参考上文的示例设置为空。 SDK接口 Context类中提供了许多上下文方法供用户使用,其声明和功能如表1所示。 getToken
96个字符。 加密参数 开启加密参数后,环境变量的值将以“*”号加密显示,参数传输过程中键值也处于加密状态。 已开启加密并保存的环境变量值,取消加密后将重置为空。 图1 添加环境变量 配置完成后,单击“确定”保存环境变量。 环境变量配置完成后,即可在函数中使用环境变量,具体应用示例可参见环境变量应用示例。
的代码。 用户函数代码更新时,系统能够保证用户函数的平滑升级,规避应用层初始化冷启动带来的性能损耗。新的函数实例启动后能够自动执行用户的初始化逻辑,在初始化完成后再处理请求。 在应用负载上升,需要增加更多函数实例时,系统能够识别函数应用层初始化的开销,更准确的计算资源伸缩的时机和所需的资源量,让请求延时更加平稳。
数。 填写API名称,选择分组、发布环境、认证、请求协议、超时时间等配置,单击”确定”完成触发器创建,如图1所示。 图1 创建触发器 创建后可以获得一个调用URL,通过这个URL进行函数的调用,如图2所示。 图2 请求路径 父主题: 使用FunctionGraph函数对MFA微服务进行Serverless化改造
zip。如果您使用Node.js语言其他版本,请制作对应版本的依赖包,具体请参考制作依赖包。 创建依赖包。在左侧导航栏“函数 > 依赖包”管理页面,单击“创建依赖包”,配置完成后单击“确定”。 依赖包名称:输入您自定义的依赖包名称,例如“busboy”。 代码上传方式:上传ZIP文件。 运行时:Node
准备 创建函数及添加事件源之前,需要创建两个OBS桶,分别用来保存用户上传的图片和打水印后输出的图片。 OBS桶创建以后,需要创建委托,给FunctionGraph函数赋权,确保FunctionGraph函数能够访问到OBS资源。 创建OBS桶 注意事项 上传图片的源桶、输出图片的目标桶和函数必须处于同一个区域下。
is_bridge_function Boolean 是否为bridge函数 bind_bridge_funcUrns Array of strings 绑定bridge函数的urn列表 表6 StrategyConfig 参数 参数类型 描述 concurrency Integer 单函数最大
queryStringParameters:GET请求中URL后面要带的参数,当发起一次GET请求时,参数会以url string的形式进行传递。即?后的字符串则为其请求参数,并以&作为分隔符。 path:API访问地址。 您可以直接通过请求路径调用:https://464d86ec641d
预留实例是将函数实例的创建和释放交由用户管理,如果一个函数创建了预留实例,FunctionGraph收到此函数的调用请求时,会优先将请求转发给预留实例。当请求的峰值超过预留实例处理能力时,剩余的请求将会转发给按量实例,由函数工作流自动为函数分配执行环境。 预留实例在创建完成后,会自动加载该函数的代
、2560、3072、3584、4096、8192、10240。 描述 函数的描述信息,不超过512个字符。 修改完成后单击“保存”,保存配置。 父主题: 管理函数
处理文件 当文件上传后更新至dew-bucket-input桶时,会生成事件,触发函数运行,将文件加解密,保存在dew-bucket-output中。 上传文件生成事件 登录对象存储服务控制台,进入dew-bucket-input桶对象界面,上传image.jpg文件,如图1所示。
用的情况。 例如:函数A配置了成功调用时的异步通知目标为函数B,函数B配置了成功调用时的异步通知目标为函数A,当异步触发函数A并且执行成功后,则可能出现A>B>A......循环调用的情况。 使用异步配置通知分布式消息服务(RocketMQ)时,需要函数配置VPC且与通知的Roc
FunctionGraph函数默认的执行超时时间为3秒,您可以自行设置执行超时时间为3 ~ 259200秒之间的任何整数。如果执行超时时间设置为3秒,超过3秒后,函数将终止执行。 父主题: 调用函数
预留实例是将函数实例的创建和释放交由用户管理,当您为某一函数创建了预留实例,函数工作流收到此函数的调用请求时,会优先将请求转发给您的预留实例,当请求的峰值超过预留实例处理能力时,剩余部分的请求将会转发给按量实例,由函数工作流自动为您分配执行环境。 预留实例在创建完成后,会自动加载该函数的代码、
Python SDK使用范例 以同步执行函数为例,提供封装后的SDK。为了保证您成功使用以下示例代码,您需要先添加对应语言的SDK依赖。 表1 Python SDK信息说明 SDK信息 说明 安装 pip install huaweicloudsdkfunctiongraph 相关链接
简单地说,事件主要用于触发函数运行。 如果您选择华为云作为提供商,则服务中的events仅限于华为云API网关(APIG)和OBS,具体详情请参见事件列表。 部署后,Framework将设置您的function应该侦听的相应事件配置。 配置 事件属于每个函数,可以在serverless.yml的events属性中找到。
Redis重试机制 Redis客户端支持添加自动重试机制,确保在执行Redis操作失败后重试特定次数,这样能大幅度降低暂时性故障影响。例如:发生瞬时的网络抖动、磁盘抖动导致服务暂时不可用或者调用超时的情况下,提高Redis操作的成功概率。 连接DCS单机、主备、读写分离、Prox