函数是系统调度和运行的单位。函数必须从属于服务,一个服务下的所有函数都共享该服务的属性,例如授权,日志设置。
函数属性
在创建函数时,您需要指定下述信息:
- functionName(必选):函数的名字。在当前服务内唯一,并符合如下约束:由英文字符(a-z)或(A-Z),数字(0-9),下划线(_)和中划线(-)组成
- 首字母必须为英文字母(a-z)、(A-Z)或下划线(_)
- 大小写敏感
- 长度为1-128字符
runtime(必选):函数运行时类型。code(必选):代码包。必须是 zip 类型,可以存放在 OSS 上,或者直接上传。handler(必选):处理函数,它是函数计算系统运行用户函数的调用入口。description(可选):函数的描述。函数计算系统并不会使用该属性值,但建议您为服务设置一个简洁、清晰的描述。timeout(可选):函数的最大运行时间,单位为秒。MemorySize(可选):函数运行所需的内存资源,单位为 MB。取值范围为 [128, 1536],以 64 MB 为步长递进。
除函数名字外,其他属性均可后续修改。
支持的函数运行时列表
使用命令行工具创建和更新函数
在命令行工具的 shell 模式中,您可以使用 mkf/upf 命令创建/更新函数,并通过info命令查看函数属性。例如,我们要在 hello 服务下创建和更新名为 world 的函数:
- 创建服务 hello :mks hello
- 在本地实现一个简单的函数文件index.js,放在code文件夹下。[backcolor=transparent]'use strict'[backcolor=transparent];
- [backcolor=transparent]console[backcolor=transparent].[backcolor=transparent]log[backcolor=transparent]([backcolor=transparent]'loading function'[backcolor=transparent]);
- [backcolor=transparent]module[backcolor=transparent].[backcolor=transparent]exports[backcolor=transparent].[backcolor=transparent]handler [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]function[backcolor=transparent]([backcolor=transparent]event[backcolor=transparent],[backcolor=transparent] context[backcolor=transparent],[backcolor=transparent] callback[backcolor=transparent])[backcolor=transparent] [backcolor=transparent]{
- [backcolor=transparent] console[backcolor=transparent].[backcolor=transparent]log[backcolor=transparent]([backcolor=transparent]'Receive event:'[backcolor=transparent],[backcolor=transparent] [backcolor=transparent]event[backcolor=transparent].[backcolor=transparent]toString[backcolor=transparent]());
- [backcolor=transparent] callback[backcolor=transparent]([backcolor=transparent]null[backcolor=transparent],[backcolor=transparent] [backcolor=transparent]event[backcolor=transparent]);
- [backcolor=transparent]};
创建函数 world
- [backcolor=transparent]mkf hello[backcolor=transparent]/[backcolor=transparent]world [backcolor=transparent]-[backcolor=transparent]t nodejs6 [backcolor=transparent]-[backcolor=transparent]h index[backcolor=transparent].[backcolor=transparent]handler [backcolor=transparent]-[backcolor=transparent]d code
更新 world 的描述:upf hello/world --description "this is world function"查看 world 的属性:info hello/world