- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
- 最佳实践
- 开发指南
- API参考
- SDK参考
-
常见问题
-
通用问题
- FunctionGraph是什么
- 使用FunctionGraph是否需要开通计算、存储、网络等服务?
- 使用FunctionGraph开发程序之后是否需要部署?
- 如何获取Token?
- FunctionGraph函数支持哪些编程语言?
- FunctionGraph函数分配磁盘空间有多少?
- FunctionGraph函数是否支持版本控制?
- 函数中如何读写文件?
- 使用CLI工具,如何配置网络代理?
- FunctionGraph函数是否支持扩展?
- IAM子账号使用FunctionGraph需要设置哪些权限?
- 如何制作基于ODBC驱动的Python依赖包用于查询数据库?
- FunctionGraph配额
- FunctionGraph函数支持哪些中文字体?
- FunctionGraph函数如何解析DNS内网域名?
- 容器镜像函数如何解析DNS内网域名?
- 如何通过域名访问专享版APIG中注册的接口?
- 函数工作流的常见使用场景?
- 函数调用绑定在APIG的域名的服务,报域名无法解析?
- 同步函数工作流能否支持到内网最大带宽的同步传输 ?
- 单租户的VPC超过默认配额时,需要怎么做?
- 如何打印info、error、warn级别的日志?
- 函数是否可以把API的接口域名配置成自己的域名?
- 函数工作流是否支持修改运行时语言?
- 已创建的函数是否支持修改函数名称?
- 挂载文件系统时,报“failed to mount exist system path”,应如何处理?
- 如何获取上传的文件?
- 同步调用响应未收到的可能原因?
- os.system("command &")执行日志未采集,应如何处理?
- 自定义运行时,都能操作哪些目录?
- 运行时语言支持的python3.6和3.9具体指哪个版本?
- 用户想使用vpc功能,但不想配置VPC Administrator委托,应配置哪些授权项?
- 函数执行超时的可能原因有哪些?
- 如何获取函数代码?
- 是否有initializer的代码示例?
- 如何开启结构化日志查询
- 函数服务是否支持在函数中启动TCP的监听端口,通过EIP接收外部发送过来的TCP请求?
- FunctionGraph是否支持域名解析?
- 函数发起HTTP请求的源地址如何获取?
- 创建函数
- 触发器管理
- 依赖包管理
-
函数执行
- FunctionGraph函数的执行需要多长时间?
- FunctionGraph函数的执行包含了哪些过程?
- FunctiongGraph函数的并发处理过程是什么?
- FunctiongGraph函数如何处理长时间不执行的实例?
- 首次访问函数慢,如何优化?
- 怎样获取在函数运行过程中实际使用了多少内存?
- 为什么第一次请求会比较慢?
- 调用API时,报错怎么办?
- 如何读取函数的请求头?
- API同步执行函数接口,是否支持内网调用?
- 为什么函数实际使用内存大于预估内存,甚至触发OOM?
- 函数内存超限返回“runtime memory limit exceeded”,如何查看内存占用大小?
- 如何定位自定义镜像执行失败“CrashLoopBackOff”的原因?
- 用户使用相同的镜像名更新镜像,预留实例无法自动更新,会一直使用老镜像,应如何处理?
- 函数配置
- 函数访问外部资源
- 其他问题
- V1迁移V2相关问题
-
通用问题
-
更多文档
-
用户指南(阿布扎比区域)
- 产品介绍
- 快速入门
- 使用前必读
- 构建函数
- 配置函数
- 在线调试
- 配置触发器
- 调用函数
- 监控
- 函数管理
- 依赖包管理
- 预留实例管理
- 扩大资源配额
- 审计
-
常见问题
-
通用问题
- FunctionGraph是什么
- 使用FunctionGraph是否需要开通计算、存储、网络等服务?
- 使用FunctionGraph开发程序之后是否需要部署?
- FunctionGraph函数支持哪些编程语言?
- FunctionGraph函数分配磁盘空间有多少?
- FunctionGraph函数是否支持版本控制?
- 函数中如何读写文件?
- FunctionGraph函数是否支持扩展?
- IAM子帐号使用FunctionGraph需要设置哪些权限?
- 如何制作基于ODBC驱动的Python依赖包用于查询数据库?
- FunctionGraph配额
- FunctionGraph函数如何解析DNS内网域名?
- 容器镜像函数如何解析DNS内网域名?
- 如何通过域名访问专享版APIG中注册的接口?
- 函数工作流的常见使用场景?
- 函数调用绑定在APIG的域名的服务,报域名无法解析?
- 同步函数工作流能否支持到内网最大带宽的同步传输 ?
- 单租户的VPC超过默认配额时,需要怎么做?
- 如何打印info、error、warn级别的日志?
- 函数是否可以把API的接口域名配置成自己的域名?
- 函数工作流是否支持修改运行时语言?
- 已创建的函数是否支持修改函数名称?
- 挂载文件系统时,报“failed to mount exist system path”,应如何处理?
- 如何获取上传的文件?
- 同步调用响应未收到的可能原因?
- os.system("command &")执行日志未采集,应如何处理?
- 自定义运行时,都能操作哪些目录?
- 运行时语言支持的python3.6和3.9具体指哪个版本?
- 用户想使用vpc功能,但不想配置VPC Administrator委托,应配置哪些授权项?
- 函数执行超时的可能原因有哪些?
- 如何获取函数代码?
- 是否有initializer的代码示例?
- 如何开启结构化日志查询
- 函数服务是否支持在函数中启动TCP的监听端口,通过EIP接收外部发送过来的TCP请求?
- 创建函数
- 触发器管理
- 依赖包管理
-
函数执行
- FunctionGraph函数的执行需要多长时间?
- FunctionGraph函数的执行包含了哪些过程?
- FunctiongGraph函数的并发处理过程是什么?
- FunctiongGraph函数如何处理长时间不执行的实例?
- 首次访问函数慢,如何优化?
- 怎样获取在函数运行过程中实际使用了多少内存?
- 为什么第一次请求会比较慢?
- 调用API时,报错怎么办?
- 如何读取函数的请求头?
- 为什么函数实际使用内存大于预估内存,甚至触发OOM?
- 函数内存超限返回“runtime memory limit exceeded”,如何查看内存占用大小?
- 如何定位自定义镜像执行失败“CrashLoopBackOff”的原因?
- 用户使用相同的镜像名更新镜像,预留实例无法自动更新,会一直使用老镜像,应如何处理?
- 函数配置
- 函数访问外部资源
- 其他问题
-
通用问题
- API参考(阿布扎比区域)
- 开发指南(阿布扎比区域)
-
用户指南(吉隆坡区域)
- 产品介绍
- 快速入门
- 使用前必读
- 构建函数
- 配置函数
- 在线调试
- 配置触发器
- 调用函数
- 监控
- 函数管理
- 依赖包管理
- 预留实例管理
- 审计
-
常见问题
-
通用问题
- FunctionGraph是什么
- 使用FunctionGraph是否需要开通计算、存储、网络等服务?
- 使用FunctionGraph开发程序之后是否需要部署?
- FunctionGraph函数支持哪些编程语言?
- FunctionGraph函数分配磁盘空间有多少?
- FunctionGraph函数是否支持版本控制?
- 函数中如何读写文件?
- FunctionGraph函数是否支持扩展?
- IAM子账号使用FunctionGraph需要设置哪些权限?
- 如何制作基于ODBC驱动的Python依赖包用于查询数据库?
- FunctionGraph配额
- 容器镜像函数如何解析DNS内网域名?
- 如何通过域名访问专享版APIG中注册的接口?
- 函数工作流的常见使用场景?
- 函数调用绑定在APIG的域名的服务,报域名无法解析?
- 同步函数工作流能否支持到内网最大带宽的同步传输 ?
- 单租户的VPC超过默认配额时,需要怎么做?
- 如何打印info、error、warn级别的日志?
- 函数是否可以把API的接口域名配置成自己的域名?
- 函数工作流是否支持修改运行时语言?
- 已创建的函数是否支持修改函数名称?
- 挂载文件系统时,报“failed to mount exist system path”,应如何处理?
- 如何获取上传的文件?
- 同步调用响应未收到的可能原因?
- os.system("command &")执行日志未采集,应如何处理?
- 自定义运行时,都能操作哪些目录?
- 运行时语言支持的python3.6和3.9具体指哪个版本?
- 用户想使用vpc功能,但不想配置VPC Administrator委托,应配置哪些授权项?
- 函数执行超时的可能原因有哪些?
- 如何获取函数代码?
- 是否有initializer的代码示例?
- 如何开启结构化日志查询
- 函数服务是否支持在函数中启动TCP的监听端口,通过EIP接收外部发送过来的TCP请求?
- 创建函数
- 触发器管理
- 依赖包管理
-
函数执行
- FunctionGraph函数的执行需要多长时间?
- FunctionGraph函数的执行包含了哪些过程?
- FunctiongGraph函数的并发处理过程是什么?
- FunctiongGraph函数如何处理长时间不执行的实例?
- 首次访问函数慢,如何优化?
- 怎样获取在函数运行过程中实际使用了多少内存?
- 为什么第一次请求会比较慢?
- 调用API时,报错怎么办?
- 如何读取函数的请求头?
- 为什么函数实际使用内存大于预估内存,甚至触发OOM?
- 函数内存超限返回“runtime memory limit exceeded”,如何查看内存占用大小?
- 如何定位自定义镜像执行失败“CrashLoopBackOff”的原因?
- 用户使用相同的镜像名更新镜像,预留实例无法自动更新,会一直使用老镜像,应如何处理?
- 函数配置
- 函数访问外部资源
- 其他问题
-
通用问题
- 修订记录
- API参考(吉隆坡区域)
- 开发指南(吉隆坡区域)
-
用户指南(阿布扎比区域)
- 通用参考
链接复制成功!
配置磁盘挂载
概述
FuncitonGraph提供了文件系统挂载功能,多个函数可以通过共用一个文件系统,实现文件共享。相比于对单个函数实例分配的临时磁盘空间限制,可以极大扩展函数的执行和存储空间。
场景介绍
使用磁盘挂载功能需要开放如下端口:
- 111、445、2049、2051、2052、20048。
- 对于Ubuntu系统还需再开放3个端口,获取方式请在任意目录下执行如下命令。
rpcinfo -p|grep mountd|grep tcp
具体请参见弹性文件服务会占用用户的哪些资源。
目前FunctionGraph函数支持以下文件系统配置。
- SFS Turbo文件系统
SFS Turbo分为SFS Turbo标准型(500GB~32TB)、SFS Turbo标准型-增强版(10TB~320TB)、SFS Turbo性能型(500GB~32TB)和SFS Turbo性能型-增强版(10TB~320TB)。SFS Turbo为用户提供一个完全托管的共享文件存储,能够弹性伸缩至320TB规模,具备高可用性和持久性,为海量的小文件、低延迟高IOPS型应用提供有力支持。适用于多种应用场景,包括高性能网站、日志存储、压缩解压、DevOps、企业办公、容器应用等。详情请参见SFS产品介绍。
- ECS共享目录
ECS共享目录是通过nfs服务,把ECS上的指定目录设置为共享文件系统(详情请参见添加ECS共享目录),函数(和ECS相同的VPC配置)可以挂载对应目录进行读写等操作,实现计算资源的动态扩展。此类型适合业务不太频繁的场景。
使用文件系统挂载功能具有以下优势:
- 函数执行空间相比于/tmp,可以极大扩展存储空间。
- 多个函数之间可以共享访问已经配置好的文件系统。
- ECS计算资源动态扩展,利用ECS已有的存储能力实现更大的计算能力。
说明:
您可以在/tmp路径下写临时文件,最大不能超过10,240MB。
创建委托
为函数添加文件系统配置需要先给函数设置相关服务的委托。
创建委托时,委托类型选择云服务,云服务选择FunctionGraph,因为委托数目有限,而且目前界面上不支持修改,建议可以创建一个权限较大的委托(Tenant Administrator),可以支持在函数中操作当前区域内的所有资源,请参见配置委托权限。
添加sfs turbo文件系统
设置委托
挂载sfs turbo文件系统需要给函数设置委托(至少拥有sfs administrator以及VPC administrator权限)。如果没有对应权限的委托,需要新创建。
设置VPC
sfs turbo涉及VPC内部网络访问,添加sfs turbo文件系统前需要给函数配置sfs turbo对应的VPC。
添加挂载-SFS Turbo
添加sfs turbo和添加sfs过程相似,只要选好需要挂载的文件系统,设置好函数访问路径即可。
添加ECS共享目录
添加委托
挂载ECS共享目录需要给函数设置委托(至少拥有tenant guest以及VPC administrator权限),如果没有对应权限的委托,需要新创建,详情请参见创建委托。
配置VPC
添加ECS共享目录前,也需要给函数配置ECS对应的VPC,可以到ECS详情页的“基本信息”页签中查看“虚拟私有云”。单击虚拟私有云名称,进入虚拟私有云的详情页,查看子网。
获取到这两个信息后,可以在函数配置中配置对应的VPC。
添加挂载-ECS
需要在界面上输入ECS上的共享目录路径信息和函数访问路径。

