全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件

API 定义

更新时间:2017-09-01 15:05:12

Aliyun FunctionCompute API Specification

Overview

Version information

Version : 0.1

URI scheme

Host : $account-id.$region.fc.aliyuncs.com

BasePath : /2016-08-15

Schemes : HTTP, HTTPS

Tags

  • Service : Service相关的操作
  • Function : Function相关的操作
  • Trigger : Trigger相关的操作

Consumes

  • application/json

Produces

  • application/json

Resources

Service

Service相关的操作

CreateService

ListServices

GetService

UpdateService

DeleteService

Function

Function相关的操作

CreateFunction

ListFunctions

GetFunction

UpdateFunction

DeleteFunction

GetFunctionCode

InvokeFunction

Trigger

Trigger相关的操作

CreateTrigger

ListTriggers

GetTrigger

UpdateTrigger

DeleteTrigger

Operations

CreateFunction

  1. POST /services/{serviceName}/functions
Description

创建function

Parameters
Type Name Description Schema
Header Host
required
访问域名:$account-id.$region.fc.aliyuncs.com string
Path serviceName
required
service名称 string
Body body
required
function对象描述 Function
Responses
HTTP Code Description Schema
200 创建成功
Headers :
ETag (string) : function etag,用于更改function。以确保实际更改的function和期望更改的function是一致的.
FunctionResponse
400 请求无效,错误码:InvalidArgument Error
403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error
404 service不存在,错误码:ServiceNotFound Error
409 function已存在,错误码:FunctionAlreadyExists Error
500 服务内部错误,错误码:InternalServerError Error

CreateService

  1. POST /services
Description

创建service

Parameters
Type Name Description Schema
Header Host
required
访问域名:$account-id.$region.fc.aliyuncs.com string
Body body
required
service对象描述 Service
Responses
HTTP Code Description Schema
200 创建成功
Headers :
ETag (string) : service etag,用于更改service。以确保实际更改的service和期望更改的service是一致的.
ServiceResponse
400 请求无效,错误码:InvalidArgument Error
403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error
409 service已存在,错误码:ServiceAlreadyExists Error
500 服务内部错误,错误码:InternalServerError Error

CreateTrigger

  1. POST /services/{serviceName}/functions/{functionName}/triggers
Description

创建trigger

Parameters
Type Name Description Schema
Header Host
required
访问域名:$account-id.$region.fc.aliyuncs.com string
Path functionName
required
function名称 string
Path serviceName
required
service名称 string
Body body
required
trigger对象 Trigger
Responses
HTTP Code Description Schema
200 创建成功
Headers :
ETag (string) : trigger etag,用于更改trigger。以确保实际更改的trigger和期望更改的trigger是一致的.
TriggerResponse
400 请求无效,错误码:InvalidArgument Error
403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error
404 service或function不存在,错误码:ServiceNotFound,FunctionNotFound Error
500 服务内部错误,错误码:InternalServerError Error

DeleteFunction

  1. DELETE /services/{serviceName}/functions/{functionName}
Description

删除function

Parameters
Type Name Description Schema
Header Host
required
访问域名:$account-id.$region.fc.aliyuncs.com string
Header If-Match
optional
用于确保实际更改的资源和期望更改的资源是一致的,该值来自Create,Get和Update API的响应 string
Path functionName
required
function名称 string
Path serviceName
required
service名称 string
Responses
HTTP Code Description Schema
204 删除成功 No Content
400 请求无效,错误码:InvalidArgument Error
403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error
404 service或function不存在,错误码:ServiceNotFound,FunctionNotFound Error
409 function非空,包含至少一个trigger,错误码:FunctionNotEmpty Error
500 服务内部错误,错误码:InternalServerError Error

DeleteService

  1. DELETE /services/{serviceName}
Description

删除service

Parameters
Type Name Description Schema
Header Host
required
访问域名:$account-id.$region.fc.aliyuncs.com string
Header If-Match
optional
用于确保实际更改的资源和期望更改的资源是一致的,该值来自Create,Get和Update API的响应 string
Path serviceName
required
service名称 string
Responses
HTTP Code Description Schema
204 删除成功 No Content
400 请求无效,错误码:InvalidArgument Error
403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error
404 service不存在,错误码:ServiceNotFound Error
409 service非空,错误码:ServiceNotEmpty Error
500 服务内部错误,错误码:InternalServerError Error

DeleteTrigger

  1. DELETE /services/{serviceName}/functions/{functionName}/triggers/{triggerName}
Description

删除trigger

