更新时间:2024-03-21 GMT+08:00
分享

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"
}

相关文档