API方法
注册
http://${EXTENSION_API_ADDR}/extension/register
进程部署的扩展都需要在FunctionGraph注册成功后才能接收事件。您可以通过 EXTENSION_API_ADDR 环境变量得到FunctionGraph平台开放的提供注册的扩展API地址,例如对于Python,EXTENSION API 的获取方式为os.getenv("EXTENSION_API_ADDR ")。
路径
- /extension/register
方法
– POST
请求标头
FunctionGraph-Extension-Name – 扩展名的完整文件名。必需:是。类型:字符串。
FunctionGraph-Extension-Address – 该扩展用于接收调用事件的服务端地址。必需:是。类型:字符串。例如:127.0.0.1:8081。
- FunctionGraph需要使用扩展的完整文件名来验证扩展是否已完成引导启动,且扩展注册的请求头必须包含本扩展启动的httpServer的地址和端口。例如,请求头的格式为:
headers = { 'Content-type': 'application/json', 'FunctionGraph-Extension-Name': "extensionDemo.sh" 'FunctionGraph-Extension-Address': "127.0.0.1:8011" }
- 当前规定最多支持十个扩展,扩展启动的Server地址和端口限制为127.0.0.1:8081 ~ 127.0.0.1:8090,且每个扩展的端口不可重复。
主体参数
不做解析
响应代码
200 - 响应正文包含函数名称、函数版本和处理程序名称。
其他为错误请求
示例响应正文
{ "functionName": "helloWorld", "functionVersion": "$LATEST", "errorInfo": { "errorType": "", "errorMessage": "" } }
调用
http://${FunctionGraph-Extension-Address}/extension/invoke
在注册完成后,创建的httpServer的可以监听此路径,用于接收FunctionGraph函数请求调用事件。
路径
- /extension/register
方法
– POST
主体参数
traceId - 请求的requestID
invokedFunctionUrn - 请求调用的URN
响应代码
200 - 响应正文包含函数名称、函数版本和处理程序名称。
其他为错误请求
示例响应正文
{ "traceId": "3da1f2dc-3222-475e-9205-e2e6c6318895", "invokedFunctionUrn": "sn:cn:yrk:1111:function:0@test@hello:latest" }