Parameters
Type Name Description Schema
Header Host
required
访问域名:$account-id.$region.fc.aliyuncs.com string
Header If-Match
optional
用于确保实际更改的资源和期望更改的资源是一致的,该值来自Create,Get和Update API的响应 string
Path functionName
required
function名称 string
Path serviceName
required
service名称 string
Path triggerName
required
trigger名称 string
Responses
HTTP Code Description Schema
204 删除成功 No Content
400 请求无效,错误码:InvalidArgument Error
403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error
404 service,function,trigger不存在,错误码:ServiceNotFound,FunctionNotFound,TriggerNotFound Error
500 服务内部错误,错误码:InternalServerError Error

GetFunction

  1. GET /services/{serviceName}/functions/{functionName}
Description

获取function信息

Parameters
Type Name Description Schema
Header Host
required
访问域名:$account-id.$region.fc.aliyuncs.com string
Path functionName
required
function名称 string
Path serviceName
required
service名称 string
Responses
HTTP Code Description Schema
200 请求成功
Headers :
ETag (string) : function etag,用于更改function。以确保实际更改的function和期望更改的function是一致的.
FunctionResponse
400 请求无效,错误码:InvalidArgument Error
403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error
404 service或function不存在,错误码:ServiceNotFound,FunctionNotFound Error
500 服务内部错误,错误码:InternalServerError Error

GetFunctionCode

  1. GET /services/{serviceName}/functions/{functionName}/code
Description

获取Function代码

Parameters
Type Name Description Schema
Header Host
required
访问域名:$account-id.$region.fc.aliyuncs.com string
Path functionName
required
function名称 string
Path serviceName
required
service名称 string
Responses
HTTP Code Description Schema
200 请求成功 FunctionCodeResponse
403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error
404 service或function不存在,错误码:ServiceNotFound,FunctionNotFound Error
500 服务内部错误,错误码:InternalServerError Error

GetService

  1. GET /services/{serviceName}
Description

获取service信息

Parameters
Type Name Description Schema
Header Host
required
访问域名:$account-id.$region.fc.aliyuncs.com string
Path serviceName
required
service名称 string
Responses
HTTP Code Description Schema
200 请求成功
Headers :
ETag (string) : service etag,用于更改service。以确保实际更改的service和期望更改的service是一致的.
ServiceResponse
400 请求无效,错误码:InvalidArgument Error
403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error
404 service不存在,错误码:ServiceNotFound Error
500 服务内部错误,错误码:InternalServerError Error

GetTrigger

  1. GET /services/{serviceName}/functions/{functionName}/triggers/{triggerName}
Description

获取trigger信息

Parameters
Type Name Description Schema
Header Host
required
访问域名:$account-id.$region.fc.aliyuncs.com string
Path functionName
required
function名称 string
Path serviceName
required
service名称 string
Path triggerName
required
trigger名称 string
Responses
HTTP Code Description Schema
200 请求成功
Headers :
ETag (string) : trigger etag,用于更改trigger。以确保实际更改的trigger和期望更改的trigger是一致的.
TriggerResponse
400 请求无效,错误码:InvalidArgument Error
403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error
404 service,function,trigger不存在,错误码:ServiceNotFound,FunctionNotFound,TriggerNotFound Error
500 服务内部错误,错误码:InternalServerError Error

InvokeFunction

  1. POST /services/{serviceName}/functions/{functionName}/invocations
Description

同步或异步调用function

Parameters
Type Name Description Schema Default
Header Host
required
访问域名:$account-id.$region.fc.aliyuncs.com string
Header X-Fc-Invocation-Type
optional
调用方式:Sync或者Async string "Sync"
Path functionName
required
function名称 string
Path serviceName
required
service名称 string
Body body
required
事件(event),binary type。函数计算服务将event传递给用户function来处理 object
Responses
HTTP Code Description Schema
200 同步调用成功,返回函数结果
Headers :
X-Fc-Error-Type (string) : 调用function的错误类型,分为HandledInvocationError和UnhandledInvocationError两种。.
InvokeResponse
202 异步调用,服务器已接受请求但可能尚未处理 No Content
403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error
404 service或function不存在,错误码:ServiceNotFound,FunctionNotFound Error
500 服务内部错误,错误码:InternalServerError Error

ListFunctions

  1. GET /services/{serviceName}/functions
Description

获取function列表

