函数引擎 API¶
秦岭基础 URL¶
本文档中所有 API 调用都需要使用 OpenStack Identity 服务进行身份验证。它们还需要从类型为 function-engine 的 Identity token 中提取一个 url。这将是构建完整路径时,所有以下调用将添加到的根 URL。
请注意,如果使用 OpenStack Identity 服务 API v2,url 可以通过 endpoint catalog 中的 adminURL、internalURL 或 publicURL 表示。在 Identity 服务 API v3 中,url 使用包含 admin、internal 和 public 的字段 interface 表示。
例如,如果 url 是 http://my-qinling-url.org/qinling/v1,那么对于 /functions 的完整 API 调用是 http://my-qinling-url.org/qinling/v1/functions。
根据部署情况,函数引擎 URL 可能是 http 或 https,自定义端口,自定义路径,并包含您的项目 ID。了解部署的 URL 的唯一方法是使用服务目录。容器服务 URL 绝不能在应用程序中硬编码,即使预计它们仅在一个站点上工作。它应始终从 Identity token 中发现。
因此,在本文档的其余部分,我们将使用简写,其中 GET /functions 实际上意味着 GET {your_qinling_url}/functions。
API 版本¶
显示所有启用的 API 版本
运行时¶
列出、创建、更新、显示详细信息和删除运行时。
运行时是编程语言支持。每个运行时都封装在一个容器镜像中,用于创建运行时容器。秦岭通过发送 HTTP 请求与容器通信,并在容器内部运行用户函数。
创建运行时。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
201 - 已创建 |
资源已创建并准备好使用。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
name |
body |
字符串 |
运行时名称 |
image |
body |
字符串 |
用于构建运行时的 Docker 镜像,例如“openstackqinling/python3-runtime” |
description (可选) |
body |
字符串 |
运行时的描述 |
is_public (可选) |
body |
bool |
使运行时公开或不公开,如果公开,则该运行时将可供所有租户使用。运行时默认公开。 |
trusted (可选) |
body |
bool |
定义运行时是否受信任,具体取决于该值,Kubernetes 将应用一些注释,例如 |
请求示例¶
{
"name": "python3",
"description": "Runtime Python3.7 ready for production.",
"image": "openstackqinling/python3-runtime",
"is_public:": true,
"trusted": true
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
uuid |
资源的 ID |
name |
body |
字符串 |
运行时名称 |
image |
body |
字符串 |
用于构建运行时的 Docker 镜像,例如“openstackqinling/python3-runtime” |
description (可选) |
body |
字符串 |
运行时的描述 |
is_public (可选) |
body |
bool |
使运行时公开或不公开,如果公开,则该运行时将可供所有租户使用。运行时默认公开。 |
trusted (可选) |
body |
bool |
定义运行时是否受信任,具体取决于该值,Kubernetes 将应用一些注释,例如 |
project_id |
body |
uuid |
拥有该资源的项目的 ID |
status |
body |
enum |
资源的的状态 |
created_at (可选) |
body |
时间戳 |
创建资源的时间/日期 |
updated_at (可选) |
body |
时间戳 |
资源上次更新的时间/日期 |
响应示例¶
{
"status": "creating",
"created_at": "2019-06-06 15:33:23.178645",
"description": "Runtime Python3.7 ready for production.",
"image": "openstackqinling/python3-runtime",
"updated_at": null,
"is_public": true,
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"id": "b351d3b6-8ccb-4f5b-b70f-58c72298a2ac",
"trusted": true,
"name": "python3"
}
列出运行时。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
uuid |
资源的 ID |
name |
body |
字符串 |
运行时名称 |
image |
body |
字符串 |
用于构建运行时的 Docker 镜像,例如“openstackqinling/python3-runtime” |
description (可选) |
body |
字符串 |
运行时的描述 |
is_public (可选) |
body |
bool |
使运行时公开或不公开,如果公开,则该运行时将可供所有租户使用。运行时默认公开。 |
trusted (可选) |
body |
bool |
定义运行时是否受信任,具体取决于该值,Kubernetes 将应用一些注释,例如 |
project_id |
body |
uuid |
拥有该资源的项目的 ID |
status |
body |
enum |
资源的的状态 |
created_at (可选) |
body |
时间戳 |
创建资源的时间/日期 |
updated_at (可选) |
body |
时间戳 |
资源上次更新的时间/日期 |
响应示例¶
[
{
"status": "available",
"description": "Runtime Python3.7 ready for production.",
"image": "openstackqinling/python3-runtime",
"updated_at": "2019-05-30 14:40:50",
"created_at": "2019-05-30 14:40:41",
"is_public": true,
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
"trusted": true,
"name": "python3"
},
{
"status": "available",
"description": "Runtime Python2.7 ready for production.",
"image": "openstackqinling/python2-runtime",
"updated_at": "2019-06-03 19:01:37",
"created_at": "2019-06-03 19:00:33",
"is_public": true,
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"id": "c4682a12-1a82-424d-b299-9b238fb6b694",
"trusted": true,
"name": "python2.7"
},
{
"status": "available",
"description": "Runtime Node.js 8.10 ready for production.",
"image": "openstackqinling/nodejs-runtime",
"updated_at": "2019-06-03 19:30:31",
"created_at": "2019-06-03 19:30:06",
"is_public": true,
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"id": "d3780197-d3a8-4961-8228-354ac7592e48",
"trusted": true,
"name": "nodejs8.10"
}
]
显示运行时。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
runtime_id |
路径 |
uuid |
运行时的 ID |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
uuid |
资源的 ID |
name |
body |
字符串 |
运行时名称 |
image |
body |
字符串 |
用于构建运行时的 Docker 镜像,例如“openstackqinling/python3-runtime” |
description (可选) |
body |
字符串 |
运行时的描述 |
is_public (可选) |
body |
bool |
使运行时公开或不公开,如果公开,则该运行时将可供所有租户使用。运行时默认公开。 |
trusted (可选) |
body |
bool |
定义运行时是否受信任,具体取决于该值,Kubernetes 将应用一些注释,例如 |
project_id |
body |
uuid |
拥有该资源的项目的 ID |
status |
body |
enum |
资源的的状态 |
created_at (可选) |
body |
时间戳 |
创建资源的时间/日期 |
updated_at (可选) |
body |
时间戳 |
资源上次更新的时间/日期 |
响应示例¶
{
"status": "available",
"description": "Runtime Python3.7 ready for production.",
"image": "openstackqinling/python3-runtime",
"updated_at": "2019-05-30 14:40:50",
"created_at": "2019-05-30 14:40:41",
"is_public": true,
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
"trusted": true,
"name": "python3"
}
显示运行时池。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
runtime_id |
body |
uuid |
运行时的 ID |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
name |
body |
uuid |
资源的 ID |
capacity (可选) |
body |
字符串 |
可用和当前使用的 worker 数量 |
响应示例¶
{
"capacity": {
"available": 3,
"total": 3
},
"name": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d"
}
更新运行时。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
runtime_id |
路径 |
uuid |
运行时的 ID |
name (可选) |
body |
字符串 |
运行时名称 |
image (可选) |
body |
字符串 |
用于构建运行时的 Docker 镜像,例如“openstackqinling/python3-runtime” |
description (可选) |
body |
字符串 |
运行时的描述 |
请求示例¶
{
"name": "python3",
"description": "Runtime Python3.7 ready for production.",
"image": "openstackqinling/python3-runtime"
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
uuid |
资源的 ID |
name |
body |
字符串 |
运行时名称 |
image |
body |
字符串 |
用于构建运行时的 Docker 镜像,例如“openstackqinling/python3-runtime” |
description (可选) |
body |
字符串 |
运行时的描述 |
is_public (可选) |
body |
bool |
使运行时公开或不公开,如果公开,则该运行时将可供所有租户使用。运行时默认公开。 |
trusted (可选) |
body |
bool |
定义运行时是否受信任,具体取决于该值,Kubernetes 将应用一些注释,例如 |
project_id |
body |
uuid |
拥有该资源的项目的 ID |
status |
body |
enum |
资源的的状态 |
created_at (可选) |
body |
时间戳 |
创建资源的时间/日期 |
updated_at (可选) |
body |
时间戳 |
资源上次更新的时间/日期 |
响应示例¶
{
"status": "available",
"description": "Runtime Python3.7 ready for production.",
"image": "openstackqinling/python3-runtime",
"updated_at": "2019-05-30 14:40:50",
"created_at": "2019-06-06 16:40:31",
"is_public": true,
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
"trusted": true,
"name": "python3"
}
删除运行时。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
204 - No Content |
服务器已通过删除资源来满足请求。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
runtime_id |
路径 |
uuid |
运行时的 ID |
响应参数¶
无
响应示例¶
Request to delete runtime 63f8f51d-7270-4545-abdd-f767ef8b1882 has been accepted.
函数¶
列出、创建、显示详细信息、下载、分离、更新、缩放和删除函数。
函数包含将在运行时中执行的源代码。函数内的源代码语言应与运行时匹配。
创建函数。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
201 - 已创建 |
资源已创建并准备好使用。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
name |
body |
字符串 |
函数名称 |
description (可选) |
body |
字符串 |
函数的描述 |
runtime_id |
body |
uuid |
函数使用的运行时 ID |
code |
body |
JSON |
源代码类型,例如“ |
entry |
body |
字符串 |
函数入口点,例如“ 如果源代码是“ |
cpu (可选) |
body |
整数 |
执行期间的最大 CPU 使用量 |
memory (可选) |
body |
整数 |
执行期间的最大内存使用量 |
timeout (可选) |
body |
整数 |
执行失败前的超时时间(秒) |
package (可选) |
body |
字符串 |
要上传的包,例如“ 仅当“ |
请求示例¶
Package¶
{
"code": {
"source": "package"
},
"description": "Hello World function from local package archive",
"memory_size": 33554432,
"timeout": 15,
"entry": "hello_world.main",
"cpu": 200,
"runtime_id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
"name": "hello_world"
}
curl -X POST http://127.0.0.1:7070/v1/functions \
-H "X-Auth-Token: gAAAAAB..." \
-F name=hello_world \
-F runtime_id=cbd9e85f-a1b2-4120-a2c7-57c90809ce7d \
-F code='{"source": "package"}' \
-F entry=hello_world.main \
-F cpu=200 \
-F memory=33000000 \
-F description="Hello World function based on a package" \
-F timeout=15 \
-F package=@/home/dev/hello_world.zip
Swift¶
{
"code": {
"source": "swift",
"swift": {
"object": "hello_world.py",
"container": "functions"
}
},
"description": "Hello World function from Swift",
"memory_size": 33554432,
"timeout": 15,
"entry": "hello_world.main",
"cpu": 200,
"runtime_id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
"name": "hello_world"
}
Image¶
{
"code": {
"source": "image",
"image": "docker-registry/hello-world"
},
"description": "Hello World from Docker image",
"memory_size": 33554432,
"timeout": 15,
"cpu": 200,
"runtime_id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
"name": "hello_world"
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
uuid |
资源的 ID |
name |
body |
字符串 |
函数名称 |
description (可选) |
body |
字符串 |
函数的描述 |
runtime_id |
body |
uuid |
函数使用的运行时 ID |
code |
body |
JSON |
源代码类型,例如“ |
entry |
body |
字符串 |
函数入口点,例如“ 如果源代码是“ |
cpu (可选) |
body |
整数 |
执行期间的最大 CPU 使用量 |
memory (可选) |
body |
整数 |
执行期间的最大内存使用量 |
timeout (可选) |
body |
整数 |
执行失败前的超时时间(秒) |
package (可选) |
body |
字符串 |
要上传的包,例如“ 仅当“ |
latest_version (可选) |
body |
整数 |
基于此函数创建的最新版本 |
count |
body |
整数 |
函数执行的总时间 |
project_id |
body |
uuid |
拥有该资源的项目的 ID |
created_at (可选) |
body |
时间戳 |
创建资源的时间/日期 |
updated_at (可选) |
body |
时间戳 |
资源上次更新的时间/日期 |
响应示例¶
Package¶
{
"count": 0,
"code": {
"source": "package",
"md5sum": "e439d00bab001d7ad7d1e0e451567699"
},
"description": "Hello World function from local package archive",
"created_at": "2019-06-10 01:15:02.108208",
"updated_at": null,
"latest_version": 0,
"id": "00f3b8ef-e794-4897-8a34-fa6a489d4ede",
"memory_size": 33554432,
"timeout": 15,
"entry": "hello_world.main",
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"cpu": 200,
"runtime_id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
"name": "hello_world"
}
Swift¶
{
"count": 0,
"code": {
"source": "swift",
"swift": {
"object": "hello_world.py",
"container": "functions"
}
},
"description": "Hello World function from Swift",
"created_at": "2019-06-10 01:43:53.909146",
"updated_at": null,
"latest_version": 0,
"id": "1127cb1a-938e-4262-b22f-d88f182624f6",
"memory_size": 33554432,
"timeout": 15,
"entry": "hello_world.main",
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"cpu": 200,
"runtime_id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
"name": "hello_world"
}
Image¶
{
"count": 0,
"code": {
"source": "image",
"image": "docker-registry/hello-world"
},
"description": "Hello World from Docker image",
"created_at": "2019-06-10 01:51:29.515424",
"updated_at": null,
"latest_version": 0,
"id": "28de9573-2397-4fa1-b627-60124395d1ff",
"memory_size": 33554432,
"timeout": 15,
"entry": null,
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"cpu": 200,
"runtime_id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
"name": "hello_world"
}
列出函数。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
uuid |
资源的 ID |
name |
body |
字符串 |
函数名称 |
description (可选) |
body |
字符串 |
函数的描述 |
runtime_id |
body |
uuid |
函数使用的运行时 ID |
code |
body |
JSON |
源代码类型,例如“ |
count |
body |
整数 |
函数执行的总时间 |
cpu (可选) |
body |
整数 |
执行期间的最大 CPU 使用量 |
memory (可选) |
body |
整数 |
执行期间的最大内存使用量 |
entry |
body |
字符串 |
函数入口点,例如“ 如果源代码是“ |
timeout (可选) |
body |
整数 |
执行失败前的超时时间(秒) |
project_id |
body |
uuid |
拥有该资源的项目的 ID |
created_at (可选) |
body |
时间戳 |
创建资源的时间/日期 |
updated_at (可选) |
body |
时间戳 |
资源上次更新的时间/日期 |
响应示例¶
[
{
"count": 7,
"code": "{\"source\": \"package\", \"md5sum\": \"648926b8a9705d3bd77cefdeca46a254\"}",
"description": "Function Hello World :)",
"created_at": "2019-06-06 18:59:02",
"timeout": 10,
"updated_at": null,
"cpu": 250,
"memory_size": 134217728,
"runtime_id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
"entry": "hello_world.main",
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"id": "22f62e09-e361-4481-b2da-22e3a4ed9a43",
"name": "hello_world"
},
{
"count": 0,
"code": "{\"source\": \"package\", \"md5sum\": \"e0309c12d355352cc92b5433bf293210\"}",
"description": "Function Goodbye World :(",
"created_at": "2019-06-06 19:04:30",
"timeout": 5,
"updated_at": "2019-06-06 19:04:30",
"cpu": 100,
"memory_size": 33554432,
"runtime_id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
"entry": "goodbye_world.main",
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"id": "2324a256-a249-4cec-968b-6ca7f99d805b",
"name": "goodbye_world"
}
]
显示函数。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
function_id |
路径 |
uuid |
函数的 ID |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
uuid |
资源的 ID |
name |
body |
字符串 |
函数名称 |
description (可选) |
body |
字符串 |
函数的描述 |
runtime_id |
body |
uuid |
函数使用的运行时 ID |
code |
body |
JSON |
源代码类型,例如“ |
count |
body |
整数 |
函数执行的总时间 |
cpu (可选) |
body |
整数 |
执行期间的最大 CPU 使用量 |
memory (可选) |
body |
整数 |
执行期间的最大内存使用量 |
entry |
body |
字符串 |
函数入口点,例如“ 如果源代码是“ |
timeout (可选) |
body |
整数 |
执行失败前的超时时间(秒) |
project_id |
body |
uuid |
拥有该资源的项目的 ID |
created_at (可选) |
body |
时间戳 |
创建资源的时间/日期 |
updated_at (可选) |
body |
时间戳 |
资源上次更新的时间/日期 |
响应示例¶
{
"count": 7,
"code": "{\"source\": \"package\", \"md5sum\": \"648926b8a9705d3bd77cefdeca46a254\"}",
"description": "Function Hello World :)",
"created_at": "2019-06-06 18:59:02",
"timeout": 10,
"updated_at": null,
"cpu": 250,
"memory_size": 134217728,
"runtime_id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
"entry": "hello_world.main",
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"id": "22f62e09-e361-4481-b2da-22e3a4ed9a43",
"name": "hello_world"
}
更新函数。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
function_id |
路径 |
uuid |
函数的 ID |
name (可选) |
body |
字符串 |
函数名称 |
description (可选) |
body |
字符串 |
函数的描述 |
runtime_id (可选) |
body |
uuid |
函数使用的运行时 ID |
code (可选) |
body |
JSON |
源代码类型,例如“ Package 函数无法更新此值。 |
entry (可选) |
body |
字符串 |
函数入口点,例如“ |
cpu (可选) |
body |
整数 |
执行期间的最大 CPU 使用量 |
memory (可选) |
body |
整数 |
执行期间的最大内存使用量 |
timeout (可选) |
body |
整数 |
执行失败前的超时时间(秒) |
package (可选) |
body |
字符串 |
要上传的包,例如“ 仅当“ |
count |
body |
整数 |
函数执行的总时间 |
请求示例¶
Package¶
{
"description": "Hello World function from local package archive",
"memory_size": 33554432,
"timeout": 15,
"entry": "hello_world.main",
"cpu": 200,
"runtime_id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
"name": "hello_world"
}
curl -X PUT http://127.0.0.1:7070/v1/functions/{function_id} \
-H "X-Auth-Token: gAAAAAB..." \
-F name=hello_world \
-F runtime_id=cbd9e85f-a1b2-4120-a2c7-57c90809ce7d \
-F entry=hello_world.main \
-F cpu=200 \
-F memory=33000000 \
-F description="Hello World function based on a package" \
-F timeout=15 \
-F package=@/home/dev/hello_world.zip
Swift¶
{
"code": {
"source": "swift",
"swift": {
"object": "hello_world.py",
"container": "functions"
}
},
"description": "Hello World function from Swift",
"memory_size": 33554432,
"timeout": 15,
"entry": "hello_world.main",
"cpu": 200,
"runtime_id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
"name": "hello_world"
}
Image¶
无法更新 image 函数。
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
uuid |
资源的 ID |
name |
body |
字符串 |
函数名称 |
description (可选) |
body |
字符串 |
函数的描述 |
runtime_id |
body |
uuid |
函数使用的运行时 ID |
code |
body |
JSON |
源代码类型,例如“ |
count |
body |
整数 |
函数执行的总时间 |
cpu (可选) |
body |
整数 |
执行期间的最大 CPU 使用量 |
memory (可选) |
body |
整数 |
执行期间的最大内存使用量 |
entry |
body |
字符串 |
函数入口点,例如“ 如果源代码是“ |
timeout (可选) |
body |
整数 |
执行失败前的超时时间(秒) |
project_id |
body |
uuid |
拥有该资源的项目的 ID |
created_at (可选) |
body |
时间戳 |
创建资源的时间/日期 |
updated_at (可选) |
body |
时间戳 |
资源上次更新的时间/日期 |
响应示例¶
Package¶
{
"count": 0,
"code": {
"source": "package",
"md5sum": "e439d00bab001d7ad7d1e0e451567699"
},
"description": "Hello World function from local package archive",
"created_at": "2019-06-10 01:15:02.108208",
"updated_at": "2019-06-10 01:15:02.115438",
"latest_version": 0,
"id": "00f3b8ef-e794-4897-8a34-fa6a489d4ede",
"memory_size": 33554432,
"timeout": 15,
"entry": "hello_world.main",
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"cpu": 200,
"runtime_id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
"name": "hello_world"
}
Swift¶
{
"count": 0,
"code": {
"source": "swift",
"swift": {
"object": "hello_world.py",
"container": "functions"
}
},
"description": "Hello World function from Swift",
"created_at": "2019-06-10 01:28:38",
"updated_at": "2019-06-10 02:22:27.663257",
"latest_version": 0,
"id": "ecdf3b0c-ac37-4ba8-a02c-5d60cf86cc8b",
"memory_size": 33554432,
"timeout": 15,
"entry": "hello_world.main",
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"cpu": 200,
"runtime_id": "cbd9e85f-a1b2-4120-a2c7-57c90809ce7d",
"name": "hello_world"
}
Image¶
无
下载函数。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
function_id |
路径 |
uuid |
函数的 ID |
响应参数¶
无
响应示例¶
Code package downloaded to /root/f8e7357f-af4a-4448-87d8-6fed4c7db5b5.zip
将函数从 worker 分离。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
function_id |
路径 |
uuid |
函数的 ID |
响应参数¶
无
响应示例¶
Request to detach function f8e7357f-af4a-4448-87d8-6fed4c7db5b5 has been accepted.
缩放函数。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
function_id |
路径 |
uuid |
函数的 ID |
count (可选) |
body |
整数 |
用于扩展函数的工作线程数量,默认值为 |
响应参数¶
无
响应示例¶
Request to scale up function 3e0e5bf8-ee7a-4fc8-9641-d1cbd9c60f46 has been accepted.
缩减函数规模。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
function_id |
路径 |
uuid |
函数的 ID |
count (可选) |
body |
整数 |
用于缩减函数规模的工作线程数量,默认值为 |
响应参数¶
无
响应示例¶
Request to scale down function 3e0e5bf8-ee7a-4fc8-9641-d1cbd9c60f46 has been accepted.
删除函数。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
204 - No Content |
服务器已通过删除资源来满足请求。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
function_id |
路径 |
uuid |
函数的 ID |
响应参数¶
无
响应示例¶
Request to delete function ff64180b-d41b-420e-9846-ee706c1548b0 has been accepted.
执行¶
列出、创建、显示详情和删除函数执行。
执行运行函数并存储函数的返回值。执行会获取返回值和打印输出。
创建执行。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
201 - 已创建 |
资源已创建并准备好使用。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
function_id |
body |
uuid |
函数的 ID,如果使用了别名,则不需要 |
function_alias (可选) |
body |
字符串 |
函数的别名(如果已创建别名) |
input (可选) |
body |
JSON |
传递给函数的输入数据,例如 |
description (可选) |
body |
字符串 |
执行的描述 |
function_version (可选) |
body |
整数 |
要执行的函数版本,默认值为 |
sync (可选) |
body |
bool |
执行是同步还是异步,默认值为 |
请求示例¶
{
"description": "The world should know Foo!",
"sync": true,
"function_version": 0,
"input": "{\"name\": \"foo\"}",
"function_id": "3e0e5bf8-ee7a-4fc8-9641-d1cbd9c60f46"
}
{
"description": "Execution of a function based on an alias",
"sync": true,
"input": "{\"name\": \"foo\"}",
"function_alias": "hq-production-function"
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
uuid |
资源的 ID |
function_id |
body |
uuid |
函数的 ID,如果使用了别名,则不需要 |
input (可选) |
body |
JSON |
传递给函数的输入数据,例如 |
description (可选) |
body |
字符串 |
执行的描述 |
function_version (可选) |
body |
整数 |
要执行的函数版本,默认值为 |
sync (可选) |
body |
bool |
执行是同步还是异步,默认值为 |
project_id |
body |
uuid |
拥有该资源的项目的 ID |
status |
body |
enum |
资源的的状态 |
created_at (可选) |
body |
时间戳 |
创建资源的时间/日期 |
updated_at (可选) |
body |
时间戳 |
资源上次更新的时间/日期 |
响应示例¶
{
"status": "success",
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"description": "The world should know Foo!",
"updated_at": "2019-06-06 23:13:37",
"created_at": "2019-06-06 23:13:37",
"sync": true,
"function_version": 0,
"result": "{\"duration\": 0.044, \"output\": \"Hello, bar\"}",
"input": "{\"name\": \"foo\"}",
"function_id": "3e0e5bf8-ee7a-4fc8-9641-d1cbd9c60f46",
"id": "62033613-6f02-4a6d-b569-7ba7fd18f8f7"
}
列出执行。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
uuid |
资源的 ID |
function_id |
body |
uuid |
函数的 ID,如果使用了别名,则不需要 |
input (可选) |
body |
JSON |
传递给函数的输入数据,例如 |
description (可选) |
body |
字符串 |
执行的描述 |
function_version (可选) |
body |
整数 |
要执行的函数版本,默认值为 |
sync (可选) |
body |
bool |
执行是同步还是异步,默认值为 |
project_id |
body |
uuid |
拥有该资源的项目的 ID |
status |
body |
enum |
资源的的状态 |
created_at (可选) |
body |
时间戳 |
创建资源的时间/日期 |
updated_at (可选) |
body |
时间戳 |
资源上次更新的时间/日期 |
响应示例¶
[
{
"status": "success",
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"description": null,
"created_at": "2019-06-06 21:05:39",
"sync": true,
"function_version": 0,
"result": "{\"duration\": 0.074, \"output\": \"Hello, World\"}",
"input": null,
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
"updated_at": "2019-06-06 21:05:41",
"id": "7dbb2ebc-9096-4e8e-9ded-0af8cd6cef60"
},
{
"status": "success",
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"description": "The world should know Foo!",
"created_at": "2019-06-06 23:15:30",
"sync": true,
"function_version": 0,
"result": "{\"duration\": 0.032, \"output\": \"Hello, bar\"}",
"input": "{\"name\": \"bar\"}",
"function_id": "3e0e5bf8-ee7a-4fc8-9641-d1cbd9c60f46",
"updated_at": "2019-06-06 23:15:30",
"id": "347bb366-95c9-49ab-8179-424c7b707124"
}
]
按筛选条件列出执行..
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
filter |
路径 |
字符串 |
执行筛选器,例如“ |
function_id |
路径 |
uuid |
函数的 ID |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
uuid |
资源的 ID |
function_id |
body |
uuid |
函数的 ID,如果使用了别名,则不需要 |
input (可选) |
body |
JSON |
传递给函数的输入数据,例如 |
description (可选) |
body |
字符串 |
执行的描述 |
function_version (可选) |
body |
整数 |
要执行的函数版本,默认值为 |
sync (可选) |
body |
bool |
执行是同步还是异步,默认值为 |
project_id |
body |
uuid |
拥有该资源的项目的 ID |
status |
body |
enum |
资源的的状态 |
created_at (可选) |
body |
时间戳 |
创建资源的时间/日期 |
updated_at (可选) |
body |
时间戳 |
资源上次更新的时间/日期 |
响应示例¶
[
{
"status": "success",
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"description": null,
"created_at": "2019-06-06 21:05:39",
"sync": true,
"function_version": 0,
"result": "{\"duration\": 0.074, \"output\": \"Hello, World\"}",
"input": null,
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
"updated_at": "2019-06-06 21:05:41",
"id": "7dbb2ebc-9096-4e8e-9ded-0af8cd6cef60"
},
{
"status": "success",
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"description": null,
"created_at": "2019-06-06 23:50:41",
"sync": true,
"function_version": 0,
"result": "{\"duration\": 0.183, \"output\": \"Hello, bar\"}",
"input": "{\"name\": \"bar\"}",
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
"updated_at": "2019-06-06 23:50:42",
"id": "9b6d0e80-7c4b-49d1-bf11-f16999433337"
}
]
显示执行。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
execution_id |
路径 |
uuid |
执行的 ID |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
uuid |
资源的 ID |
function_id |
body |
uuid |
函数的 ID,如果使用了别名,则不需要 |
input (可选) |
body |
JSON |
传递给函数的输入数据,例如 |
description (可选) |
body |
字符串 |
执行的描述 |
function_version (可选) |
body |
整数 |
要执行的函数版本,默认值为 |
sync (可选) |
body |
bool |
执行是同步还是异步,默认值为 |
project_id |
body |
uuid |
拥有该资源的项目的 ID |
status |
body |
enum |
资源的的状态 |
created_at (可选) |
body |
时间戳 |
创建资源的时间/日期 |
updated_at (可选) |
body |
时间戳 |
资源上次更新的时间/日期 |
响应示例¶
{
"status": "success",
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"description": "The world should know Foo!",
"created_at": "2019-06-06 23:15:30",
"sync": true,
"function_version": 0,
"result": "{\"duration\": 0.032, \"output\": \"Hello, bar\"}",
"input": "{\"name\": \"bar\"}",
"function_id": "3e0e5bf8-ee7a-4fc8-9641-d1cbd9c60f46",
"updated_at": "2019-06-06 23:15:30",
"id": "347bb366-95c9-49ab-8179-424c7b707124"
}
显示执行日志。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
execution_id |
路径 |
uuid |
执行的 ID |
响应参数¶
无
响应示例¶
Start execution: 347bb366-95c9-49ab-8179-424c7b707124
Hello, World!
Finished execution: 347bb366-95c9-49ab-8179-424c7b707124
删除执行。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
204 - No Content |
服务器已通过删除资源来满足请求。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
execution_id |
路径 |
uuid |
执行的 ID |
响应参数¶
无
响应示例¶
Request to delete execution 9b6d0e80-7c4b-49d1-bf11-f16999433337 has been accepted.
版本¶
列出、创建、分离、显示详情和删除版本。
函数版本就像 git 提交,它们是项目历史的快照。每个版本都有一个编号作为其 ID,从 1 开始递增,并且永远不会重复使用。函数的已发布版本的代码是不可变的(即无法更改)。因此,版本号对应于特定的一组函数代码。
创建版本。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
201 - 已创建 |
资源已创建并准备好使用。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
function_id |
路径 |
uuid |
函数的 ID |
description (可选) |
body |
字符串 |
版本的描述 |
请求示例¶
{
"description": "This version is ready for production"
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
uuid |
资源的 ID |
description (可选) |
body |
字符串 |
版本的描述 |
function_id |
body |
uuid |
函数的 ID |
count (可选) |
body |
整数 |
版本执行的总时间 |
version_number (可选) |
body |
整数 |
函数的版本 |
project_id |
body |
uuid |
拥有该资源的项目的 ID |
status |
body |
enum |
资源的的状态 |
created_at (可选) |
body |
时间戳 |
创建资源的时间/日期 |
updated_at (可选) |
body |
时间戳 |
资源上次更新的时间/日期 |
响应示例¶
{
"count": 0,
"version_number": 1,
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
"description": "This version is ready for production",
"created_at": "2019-06-07 01:23:16.278205",
"updated_at": null,
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"id": "45ebdcbf-6e2f-46c9-bd58-7f6ae01ecfcc"
}
列出版本。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
function_id |
路径 |
uuid |
函数的 ID |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
uuid |
资源的 ID |
description (可选) |
body |
字符串 |
版本的描述 |
function_id |
body |
uuid |
函数的 ID |
count (可选) |
body |
整数 |
版本执行的总时间 |
version_number (可选) |
body |
整数 |
函数的版本 |
project_id |
body |
uuid |
拥有该资源的项目的 ID |
status |
body |
enum |
资源的的状态 |
created_at (可选) |
body |
时间戳 |
创建资源的时间/日期 |
updated_at (可选) |
body |
时间戳 |
资源上次更新的时间/日期 |
响应示例¶
[
{
"count": 0,
"version_number": 1,
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"description": "This version is ready for production",
"created_at": "2019-06-07 01:23:16",
"updated_at": null,
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
"id": "45ebdcbf-6e2f-46c9-bd58-7f6ae01ecfcc"
},
{
"count": 0,
"version_number": 2,
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"description": "This version has not been tested yet",
"created_at": "2019-06-07 01:34:10",
"updated_at": null,
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
"id": "9490f863-020b-4746-8f30-9324cff31678"
}
]
显示版本。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
function_id |
路径 |
uuid |
函数的 ID |
version_number |
路径 |
整数 |
版本号 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
uuid |
资源的 ID |
description (可选) |
body |
字符串 |
版本的描述 |
function_id |
body |
uuid |
函数的 ID |
count (可选) |
body |
整数 |
版本执行的总时间 |
version_number (可选) |
body |
整数 |
函数的版本 |
project_id |
body |
uuid |
拥有该资源的项目的 ID |
status |
body |
enum |
资源的的状态 |
created_at (可选) |
body |
时间戳 |
创建资源的时间/日期 |
updated_at (可选) |
body |
时间戳 |
资源上次更新的时间/日期 |
响应示例¶
{
"count": 0,
"version_number": 1,
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
"description": "This version is ready for production",
"created_at": "2019-06-07 01:23:16",
"updated_at": null,
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"id": "45ebdcbf-6e2f-46c9-bd58-7f6ae01ecfcc"
}
分离版本。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
function_id |
路径 |
uuid |
函数的 ID |
version_number |
路径 |
整数 |
版本号 |
响应参数¶
无
响应示例¶
Request to detach function f8e7357f-af4a-4448-87d8-6fed4c7db5b5(version 1) has been accepted.
别名¶
列出、创建、更新、显示详情和删除别名。
函数别名是指向特定函数版本的指针。通过使用别名,您可以访问别名指向的函数的特定版本,而无需知道别名指向的特定版本。
创建别名。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
201 - 已创建 |
资源已创建并准备好使用。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
function_id |
body |
uuid |
函数的 ID |
版本 |
body |
整数 |
指向别名的函数版本 |
description (可选) |
body |
字符串 |
别名的描述 |
请求示例¶
{
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
"name": "hw-v2",
"function_version": 2,
"description": "Hello World, version 2"
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
uuid |
资源的 ID |
name |
body |
字符串 |
别名的名称 |
description (可选) |
body |
字符串 |
别名的描述 |
function_id |
body |
uuid |
函数的 ID |
version_number |
body |
整数 |
指向别名的函数版本 |
project_id |
body |
uuid |
拥有该资源的项目的 ID |
status |
body |
enum |
资源的的状态 |
created_at (可选) |
body |
时间戳 |
创建资源的时间/日期 |
updated_at (可选) |
body |
时间戳 |
资源上次更新的时间/日期 |
响应示例¶
{
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
"name": "hw-v2",
"created_at": "2019-06-07 02:07:06.572982",
"updated_at": null,
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"function_version": 2,
"description": "Hello World, version 2"
}
列出别名。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
uuid |
资源的 ID |
name |
body |
字符串 |
别名的名称 |
description (可选) |
body |
字符串 |
别名的描述 |
function_id |
body |
uuid |
函数的 ID |
version_number |
body |
整数 |
指向别名的函数版本 |
project_id |
body |
uuid |
拥有该资源的项目的 ID |
status |
body |
enum |
资源的的状态 |
created_at (可选) |
body |
时间戳 |
创建资源的时间/日期 |
updated_at (可选) |
body |
时间戳 |
资源上次更新的时间/日期 |
响应示例¶
[
{
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
"name": "hw-v2",
"created_at": "2019-06-07 02:07:06",
"updated_at": null,
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"function_version": 2,
"description": "Hello World, version 2"
},
{
"function_id": "ab003f7a-402a-4a2e-8f00-2f848bde800d",
"name": "hq-v1",
"created_at": "2019-06-07 02:15:16",
"updated_at": null,
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"function_version": 37,
"description": "Hello Qinling, version 37"
}
]
显示别名。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
name |
路径 |
字符串 |
别名的名称 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
uuid |
资源的 ID |
name |
body |
字符串 |
别名的名称 |
description (可选) |
body |
字符串 |
别名的描述 |
function_id |
body |
uuid |
函数的 ID |
version_number |
body |
整数 |
指向别名的函数版本 |
project_id |
body |
uuid |
拥有该资源的项目的 ID |
status |
body |
enum |
资源的的状态 |
created_at (可选) |
body |
时间戳 |
创建资源的时间/日期 |
updated_at (可选) |
body |
时间戳 |
资源上次更新的时间/日期 |
响应示例¶
{
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
"name": "hw-v2",
"created_at": "2019-06-07 02:07:06",
"updated_at": null,
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"function_version": 2,
"description": "Hello World, version 2"
}
更新别名。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
name |
路径 |
字符串 |
别名的名称 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
uuid |
资源的 ID |
name |
body |
字符串 |
别名的名称 |
description (可选) |
body |
字符串 |
别名的描述 |
function_id |
body |
uuid |
函数的 ID |
version_number |
body |
整数 |
指向别名的函数版本 |
project_id |
body |
uuid |
拥有该资源的项目的 ID |
status |
body |
enum |
资源的的状态 |
created_at (可选) |
body |
时间戳 |
创建资源的时间/日期 |
updated_at (可选) |
body |
时间戳 |
资源上次更新的时间/日期 |
请求示例¶
{
"function_id": "ab003f7a-402a-4a2e-8f00-2f848bde800d",
"name": "hq-v1",
"function_version": 38,
"description": "Hello Qinling, version 38"
}
响应示例¶
{
"function_id": "ab003f7a-402a-4a2e-8f00-2f848bde800d",
"name": "hq-v1",
"created_at": "2019-06-07 02:15:16",
"updated_at": "2019-06-07 02:32:14.097418",
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"function_version": 38,
"description": "Hello Qinling, version 38"
}
Webhook¶
列出、创建、更新、显示详情和删除 Webhook。
Webhook 是一种低成本的调用函数的方式。它们不需要机器人用户或身份验证即可使用。
创建 webhook。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
201 - 已创建 |
资源已创建并准备好使用。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
function_id |
body |
uuid |
函数的 ID,如果使用了别名,则不需要 |
function_alias (可选) |
body |
字符串 |
函数的别名(如果已创建别名) |
function_version (可选) |
body |
整数 |
函数的版本 |
description (可选) |
body |
字符串 |
webhook 的描述 |
请求示例¶
{
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
"description": "Webhook triggered by Jenkins",
"function_version": 2
}
{
"function_alias": "hq-production-function",
"description": "Webhook based on function alias triggered by Jenkins"
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
uuid |
资源的 ID |
description (可选) |
body |
字符串 |
webhook 的描述 |
function_id |
body |
uuid |
函数的 ID,如果使用了别名,则不需要 |
version_number (可选) |
body |
整数 |
函数的版本 |
webhook_url |
body |
字符串 |
Webhook URL |
project_id |
body |
uuid |
拥有该资源的项目的 ID |
created_at (可选) |
body |
时间戳 |
创建资源的时间/日期 |
updated_at (可选) |
body |
时间戳 |
资源上次更新的时间/日期 |
响应示例¶
{
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
"description": "Webhook triggered by Jenkins",
"created_at": "2019-06-07 14:53:22.989283",
"updated_at": null,
"function_version": 2,
"webhook_url": "http://127.0.0.1:7070/v1/webhooks/2aac6d93-c4d3-4fc6-9d3b-8852be0c8c89/invoke",
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"id": "2aac6d93-c4d3-4fc6-9d3b-8852be0c8c89"
}
列出 webhooks。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
uuid |
资源的 ID |
description (可选) |
body |
字符串 |
webhook 的描述 |
function_id |
body |
uuid |
函数的 ID,如果使用了别名,则不需要 |
version_number (可选) |
body |
整数 |
函数的版本 |
webhook_url |
body |
字符串 |
Webhook URL |
project_id |
body |
uuid |
拥有该资源的项目的 ID |
created_at (可选) |
body |
时间戳 |
创建资源的时间/日期 |
updated_at (可选) |
body |
时间戳 |
资源上次更新的时间/日期 |
响应示例¶
[
{
"function_id": "e47ca07c-b0cc-4501-901f-1c2e3df46724",
"description": "Webhook Hello World",
"created_at": "2019-06-07 02:48:16",
"updated_at": null,
"function_version": 0,
"webhook_url": "http://127.0.0.1:7070/v1/webhooks/726779f2-227f-43af-a891-4de85e8dadd5/invoke",
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"id": "726779f2-227f-43af-a891-4de85e8dadd5"
},
{
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
"description": "Webhook triggered by Jenkins",
"created_at": "2019-06-07 14:52:19",
"updated_at": null,
"function_version": 2,
"webhook_url": "http://127.0.0.1:7070/v1/webhooks/e3f34707-8fea-4d36-b558-e39b00b99105/invoke",
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"id": "e3f34707-8fea-4d36-b558-e39b00b99105"
}
]
显示一个 webhook。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
webhook_id |
路径 |
uuid |
webhook 的 ID |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
uuid |
资源的 ID |
description (可选) |
body |
字符串 |
webhook 的描述 |
function_id |
body |
uuid |
函数的 ID,如果使用了别名,则不需要 |
version_number (可选) |
body |
整数 |
函数的版本 |
webhook_url |
body |
字符串 |
Webhook URL |
project_id |
body |
uuid |
拥有该资源的项目的 ID |
created_at (可选) |
body |
时间戳 |
创建资源的时间/日期 |
updated_at (可选) |
body |
时间戳 |
资源上次更新的时间/日期 |
响应示例¶
{
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
"description": "Webhook triggered by Jenkins",
"created_at": "2019-06-07 14:52:19",
"updated_at": null,
"function_version": 2,
"webhook_url": "http://127.0.0.1:7070/v1/webhooks/e3f34707-8fea-4d36-b558-e39b00b99105/invoke",
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"id": "e3f34707-8fea-4d36-b558-e39b00b99105"
}
更新一个 webhook。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
webhook_id |
路径 |
uuid |
webhook 的 ID |
function_id |
body |
uuid |
函数的 ID,如果使用了别名,则不需要 |
function_alias (可选) |
body |
字符串 |
函数的别名(如果已创建别名) |
function_version (可选) |
body |
整数 |
函数的版本 |
description (可选) |
body |
字符串 |
webhook 的描述 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
uuid |
资源的 ID |
description (可选) |
body |
字符串 |
webhook 的描述 |
function_id |
body |
uuid |
函数的 ID,如果使用了别名,则不需要 |
version_number (可选) |
body |
整数 |
函数的版本 |
webhook_url |
body |
字符串 |
Webhook URL |
project_id |
body |
uuid |
拥有该资源的项目的 ID |
created_at (可选) |
body |
时间戳 |
创建资源的时间/日期 |
updated_at (可选) |
body |
时间戳 |
资源上次更新的时间/日期 |
请求示例¶
{
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
"description": "Webhook triggered by Gitlab",
"function_version": 2
}
{
"description": "Webhook based on function alias triggered by Gitlab",
"function_alias": "hq-staging-function"
}
响应示例¶
{
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
"description": "Webhook triggered by Gitlab",
"created_at": "2019-06-07 14:53:22",
"updated_at": "2019-06-07 18:06:42",
"function_version": 2,
"webhook_url": "http://127.0.0.1:7070/v1/webhooks/2aac6d93-c4d3-4fc6-9d3b-8852be0c8c89/invoke",
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"id": "2aac6d93-c4d3-4fc6-9d3b-8852be0c8c89"
}
删除一个 webhook。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
204 - No Content |
服务器已通过删除资源来满足请求。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
webhook_id |
路径 |
uuid |
webhook 的 ID |
响应参数¶
无
响应示例¶
Request to delete webhook 2aac6d93-c4d3-4fc6-9d3b-8852be0c8c89 has been accepted.
任务¶
列出、创建、更新、显示详情和删除任务。
任务允许基于时间段周期性地运行函数。时间段基于 cron 语法。
创建任务。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
201 - 已创建 |
资源已创建并准备好使用。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
name |
body |
字符串 |
任务名称 |
function_id |
body |
uuid |
函数的 ID,如果使用了别名,则不需要 |
function_alias (可选) |
body |
字符串 |
函数的别名(如果已创建别名) |
function_version (可选) |
body |
整数 |
要执行的函数版本,默认值为 |
function_input (可选) |
body |
JSON |
传递给函数的输入数据,例如 |
pattern |
body |
字符串 |
Cron 模式,例如“ |
count (可选) |
body |
整数 |
函数应该执行的次数,默认值为 |
请求示例¶
{
"count": 5,
"name": "every-minute",
"pattern": "* * * * *",
"function_version": 2,
"function_input": "{\"name\": \"Foo\"}",
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5"
}
{
"count": 5,
"name": "every-minute",
"pattern": "* * * * *",
"function_input": "{\"name\": \"Foo\"}",
"function_alias": "hq-production-function"
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
uuid |
资源的 ID |
name |
body |
字符串 |
任务名称 |
function_id |
body |
uuid |
函数的 ID,如果使用了别名,则不需要 |
function_version (可选) |
body |
整数 |
要执行的函数版本,默认值为 |
function_input (可选) |
body |
JSON |
传递给函数的输入数据,例如 |
pattern |
body |
字符串 |
Cron 模式,例如“ |
count (可选) |
body |
整数 |
函数应该执行的次数,默认值为 |
first_execution_time |
body |
字符串 |
函数将执行的第一次时间 |
next_execution_time |
body |
字符串 |
函数将执行的下一次时间 |
status |
body |
enum |
资源的的状态 |
project_id |
body |
uuid |
拥有该资源的项目的 ID |
created_at (可选) |
body |
时间戳 |
创建资源的时间/日期 |
updated_at (可选) |
body |
时间戳 |
资源上次更新的时间/日期 |
响应示例¶
{
"count": 5,
"status": "running",
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"name": "every-minute",
"pattern": "* * * * *",
"created_at": "2019-06-07 19:11:08.375646",
"updated_at": null,
"function_version": 2,
"first_execution_time": "2019-06-07 19:12:00",
"function_input": "{\"name\": \"Foo\"}",
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
"id": "dc7ef571-1f8d-4dc8-a659-fc86f80dd44c",
"next_execution_time": "2019-06-07 19:12:00"
}
列出任务。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
uuid |
资源的 ID |
name |
body |
字符串 |
任务名称 |
function_id |
body |
uuid |
函数的 ID,如果使用了别名,则不需要 |
function_version (可选) |
body |
整数 |
要执行的函数版本,默认值为 |
function_input (可选) |
body |
JSON |
传递给函数的输入数据,例如 |
pattern |
body |
字符串 |
Cron 模式,例如“ |
count (可选) |
body |
整数 |
函数应该执行的次数,默认值为 |
first_execution_time |
body |
字符串 |
函数将执行的第一次时间 |
next_execution_time |
body |
字符串 |
函数将执行的下一次时间 |
status |
body |
enum |
资源的的状态 |
project_id |
body |
uuid |
拥有该资源的项目的 ID |
created_at (可选) |
body |
时间戳 |
创建资源的时间/日期 |
updated_at (可选) |
body |
时间戳 |
资源上次更新的时间/日期 |
响应示例¶
[
{
"count": null,
"status": "running",
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"name": "every-minute",
"pattern": "0 0 * * SUN",
"created_at": "2019-06-07 19:18:50",
"updated_at": "2019-06-07 19:29:59",
"id": "697546a1-090c-48de-8ecd-ef4cdb9da7a9",
"first_execution_time": "2019-06-07 19:19:00",
"function_input": null,
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
"function_version": 2,
"next_execution_time": "2019-06-07 19:31:00"
},
{
"count": 0,
"status": "done",
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"name": "every-minute",
"pattern": "* * * * *",
"created_at": "2019-06-07 19:21:33",
"updated_at": "2019-06-07 19:25:59",
"id": "4e435c84-ab06-4ff5-8f05-b7ffe25c1224",
"first_execution_time": "2019-06-07 19:22:00",
"function_input": "{\"name\": \"Foo\"}",
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
"function_version": 0,
"next_execution_time": "2019-06-07 19:26:00"
}
]
显示任务。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
200 - 正常 |
请求成功。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
job_id |
路径 |
uuid |
任务的 ID |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
uuid |
资源的 ID |
name |
body |
字符串 |
任务名称 |
function_id |
body |
uuid |
函数的 ID,如果使用了别名,则不需要 |
function_version (可选) |
body |
整数 |
要执行的函数版本,默认值为 |
function_input (可选) |
body |
JSON |
传递给函数的输入数据,例如 |
pattern |
body |
字符串 |
Cron 模式,例如“ |
count (可选) |
body |
整数 |
函数应该执行的次数,默认值为 |
first_execution_time |
body |
字符串 |
函数将执行的第一次时间 |
next_execution_time |
body |
字符串 |
函数将执行的下一次时间 |
status |
body |
enum |
资源的的状态 |
project_id |
body |
uuid |
拥有该资源的项目的 ID |
created_at (可选) |
body |
时间戳 |
创建资源的时间/日期 |
updated_at (可选) |
body |
时间戳 |
资源上次更新的时间/日期 |
响应示例¶
{
"count": 0,
"status": "done",
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"name": "every-minute",
"pattern": "* * * * *",
"created_at": "2019-06-07 19:21:33",
"updated_at": "2019-06-07 19:25:59",
"id": "4e435c84-ab06-4ff5-8f05-b7ffe25c1224",
"first_execution_time": "2019-06-07 19:22:00",
"function_input": "{\"name\": \"Foo\"}",
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
"function_version": 0,
"next_execution_time": "2019-06-07 19:26:00"
}
更新任务。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
202 - Accepted |
请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
job_id |
路径 |
uuid |
任务的 ID |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
id |
body |
uuid |
资源的 ID |
name |
body |
字符串 |
任务名称 |
function_input (可选) |
body |
JSON |
传递给函数的输入数据,例如 |
pattern (可选) |
body |
字符串 |
Cron 模式,例如“ |
next_execution_time |
body |
字符串 |
函数将执行的下一次时间,例如“ |
status (可选) |
body |
字符串 |
任务状态,例如“ |
请求示例¶
{
"status": "paused",
"name": "every-minute",
"pattern": "* * * * *",
"function_input": "{\"name\": \"Foo\"}",
"next_execution_time": "2019-06-07 22:41:00"
}
响应示例¶
{
"count": null,
"status": "paused",
"project_id": "5eeb5916ae4b43699f06ea422e581b83",
"name": "every-minute",
"pattern": "* * * * *",
"created_at": "2019-06-07 19:18:50",
"updated_at": "2019-06-07 19:41:20.108254",
"function_version": 2,
"first_execution_time": "2019-06-07 19:19:00",
"function_input": "{\"name\": \"Foo\"}",
"function_id": "f8e7357f-af4a-4448-87d8-6fed4c7db5b5",
"id": "697546a1-090c-48de-8ecd-ef4cdb9da7a9",
"next_execution_time": "2019-06-07 22:41:00"
}
删除任务。
响应代码¶
成功¶
代码 |
原因 |
|---|---|
204 - No Content |
服务器已通过删除资源来满足请求。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
请求中的某些内容无效。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
请求¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
x-auth-token (可选) |
标头 |
字符串 |
用于从 Keystone 识别用户的 Token |
job_id |
路径 |
uuid |
任务的 ID |
响应参数¶
无
响应示例¶
Request to delete job 697546a1-090c-48de-8ecd-ef4cdb9da7a9 has been accepted.