调用InvokeFunction接口执行函数。

请求头

该接口无特殊请求头,关于公共请求头信息,请参见公共参数

名称 类型 是否必选 示例 描述
X-Fc-Invocation-Type String Sync

调用方式。取值说明如下:

  • Sync:同步调用。
  • Async:异步调用。
X-Fc-Log-Type String None

请求返回日志。

  • Tail:返回当前请求产生的最后4 KB日志。
  • None:默认值,不返回请求日志。
X-Fc-Stateful-Async-Invocation-Id String g6u*****iyvhd3jk8s6bhj0hh

异步任务ID。您需要事先开启异步任务。

说明 建议您在使用SDK调用时设置与业务相关的ID,方便对相关执行进行后续操作。例如,一个视频处理函数可以使用视频文件名作为调用ID,通过该ID可以查看视频是否处理完成或终止视频的处理。该ID的命名规则只能以英文大小写字母或下划线(_)开头,由英文大小写字母、数字(0-9)、下划线(_)及短划线(-)组成,不超过128个字符。如果您未设置异步调用的ID,系统则会自动生成一个ID。

请求语法

POST /services/{serviceName.qualifier}/functions/{functionName} HTTP/1.1

请求参数

名称 类型 位置 是否必选 示例值 描述
serviceName String Path service_name

服务的名称。

qualifier String Path LATEST

服务的版本或别名。

functionName String Path function_name

函数的名称。

String Body {"key1": "value1"}

函数的事件,类型为二进制Byte数组。函数计算将Event传递给用户函数处理。

返回数据

名称 类型 示例值 描述
X-Fc-Error-Type String UnhandledInvocationError

调用函数的错误类型。

  • HandledInvocationError:只有在Node.js中通过callback返回的错误是HandledInvocationError。更多信息,请参见错误处理
  • UnhandledInvocationError:除了HandledInvocationError,其余的错误都是UnhandledInvocationError。更多信息,请参见错误处理
X-Fc-Log-Result String demo log result

返回日志结果。

X-Fc-Code-Checksum String 5697641582914695457

函数代码包的CRC-64值。

X-Fc-Stateful-Async-Invocation-Id String g6u*****iyvhd3jk8s6bhj0hh

异步任务ID。您需要事先开启异步任务。

说明 建议您在使用SDK调用时设置与业务相关的ID,方便对相关执行进行后续操作。例如,一个视频处理函数可以使用视频文件名作为调用ID,通过该ID可以查看视频是否处理完成或终止视频的处理。该ID的命名规则只能以英文大小写字母或下划线(_)开头,由英文大小写字母、数字(0-9)、下划线(_)及短划线(-)组成,不超过128个字符。如果您未设置异步调用的ID时,系统则会自动生成一个ID。
X-Fc-Instance-Id String 7c43576b-48b1-4c3a-86e5-dcb01872****

函数实例的ID。

X-Fc-Request-Id String dab25e58-9356-4e3f-97d6-f044c4****

函数调用的请求ID。

X-Fc-Max-Memory-Usage String 9.2

函数执行消耗的内存,单位MB。

X-Fc-Invocation-Duration String 10

函数执行消耗的时长,单位毫秒。

X-Fc-Invocation-Service-Version String LATEST

调用函数的版本或者别名。

String hello world

调取函数返回的结果,函数具体的返回内容由您定义。

示例

请求示例

POST /services/{serviceName.qualifier}/functions/function_name HTTP/1.1
Host:fc-ram.aliyuncs.com
X-Fc-Invocation-Type:Sync
X-Fc-Log-Type:None
X-Fc-Stateful-Async-Invocation-Id:g6u*****iyvhd3jk8s6bhj0hh
Content-Type:application/json

{"key1": "value1"}

正常返回示例

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "result" : "hello world"
}