Parameters
Type Name Description Schema Default
Header Host
required
访问域名:$account-id.$region.fc.aliyuncs.com string
Path serviceName
required
service名称 string
Query limit
optional
限定此次返回资源的数量。如果不设定,默认返回20,最大不能超过100。返回结果可能小于指定的数量,但不会多于指定的数量 integer (int32) 20
Query nextToken
optional
用来返回更多结果。第一次查询不需要提供这个参数,后续查询的token从返回结果中获取 string
Query prefix
optional
限定返回的资源名称必须以prefix作为前缀 string
Query startKey
optional
设定结果从startKey之后(包括startKey)按字母排序的第一个开始返回 string
Responses
HTTP Code Description Schema
200 请求成功 Response 200
400 请求无效,错误码:InvalidArgument Error
403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error
404 service不存在,错误码:ServiceNotFound Error
500 服务内部错误,错误码:InternalServerError Error

Response 200

Name Schema
functions
optional
< functions > array
nextToken
optional
NextToken

functions

Name Description Schema
codeChecksum
optional
function code包的CRC64值
Example : "5434025278388143772"
string
codeSize
optional
系统返回的function的code包大小,单位为byte
Example : 1024
integer (int64)
createdTime
optional
function创建时间
Example : "2016-08-15T15:00:00.000+0000"
string
description
optional
Example : "This is a demo hello world function." string
functionId
optional
系统为每个function生成的唯一ID
Example : "2d28e0e9-9ba5-4eed-8b1a-d3d9cd24e737"
string
functionName
optional
Example : "helloworld" string
handler
optional
function的执行入口
Example : "hello_world.main"
string
lastModifiedTime
optional
function上次修改时间
Example : "2016-08-15T17:00:00.000+0000"
string
memorySize
optional
function设置的内存大小,单位为MB
Example : 512
integer (int32)
runtime
optional
function运行的语言环境,目前支持nodejs4.4
Example : "nodejs4.4"
string
timeout
optional
运行的超时时间,单位为秒
Example : 10
integer (int32)

ListServices

  1. GET /services
Description

获取service列表

Parameters
Type Name Description Schema Default
Header Host
required
访问域名:$account-id.$region.fc.aliyuncs.com string
Query limit
optional
限定此次返回资源的数量。如果不设定,默认返回20,最大不能超过100。返回结果可能小于指定的数量,但不会多于指定的数量 integer (int32) 20
Query nextToken
optional
用来返回更多结果。第一次查询不需要提供这个参数,后续查询的token从返回结果中获取 string
Query prefix
optional
限定返回的资源名称必须以prefix作为前缀 string
Query startKey
optional
设定结果从startKey之后(包括startKey)按字母排序的第一个开始返回 string
Responses
HTTP Code Description Schema
200 请求成功 Response 200
400 请求无效,错误码:InvalidArgument Error
403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error
500 服务内部错误,错误码:InternalServerError Error

Response 200

Name Schema
nextToken
optional
NextToken
services
optional
< services > array

services

Name Description Schema
createdTime
optional
service的创建时间
Example : "2016-08-15T16:06:05.000+0000"
string
description
optional
service的简短描述信息
Example : "This is a demo service."
string
lastModifiedTime
optional
service上次更新时间
Example : "2016-08-16T18:00:00.000+0000"
string
logConfig
optional
log配置,function产生的log会写入这里配置的logstore LogConfig
role
optional
授予函数计算所需权限的RAM role, 使用场景包含 1. 从用户 bucket 中 copy function code 2. 把 function产生的 log 发送到用户的 logstore 中 3. 为function 在执行中访问其它云资源生成 token
Example : "acs:ram::1234567890:role/fc-test"
string
serviceId
optional
系统为每个service生成的唯一ID
Example : "2d28e0e9-9ba5-4eed-8b1a-d3d9cd24e737"
string
serviceName
optional
Example : "demo-service" string

ListTriggers

  1. GET /services/{serviceName}/functions/{functionName}/triggers
Description

获取trigger列表

Parameters
Type Name Description Schema Default
Header Host
required
访问域名:$account-id.$region.fc.aliyuncs.com string
Path functionName
required
function名称 string
Path serviceName
required
service名称 string
Query limit
optional
限定此次返回资源的数量。如果不设定,默认返回20,最大不能超过100。返回结果可能小于指定的数量,但不会多于指定的数量 integer (int32) 20
Query nextToken
optional
用来返回更多结果。第一次查询不需要提供这个参数,后续查询的token从返回结果中获取 string
Query prefix
optional
限定返回的资源名称必须以prefix作为前缀 string
Query startKey
optional
设定结果从startKey之后(包括startKey)按字母排序的第一个开始返回 string
Responses
HTTP Code Description Schema
200 请求成功 Response 200
400 请求无效,错误码:InvalidArgument Error
403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error
404 service或function不存在,错误码:ServiceNotFound,FunctionNotFound Error
500 服务内部错误,错误码:InternalServerError Error

