You need to enable JavaScript to run this app.
文档中心
函数服务

函数服务

复制全文
下载 pdf
Python 运行时
开发方法
复制全文
下载 pdf
开发方法
对于 Python 函数,veFaaS 使用您提供的index.py文件中定义的 handler 入口函数启动函数服务进程,对请求事件进行处理。Python 函数同时支持控制台在线编辑和上传代码包。在使用本地 Zip 文件上传、TOS 上传方法提交代码 Zip 包时,请确认 Zip 包的根目录下包含名为index.py的 Python 源码文件,文件内包含名为handler的入口函数,避免因无法查找到入口文件和入口函数导致的执行失败。​
Python 函数代码示例如下所示。​
​
import json​
​
def handler(event, context):​
# 函数业务逻辑 ​
return {​
"statusCode": 200,​
"headers": {​
"Content-Type": "application/json"​
},​
"body": json.dumps({​
"info": "hello veFaaS!"​
})​
}​
​
入口函数 handler​
handler 是函数请求处理逻辑的入口。handler 包含了您的核心业务逻辑,用于处理事件请求,并最终返回一个可选返回值。handler 函数的签名如下所示。​
​
def handler(event, context):​
# 函数业务逻辑 ​
return some_value # 可选返回值​
​
当 veFaaS 触发您的 handler 函数时,Python 运行时会向您的 handler 函数传递两个入参event和context。​
event 参数​
event 参数用于向您的 handler 函数传递触发事件数据。event 参数的类型为dict。​
event 参数的具体内容根据不同触发事件类型而变化,具体请参考 触发器事件消息结构。​
context 参数​
context 参数用于向您的 handler 函数传递运行时信息。context 参数的类型为object。​
  • 字段说明​
  • context 参数包含以下字段:​
  • ​
    字段​
    说明​
    request_id​
    系统自动生成的 request uuid,请从 handler 函数里传入的 context 中获取。​
    ​
  • 使用示例​
  • ​
    def handler(event, context):​
    print("Request ID:", context.request_id)​
    ​
返回值​
函数 handler 可返回一个dict类型的可选返回值。返回值中,只有statusCode、headers、body三个键值对最终会返回给请求方。​
如果您选择不返回任何值,veFaaS 会默认返回 200 的接口返回码。​
函数 handler 的返回值示例代码如下所示。​
​
{​
"statusCode": 200, # 返回码,语义同 http 状态码。默认值为 200。​
"headers": { # 可选值, http 触发器返回的请求 header 。​
"Content-Type": "application/json"​
},​
"body": json.dumps({ # 可选值, http 触发器返回的 body,​
"message": 'hello world'​
})​
}​
​
参数说明​
​
参数​
是否必填​
说明​
statusCode​
可选​
接口返回码,语义与通用的 HTTP status code 相同。​
若不填参数值,默认返回码为 200。​
headers​
可选​
返回消息头。包括如下二级参数:Content-Type:消息体类型,推荐使用默认值 application/json。​
body​
可选​
返回消息体。包括如下二级参数:message:返回消息内容。​
​
使用环境变量​
对于 veFaaS 函数,您可以在控制台配置函数运行时所需的环境变量,并在代码中读取对应的环境变量,用于函数处理逻辑。对于所配置的环境变量,veFaaS 会将其注入到函数运行所在的容器中,程序可以通过语言的内置库进行读取。​
例如:您函数配置中环境变量的键(key)为ENV_KEY,运行环境读取该环境变量的代码示例如下。​
​
import os​
​
env_value = os.environ.get('ENV_KEY')​
​
​
最近更新时间:2025.03.11 17:02:16
这个页面对您有帮助吗?
有用
有用
无用
无用