云服务器内容精选

  • 注册 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"}
  • 概述 您可以使用扩展API将函数与监控、可观察性、安全性和监管等工具集成,控制并参与 FunctionGraph生命周期的所有阶段。例如在函数调用之前、期间和之后捕获诊断信息;无需更改代码即可自动检测您的代码;在函数调用之前获取配置设置;通过安全代理检测功能发出警报;将遥测数据直接从函数异步发送到自定义目的地。 扩展作为独立进程在函数执行环境中运行。由于扩展作为进程运行,您可以使用不同于函数的语言来编写它们,建议您使用已编译的语言实现扩展。在这种情况下,扩展是一个独立的二进制文件,与支持的运行时兼容。如果使用非编译的语言,请确保和函数的运行时兼容。 当前http和事件类型函数支持扩展的使用,自定义镜像不支持。 您可以通过将扩展制作为依赖包的方式添加到函数。 父主题: 扩展API