Response 200

Name Schema
nextToken
optional
NextToken
triggers
optional
< TriggerResponse > array

UpdateFunction

  1. PUT /services/{serviceName}/functions/{functionName}
Description

更新function

Parameters
Type Name Description Schema
Header Host
required
访问域名:$account-id.$region.fc.aliyuncs.com string
Header If-Match
optional
用于确保实际更改的资源和期望更改的资源是一致的,该值来自Create,Get和Update API的响应 string
Path functionName
required
function名称 string
Path serviceName
required
service名称 string
Body function
required
function更新对象描述 FunctionUpdateFields
Responses
HTTP Code Description Schema
200 请求成功
Headers :
ETag (string) : function etag,用于更改function。以确保实际更改的function和期望更改的function是一致的.
FunctionResponse
400 请求无效,错误码:InvalidArgument Error
403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error
404 service或function不存在,错误码:ServiceNotFound,FunctionNotFound Error
500 服务内部错误,错误码:InternalServerError Error

UpdateService

  1. PUT /services/{serviceName}
Description

更新service

Parameters
Type Name Description Schema
Header Host
required
访问域名:$account-id.$region.fc.aliyuncs.com string
Header If-Match
optional
用于确保实际更改的资源和期望更改的资源是一致的,该值来自Create,Get和Update API的响应 string
Path serviceName
required
service名称 string
Body body
required
service更新描述 ServiceUpdateFields
Responses
HTTP Code Description Schema
200 请求成功
Headers :
ETag (string) : service etag,用于更改service。以确保实际更改的service和期望更改的service是一致的.
ServiceResponse
400 请求无效,错误码:InvalidArgument Error
403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error
404 service不存在,错误码:ServiceNotFound Error
500 服务内部错误,错误码:InternalServerError Error

UpdateTrigger

  1. PUT /services/{serviceName}/functions/{functionName}/triggers/{triggerName}
Description

更新trigger

Parameters
Type Name Description Schema
Header Host
required
访问域名:$account-id.$region.fc.aliyuncs.com string
Header If-Match
optional
用于确保实际更改的资源和期望更改的资源是一致的,该值来自Create,Get和Update API的响应 string
Path functionName
required
function名称 string
Path serviceName
required
service名称 string
Path triggerName
required
trigger名称 string
Body body
required
更新字段描述 TriggerUpdateFields
Responses
HTTP Code Description Schema
200 请求成功
Headers :
ETag (string) : trigger etag,用于更改trigger。以确保实际更改的trigger和期望更改的trigger是一致的.
TriggerResponse
400 请求无效,错误码:InvalidArgument Error
403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error
404 service,function,trigger不存在,错误码:ServiceNotFound,FunctionNotFound,TriggerNotFound Error
500 服务内部错误,错误码:InternalServerError Error

Definitions

Code

支持两种方式提供code的zip包 1. 指定存储code zip包的ossBucketName和ossObjectName 2. 指定zipFile为zip包的base64编码内容, 在一次请求中必须且只能使用其中的一种。

Name Description Schema
ossBucketName
optional
function code包的bucket name string
ossObjectName
optional
code zip包的object name string
zipFile
optional
直接在request body中上传code zip包的base64编码 string

Error

系统返回的error对象

Name Description Schema
errorCode
optional
错误码 string
errorMessage
optional
详细的错误信息描述 string

Function

Name Description Schema
code
required
指定code zip包 Code
description
optional
string
functionName
required
function名称 string
handler
required
function执行的入口,具体格式和语言相关 string
memorySize
optional
function的内存规格,单位为MB,最小为128MB,最大1536MB,为64MB的倍数 integer
runtime
required
function的运行环境,目前支持nodejs4.4 string
timeout
optional
function运行的超时时间,单位为秒,最小1秒,最长5分钟,默认3秒。function超过这个时间后会被终止执行 integer

FunctionCodeResponse

Name Description Schema
checksum
optional
crc64 checksum
Example : "1234567890"
string
url
optional
Example : "http://func-code.oss-cn-shanghai.aliyuncs.com/1a2b3c4d5e6f" string

FunctionResponse

