- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
-
最佳实践
- FunctionGraph最佳实践汇总
-
数据处理类实践
- 使用FunctionGraph函数对OBS中的图片进行压缩
- 使用FunctionGraph函数为OBS中的图片打水印
- 使用FunctionGraph函数对DIS数据进行格式转换并存储到CloudTable
- 使用FunctionGraph函数实现通过API方式上传文件
- 使用FunctionGraph函数对IoTDA中的设备坐标数据进行转换
- 使用FunctionGraph函数对OBS中的文件进行加解密
- 使用FunctionGraph函数识别LTS中的异常业务日志并存储到OBS
- 使用FunctionGraph函数对LTS中的日志进行实时过滤
- 使用FunctionGraph函数流对OBS中的图片进行旋转
- 使用FunctionGraph函数流对图片进行压缩和打水印
- 功能应用类实践
- 函数构建类实践
- 开发指南
- API参考
- SDK参考
- 场景代码示例
-
常见问题
-
产品咨询
- 使用FunctionGraph是否需要开通计算、存储、网络等服务?
- 使用FunctionGraph开发程序之后是否需要部署?
- FunctionGraph为函数分配的磁盘空间有多少?
- 是否支持在函数中启动TCP的监听端口,通过EIP接收外部发送过来的TCP请求?
- 函数发起HTTP请求的源地址如何获取?
- FunctionGraph是否支持对上传的zip文件进行反编译?
- FunctionGraph的函数是否支持功能扩展?
- FunctionGraph中的代码是如何隔离的?
- 函数常规信息中的“应用”如何理解?
- 用户需要为函数的冷启动时间付费吗?
- 函数计费中的调用次数,是某一账号下在不同region的所有函数的调用次数总和吗?
- Python语言的函数从V1版本迁移到V2版本时需注意哪些兼容性问题?
- FunctionGraph函数支持哪些编程语言?
- 创建函数
-
配置函数
- 能否在函数环境变量中存储敏感信息?
- FunctionGraph的函数如何读写上传的文件?
- 为函数挂载文件系统时,报“failed to mount exist system path”
- FunctionGraph如何实现域名解析?
- FunctionGraph如何通过域名访问专享版APIG中注册的接口?
- FunctionGraph函数通过域名访问APIG中注册的接口时,报域名无法解析?
- 使用定制运行时语言的函数能操作哪些目录?
- FunctionGraph的函数支持哪些中文字体?
- 能否在函数代码中使用线程和进程?
- 函数如何访问MySQL数据库?
- 函数无法通过VPC连接对应的Redis?
- 如何读取函数的请求头?
- Python语言的函数中,中文注释报乱码错误
-
调用函数
- FunctionGraph的函数执行需要多长时间?
- FunctionGraph的函数执行包含了哪些过程?
- FunctionGraph函数长时间不执行时,相关的实例会如何处理?
- 如何获取函数运行过程中的内存使用量信息?
- 为什么首次调用函数时速度会比较慢?
- 为什么函数实际使用内存大于预估内存,甚至触发内存溢出OOM?
- 函数执行失败返回“runtime memory limit exceeded”时,如何查看内存占用大小?
- 自定义镜像函数执行失败报“CrashLoopBackOff”
- 同步调用函数时,未收到调用响应的可能原因?
- 函数中os.system("command &")命令的执行日志未采集,应如何处理?
- 函数执行超时的可能原因有哪些?
- 使用APIG触发器调用一个返回String的FunctionGraph函数时,报500错误
- Python2.7在执行reload(sys)后无法通过print打印日志
- 运行函数时报错error while loading shared libraries时如何处理?
- 配置触发器
- 配置依赖包
-
产品咨询
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
Yaml文件
Yaml完整配置
edition: 1.0.0 # 命令行YAML规范版本,遵循语义化版本(Semantic Versioning)规范 name: fg-test # 项目名称 access: "default" # 秘钥别名 vars: # 全局变量 region: "cn-east-3" functionName: "start-fg-event-nodejs14" services: component-test: # 服务名称 component: fgs # 组件名称 props: region: ${vars.region} function: functionName: ${vars.functionName} # 函数名 handler: index.handler # 函数执行入口 memorySize: 256 # 函数消耗的内存 timeout: 30 # 函数执行超时时间 runtime: Node.js14.18 # 运行时 agencyName: fgs-vpc-test # 委托名称 environmentVariables: # 环境变量 test: test hello: world vpcId: xxx-xxx # 虚拟私有云唯一标识 subnetId: xxx-xxx # 子网编号 concurrency: 10 # 单函数最大实例数 concurrentNum: 10 # 单实例最大并发数 codeType: zip # 函数代码类型 dependVersionList: # 依赖包,取依赖包的ID - xxx-xxx code: # 本地代码地址 codeUri: ./code trigger: triggerTypeCode: TIMER # 触发器类型 status: DISABLED # 触发器状态 eventData: # 触发器配置 name: APIG_test # API名称 groupName: APIGroup_xxx # 分组名称 auth: IAM # 安全认证 protocol: HTTPS # 请求协议 timeout: 5000 # 后端超时时间
参数名 |
必填 |
类型 |
参数描述 |
---|---|---|---|
functionName |
True |
String |
函数名称。 |
handler |
True |
String |
函数执行入口,规则:xx.xx,必须包含“.”。 |
runtime |
True |
String |
运行时。 目前支持如下:
|
package |
False |
String |
函数所属的分组Package,用于用户针对函数的自定义分组,默认为default。 |
memorySize |
True |
Number |
函数消耗的内存,单位M。 取值范围为:128、256、512、768、1024、1280、1536、1792、2048、2560、3072、3584、4096。 |
timeout |
True |
Number |
函数执行超时时间,超时函数将被强行停止,范围3~900秒。 |
Code Type |
True |
String |
函数代码类型。
|
codeUrl |
False |
String |
当CodeType为obs时,该值为函数代码包在OBS上的地址,CodeType为其他值时,该字段为空。 |
environmentVariables |
False |
环境变量。最多定义20个,总长度不超过4KB。 |
|
agencyName |
False |
String |
委托名称,需要IAM支持,并在IAM界面创建委托,当函数需要访问其他服务时,必须提供该字段。 |
vpcId |
False |
String |
虚拟私有云唯一标识。配置时,agencyName必填。虚拟私有云标识请登录虚拟私有云页面查看。 |
subnetId |
False |
String |
子网编号。配置时,agencyName必填。子网编号请登录虚拟私有云子网页面查看。 |
dependVersionList |
False |
List<String> |
依赖包,取依赖包的ID。 |
code |
False |
本地代码地址,当CodeType为zip时必填。 |
|
concurrency |
False |
Number |
单函数最大实例数,取值-1到1000。 -1代表该函数实例数无限制;0代表该函数被禁用。 |
concurrentNum |
False |
Number |
单实例最大并发数,取值-1到1000。 |
description |
False |
String |
function 的简短描述。 |
- Func Code参数说明:
表3 Func Code参数说明 参数名
必填
类型
参数描述
codeUri
True
String
本地代码地址
- Environment Variables参数说明:
当然不推荐通过明文将敏感信息写入到s.yaml。
function: functionName: event-function description: this is a test runtime: Node.js14.18 handler: index.handler memorySize: 128 timeout: 60 code: codeUri: ./code environmentVariables: test: 123 hello: world
triggers字段介绍
Yaml文件中triggers字段说明请参考表4。
参数名 |
必填 |
类型 |
参数描述 |
---|---|---|---|
triggerTypeCode |
True |
String |
触发器类型。 |
status |
False |
Enum |
触发器状态,取值为 ACTIVE、DISABLED,默认为 ACTIVE。 |
eventData |
True |
Struct |
- APIG触发器
表5 APIG参数说明 参数名
必填
类型
参数描述
name
False
String
API名称,默认使用函数名。
groupName
False
String
分组,默认选择当前第一个。
auth
False
Enum
安全认证,默认为 IAM。
protocol
False
Enum
请求协议,默认为 HTTPS。
分为两种类型:
- HTTP
- HTTPS
timeout
False
Number
后端超时时间,单位为毫秒,取值范围为 1 ~ 60000。默认为 5000。
参考案例:trigger: triggerTypeCode: APIG status: ACTIVE eventData: name: APIG_test groupName: APIGroup_xxx auth: IAM protocol: HTTPS timeout: 5000
- TIMER触发器
表6 TIMER参数说明 参数名
必填
类型
参数描述
name
False
String
定时器名称。
scheduleType
True
Enum
触发规则,取值为 Rate、Cron。
schedule
True
String
定时器规则内容。
userEvent
False
String
附加信息,如果用户配置了触发事件,会将该事件填写到TIMER事件源的“user_event”字段。
参考案例:trigger: triggerTypeCode: TIMER status: ACTIVE eventData: name: Timer-xxx scheduleType: Rate schedule: 3m userEvent: xxxx trigger: triggerTypeCode: TIMER status: ACTIVE eventData: name: Timer-xxx scheduleType: Cron schedule: 0 15 2 * * ? userEvent: xxxx