检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
函数初始化入口Initializer 概述 Initializer是函数的初始化逻辑入口,不同于请求处理逻辑入口的handler,在有函数初始化的需求场景中,设置了Initializer后,FunctionGraph首先调用initializer完成函数的初始化,之后再调用handler
使用容器镜像创建函数 FunctionGraph支持加载容器镜像中的函数并运行,与直接上传代码的方式相比,用户可以使用自定义的代码包,不仅灵活,也简化了用户的迁移成本。 约束与限制 请参见配置函数的委托权限,创建一个包含“SWR Admin容器镜像服务(SWR)管理员”权限的委托,
配置函数的动态内存 默认情况下,一个函数唯一绑定了一个资源规格。开启动态内存可以让函数在处理指定请求时,设置本次处理中函数实例使用的资源规格。如果不指定资源规格,函数将使用默认配置的资源规格。 以使用函数做视频转码为例,视频文件大小从MB到GB,不同编码格式和分辨率对转码需要的计算资源要求差别很大
责任共担 华为云秉承“将公司对网络和业务安全性保障的责任置于公司的商业利益之上”。针对层出不穷的云安全挑战和无孔不入的云安全威胁与攻击,华为云在遵从法律法规业界标准的基础上,以安全生态圈为护城河,依托华为独有的软硬件优势,构建面向不同区域和行业的完善云服务安全保障体系。 安全性是华为云与您的共同责任
权限管理 如果您需要对FunctionGraph的函数资源,给企业中的员工设置不同的访问权限,以达到不同员工之间的权限隔离,您可以使用统一身份认证服务(Identity and Access Management,简称IAM)进行精细的权限管理。该服务提供用户身份认证、权限分配、访问控制等功能
案例概述 场景介绍 MetaERP业务场景进行微服务Serverless化改造,如图1所示,将低频使用但资源占用大的微服务逻辑,拆分成独立函数,常驻实例缩容到0;剩余微服务逻辑以Spring兼容方式进行函数化,实现函数化后的微服务快速冷启动和弹性,常驻实例减半。 图1 MFA Serverless
函数依赖包概述 函数依赖包简介 函数依赖包包含支持函数业务代码运行的公共库,您可以将业务代码所需的公共库封装成依赖包进行单独管理,便于多函数共享,同时也能有效缩减函数代码包在部署与更新过程中的体积。 FunctionGraph支持用户针对同一依赖包进行版本的迭代,即同一依赖包可拥有多个版本
C#函数开发 C#函数接口定义 FunctionGraph运行时目前支持C#(.NET Core 2.1)、C#(.NET Core 3.1)、C#(.NET Core 6.0,当前仅支持华北-乌兰察布二零二、华北-乌兰察布二零一、拉美-墨西哥城二)版本。 C#函数接口定义:作用域
构建程序 通过Web托管方式改造微服务。改造过程中,如果微服务是基于spring框架,则需要使用FunctionGraph提供的SDK,即在pom.xml文件中添加步骤1中依赖。此时,您只需修改配置以及打包方式即可将微服务改造成serverless函数。具体操作步骤如下: 配置微服务依赖
扩展函数的存储空间 FuncitonGraph提供了磁盘挂载功能,通过挂载文件系统可为函数带来如下优势: 相比于临时存储空间/tmp,可以极大的扩展函数的执行存储空间。 多个函数之间可以挂载同一个文件系统,共享访问已经配置好的文件系统。 利用ECS已有的存储能力,可实现计算资源的动态扩展
入门实践 当您了解如何创建函数等基本操作后,可以根据自身的业务需求使用函数工作流 FunctionGraph 提供的一系列常用实践。 本文介绍函数工作流 FunctionGraph 常用实践,帮助您更好的使用函数工作流。 表1 常用最佳实践 实践 描述 使用函数压缩图片 本实践基于函数工作流服务实践所编写
开发事件函数 PHP函数接口定义 FunctionGraph运行时支持PHP 7.3版本,PHP 7.3函数的接口定义如下所示: function handler($event, $context) 入口函数名($handler):入口函数名称, 需和函数执行入口处用户自定义的入口函数名称一致
FunctionGraph如何实现域名解析? 约束与限制 1、函数服务不支持华为云解析服务上的自定义域名。 2、如果要配置华为云解析上注册域名的话,需要在自己的函数内部简单实现下域名转IP的操作。 3、调用DNS的API来解析域名对应的IP,然后函数通过调用IP访问对应的服务。 FunctionGraph
使用FunctionGraph函数定时开关华为云ECS 应用场景 当您需要在特定时间打开或者关闭华为公有云虚拟机时,可以考虑通过函数服务调用华为云ECS接口,定时开关虚拟机。 开机节点:需要定时打开的虚拟机。 关机节点:需要定时关闭的虚拟机。 前提条件 根据实际业务,获取定时开启华为公有云虚拟机的程序包或者定时关闭华为公有云虚拟机的程序包
处理结果 在Nextjs-app函数详情页面,选择“设置 > 触发器”,复制APIG触发器的调用URL。 图1 复制APIG触发器URL 在浏览器中打开URL,即可看到如图2页面。 图2 返回结果 父主题: 使用Next.js项目构建HTTP函数
使用容器镜像创建并执行HTTP函数 本章节将以使用容器镜像方式创建HTTP类型函数为例,介绍容器镜像函数的创建及测试过程。此过程中用户需要在镜像中实现一个http server,并监听8000(下文示例中提及的8000端口请不要变动)端口接收请求。备注:HTTP函数只支持APIG触发器
日志告警 配置函数代码执行返回结果 如果没有对函数代码执行返回结果有特定要求,例如绑定了APIG触发器的事件函数需要返回一个APIG响应格式的结果如下: import json def handler (event, context): return { "
添加事件源 添加APIG触发器(每个函数分别创建触发器),通过HTTP请求调用函数。 填写API名称,选择分组、发布环境、认证、请求协议、超时时间等配置,单击”确定”完成触发器创建,如图1所示。 图1 创建触发器 创建后可以获得一个调用URL,通过这个URL进行函数的调用,如图2所示
FunctionGraph支持的编程语言说明 FunctionGraph支持多种运行时语言,包括Python 、Node.js、Java、Go、C#、PHP、Cangjie及自定义运行时等,不同语言所支持的版本有所差异。 表1 运行时语言 支持版本 开发指导 Node.js 6.10
事件 简单地说,事件主要用于触发函数运行。 如果您选择华为云作为提供商,则服务中的events仅限于华为云API网关(APIG)和OBS,具体详情请参见事件列表。 部署后,Framework将设置您的function应该侦听的相应事件配置。 配置 事件属于每个函数,可以在serverless.yml