Name Description Schema
codeChecksum
optional
function code包的CRC64值
Example : "5434025278388143772"
string
codeSize
optional
系统返回的function的code包大小,单位为byte
Example : 1024
integer (int64)
createdTime
optional
function创建时间
Example : "2016-08-15T15:00:00.000+0000"
string
description
optional
Example : "This is a demo hello world function." string
functionId
optional
系统为每个function生成的唯一ID
Example : "2d28e0e9-9ba5-4eed-8b1a-d3d9cd24e737"
string
functionName
optional
Example : "helloworld" string
handler
optional
function的执行入口
Example : "hello_world.main"
string
lastModifiedTime
optional
function上次修改时间
Example : "2016-08-15T17:00:00.000+0000"
string
memorySize
optional
function设置的内存大小,单位为MB
Example : 512
integer (int32)
runtime
optional
function运行的语言环境,目前支持nodejs4.4
Example : "nodejs4.4"
string
timeout
optional
运行的超时时间,单位为秒
Example : 10
integer (int32)

FunctionUpdateFields

function可以更新的字段描述

Name Description Schema
code
optional
指定code zip包 Code
description
optional
string
handler
optional
function执行的入口,具体格式和语言相关 string
memorySize
optional
function的内存规格,单位为MB,最小为128MB,最大1536MB,为64MB的倍数,默认128MB integer
runtime
optional
function的运行环境,目前支持nodejs4.4 string
timeout
optional
function运行的超时时间,单位为秒,最小1秒,最长5分钟,默认3秒。function超过这个时间后会被终止执行 integer

InvokeResponse

invoke function返回的结果,函数具体的返回内容由用户解释

Type : binary

LogConfig

logging 配置

Name Description Schema
logstore
optional
loghub中的logstore名称 string
project
optional
loghub中的project名称 string

NextToken

用来返回更多的查询结果。如果这个值没有返回,则说明没有更多结果

Type : string

Service

service对象描述

Name Description Schema
description
optional
service的简短描述 string
logConfig
optional
log配置,function产生的log会写入这里配置的logstore LogConfig
role
optional
授予函数计算所需权限的RAM role, 使用场景包含 1. 从用户 bucket 中 copy function code 2. 把 function产生的 log 发送到用户的 logstore 中 3. 为function 在执行中访问其它云资源生成 token
Example : "acs:ram::1234567890:role/fc-test"
string
serviceName
required
service名称 string

ServiceResponse

Name Description Schema
createdTime
optional
service的创建时间
Example : "2016-08-15T16:06:05.000+0000"
string
description
optional
service的简短描述信息
Example : "This is a demo service."
string
lastModifiedTime
optional
service上次更新时间
Example : "2016-08-16T18:00:00.000+0000"
string
logConfig
optional
logging 配置,function产生的log会写入这里配置的logstore LogConfig
role
optional
授予函数计算所需权限的RAM role, 使用场景包含 1. 从用户 bucket 中 copy function code 2. 把 function产生的 log 发送到用户的 logstore 中 3. 为function 在执行中访问其它云资源生成 token
Example : "acs:ram::1234567890:role/fc-test"
string
serviceId
optional
系统为每个service生成的唯一ID
Example : "2d28e0e9-9ba5-4eed-8b1a-d3d9cd24e737"
string
serviceName
optional
Example : "demo-service" string

ServiceUpdateFields

service可更新字段描述

Name Description Schema
description
optional
string
logConfig
optional
log配置,function产生的log会写入这里配置的logstore LogConfig
role
optional
授予函数计算所需权限的RAM role, 使用场景包含 1. 从用户 bucket 中 copy function code 2. 把 function产生的 log 发送到用户的 logstore 中 3. 为function 在执行中访问其它云资源生成 token
Example : "acs:ram::1234567890:role/fc-test"
string

Trigger

Name Description Schema
invocationRole
required
event source,如OSS,使用该role去invoke function
Example : "acs:ram::1234567890:role/fc-test"
string
sourceArn
required
event source的Aliyun Resource Name(ARN)
Example : "acs:oss:cn-shanghai:12345:mybucket"
string
triggerConfig
required
trigger配置,针对不同的trigger类型,trigger配置会有所不同 object
triggerName
required
trigger名称
Example : "image_resize"
string
triggerType
required
trigger类型
Example : "oss"
string

TriggerResponse

Name Description Schema
createdTime
optional
创建时间
Example : "2016-08-15T15:00:00.000+0000"
string
invocationRole
optional
string
lastModifiedTime
optional
上次修改时间
Example : "2016-08-15T17:00:00.000+0000"
string
sourceArn
optional
string
triggerConfig
optional
object
triggerName
optional
string
triggerType
optional
string

TriggerUpdateFields

Name Description Schema
invocationRole
optional
event source,如OSS,使用该role去invoke function
Example : "acs:ram::1234567890:role/fc-test"
string
triggerConfig
optional
trigger配置,针对不同的trigger类型,trigger配置会有所不同 object
本文导读目录