后续操作
当函数挂载了文件系统配置后,对函数访问路径的读写就相当于对相关文件系统的读写。
如果把日志路径配置为函数访问路径的子目录,就可以轻松实现函数日志的持久化。
ECS创建nfs共享目录
- Linux系统
- CentOS、SUSE、Euler OS、Fedora或OpenSUSE等系统
- 配置yum源
①在/etc/yum.repos.d目录下创建文件euleros.repo(文件名可随意取,但是必须以“.repo”结尾)。
②使用如下命令进入euleros.repo编辑配置信息。
vi /etc/yum.repos.d/euleros.repo
Euler 2.0SP3 yum配置信息如下:
[base] name=EulerOS-2.0SP3 base baseurl=http://repo.cloud.com/euler/2.3/os/x86_64/ enabled=1 gpgcheck=1 gpgkey=http://repo.cloud.com/euler/2.3/os/RPM-GPG-KEY-EulerOS
Euler 2.0SP5 yum配置信息如下:
[base] name=EulerOS-2.0SP5 base baseurl=http://repo.cloud.com/euler/2.5/os/x86_64/ enabled=1 gpgcheck=1 gpgkey=http://repo.cloud.com/euler/2.5/os/RPM-GPG-KEY-EulerOS
说明:
参数说明
name:仓库的名称。
baseurl:仓库的地址。- 使用http协议的网络地址:http://path/to/repo
- 使用本地仓库地址:file:///path/to/local/repo
gpgcheck:表示是否进行gpg(GNU Private Guard)校验,以确定RPM包来源的有效性和安全性。gpgcheck设置为1表示进行gpg校验,0表示不进行gpg校验。如果没有这一项,默认是检查的。
③保存配置的repo文件。
④执行如下命令清理缓存。
yum clean all
- 使用如下命令安装nfs-utils
yum install nfs-utils
- 设置共享文件夹
打开/etc/exports,比如要把/sharedata目录设置为共享目录,可以填入如下内容:
/sharedata 192.168.0.0/24(rw,sync,no_root_squash)
说明:
上述内容的含义是:把/sharedata这个目录共享给192.168.0.0/24这个子网段的其他服务器。
命令输入完成后,可以执行命令exportfs -v 显示共享的目录,从而判断是否设置成功。
- 使用如下命令启动nfs服务
systemctl start rpcbind service nfs start
- 修改共享目录
比如需要新增/home/myself/download到共享目录,可以在/etc/exports中新增如下内容。
/home/myself/download 192.168.0.0/24(rw,sync,no_root_squash)
然后重启nfs服务。
service nfs restart
或者用如下命令,无需重启nfs服务。
exportfs -rv
- 设置rpcbind开机启动(可选)
systemctl enable rpcbind
- 配置yum源
- Ubuntu系统
- 使用如下命令安装nfs-kernel-server
sudo apt-get update sudo apt install nfs-kernel-server
- 设置共享文件夹
打开/etc/exports,比如要把/sharedata目录设置为共享目录,可以填入如下内容。
/sharedata 192.168.0.0/24(rw,sync,no_root_squash)
说明:
上述内容的含义是:把/sharedata这个目录共享给192.168.0.0/24这个子网段的其他服务器。
命令输入完成后,可以执行命令exportfs -v 显示共享的目录,从而判断是否设置成功。
- 启动nfs服务
service nfs-kernel-server restart
- 修改共享目录
比如需要新增/home/myself/download到共享目录,可以在/etc/exports中新增如下内容:
/home/myself/download 192.168.0.0/24(rw,sync,no_root_squash)
然后重启nfs服务
service nfs restart
或者用如下命令,无需重启nfs服务:
exportfs -rv
- 使用如下命令安装nfs-kernel-server
- CentOS、SUSE、Euler OS、Fedora或OpenSUSE等系统
- Windows系统
- 安装nfs server软件
目前可用的收费软件有:hanewin nfs server,可到对应官网下载。
免费的有:FreeNFS、winnfsd等,可到sourceforge上下载。
- 打开nfs功能
- 如果是winnfsd,可参见:https://github.com/winnfsd/winnfsd。
- 如果是hanewin nfs server,可以参见如下步骤。
- 以Windows系统管理员身份运行nfsctl.exe
- 在空白处右键,然后Insert,完成设置
图2 Insert