开发事件函数
函数定义

建议使用Python 3.6版本。
对于Python,FunctionGraph运行时支持Python 2.7版本、Python 3.6、Python3.9版本。
函数有明确的接口定义,如下所示。
def handler (event, context)
- 入口函数名(handler):入口函数名称,需和函数执行入口处用户自定义的入口函数名称一致。
- 执行事件(event): 函数执行界面由用户输入的执行事件参数, 格式为JSON对象。
- 上下文环境(Context):Runtime提供的函数执行上下文,其接口定义在SDK接口说明。
Python的initializer入口介绍
FunctionGraph目前支持以下Python运行环境。
- Python 2.7 (runtime =python2.7)
- Python 3.6 (runtime =python3)
- Python 3.9(runtime =python3)
Initializer入口格式为:
[文件名].[initializer名]
示例:实现initializer接口时指定的Initializer入口为main.my_initializer,那么FunctionGraph会去加载main.py中定义的my_initializer函数。
在FunctionGraph中使用Python编写initializer,需要定义一个Python函数作为initializer入口,一个最简单的initializer(以Python 2.7版本为例)示例如下。
def my_initializer(context):
print 'hello world!' SDK接口
Context类中提供了许多上下文方法供用户使用,其声明和功能如表1所示。
方法名 | 方法说明 |
|---|---|
getRequestID() | 获取请求ID。 |
getRemainingTimeInMilliSeconds () | 获取函数剩余运行时间。 |
getAccessKey() | 获取用户委托的AccessKey(有效期24小时),使用该方法需要给函数配置委托。 说明: 当前函数工作流已停止维护Runtime SDK 中getAccessKey接口,您将无法使用getAccessKey获取临时AK。 |
getSecretKey() | 获取用户委托的SecretKey(有效期24小时),使用该方法需要给函数配置委托。 说明: 当前函数工作流已停止维护Runtime SDK 中getSecretKey接口,您将无法使用getSecretKey获取临时SK。 |
getSecurityAccessKey() | 获取用户委托的SecurityAccessKey(有效期24小时),使用该方法需要给函数配置委托。 |
getSecuritySecretKey() | 获取用户委托的SecuritySecretKey(有效期24小时),使用该方法需要给函数配置委托。 |
getSecurityToken() | 获取用户委托的SecurityToken(有效期24小时),使用该方法需要给函数配置委托。 |
getUserData(string key) | 通过key获取用户通过环境变量传入的值。 |
getFunctionName() | 获取函数名称。 |
getRunningTimeInSeconds () | 获取函数超时时间。 |
getVersion() | 获取函数的版本。 |
getMemorySize() | 分配的内存。 |
getCPUNumber() | 获取函数占用的CPU资源。 |
getPackage() | 获取函数组。 |
getToken() | 获取用户委托的token(有效期24小时),使用该方法需要给函数配置委托。 |
getLogger() | 获取context提供的logger方法,返回一个日志输出类,通过使用其info方法按“时间-请求ID-输出内容”的格式输出日志。 如调用info方法输出日志: log =context.getLogger() log.info("test") |
getAlias | 获取函数的别名 |

getToken()、getAccessKey()和getSecretKey()方法返回的内容包含敏感信息,请谨慎使用,避免造成用户敏感信息的泄露。
执行结果
执行结果由3部分组成:函数返回、执行摘要和日志。
参数项 | 执行成功 | 执行失败 |
|---|---|---|
函数返回 | 返回函数中定义的返回信息。 | 返回包含错误信息、错误类型和堆栈异常报错信息的JSON文件。格式如下: {
"errorMessage": "",
"errorType": "",
"stackTrace": []
} errorMessage:Runtime返回的错误信息 errorType:错误类型 stackTrace:Runtime返回的堆栈异常报错信息 |
执行摘要 | 显示请求ID、配置内存、执行时长、实际使用内存和收费时长。 | 显示请求ID、配置内存、执行时长、实际使用内存和收费时长。 |
日志 | 打印函数日志,最多显示4KB的日志。 | 打印报错信息,最多显示4KB的日志。 |

