import jsondef main_handler(event, context):print("Received event: " + json.dumps(event, indent = 2))print("Received context: " + str(context))return("Hello World")
index.main_handler,此处 index 表示执行的入口文件为 index.py ,main_handler 表示执行的入口函数为 main_handler 函数。在使用本地 zip 文件上传、COS 上传等方法提交代码 zip 包时,请确认 zip 包的根目录下包含有指定的入口文件,文件内有定义指定的入口函数,文件名和函数名和执行方法处填写的能够对应,避免因为无法查找到入口文件和入口函数导致的执行失败。return 来返回值,根据调用函数时的调用类型不同,返回值会有不同的处理方式。dict 对象:def main_handler(event, context):resp = {"isBase64Encoded": false,"statusCode": 200,"headers": {"Content-Type":"text/html","Key":["value1","value2","value3"]},"body": "<html><body><h1>Heading</h1><p>Paragraph.</p></body></html>"}return(resp)
raise Exception 的方式抛出异常。return 指定的信息。
在如下示例代码中,函数执行成功,则返回值为 Hello World。# -*- coding: utf8 -*-def main_handler(event, context):try:print("try exception")raise Exception("err msg")except Exception as e:print(e)return("Hello World")
# -*- coding: utf8 -*-def main_handler(event, context):print("try exception")raise Exception("err msg")return("Hello World")
{"errorCode":-1,"errorMessage":"user code exception caught","requestId":"a325b967-ef5b-4aa3-a329-c6bb0df72948","stackTrace":"Traceback (most recent call last):\\n File \\"/var/user/index.py\\", line 4, in main_handler\\n raise Exception(\\"err msg\\")\\nException: err msg","statusCode":430}
errorCode 字段标识错误为代码错误,errorMessage 字段标识错误具体说明,stackTrace 字段输出错误堆栈信息,statusCode 字段标识具体错误。statusCode 具体说明请参见 云函数状态码。文档反馈