函数引擎 API

秦岭基础 URL

本文档中所有 API 调用都需要使用 OpenStack Identity 服务进行身份验证。它们还需要从类型为 function-engine 的 Identity token 中提取一个 url。这将是构建完整路径时,所有以下调用将添加到的根 URL。

请注意,如果使用 OpenStack Identity 服务 API v2,url 可以通过 endpoint catalog 中的 adminURLinternalURLpublicURL 表示。在 Identity 服务 API v3 中,url 使用包含 admininternalpublic 的字段 interface 表示。

例如,如果 urlhttp://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 版本

GET
/

列出所有 API 版本

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

请求

不需要参数

响应示例

{
  "versions": [
    {
      "status": "CURRENT",
      "id": "v1.0",
      "links": [
        {
          "href": "http://api-uat.ormuco.com:7070/v1",
          "target": "v1",
          "rel": "self"
        }
      ]
    }
  ]
}

运行时

列出、创建、更新、显示详细信息和删除运行时。

运行时是编程语言支持。每个运行时都封装在一个容器镜像中,用于创建运行时容器。秦岭通过发送 HTTP 请求与容器通信,并在容器内部运行用户函数。

POST
/v1/runtimes

创建运行时

创建运行时。

响应代码

成功

代码

原因

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 将应用一些注释,例如 io.kubernetes.cri-o.TrustedSandbox 在 pod 规范中,以选择底层的容器运行时。运行时默认受信任。

请求示例

{
  "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 将应用一些注释,例如 io.kubernetes.cri-o.TrustedSandbox 在 pod 规范中,以选择底层的容器运行时。运行时默认受信任。

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"
}
GET
/v1/runtimes

列出运行时

列出运行时。

响应代码

成功

代码

原因

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 将应用一些注释,例如 io.kubernetes.cri-o.TrustedSandbox 在 pod 规范中,以选择底层的容器运行时。运行时默认受信任。

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"
  }
]
GET
/v1/runtimes/{runtime_id}

显示运行时

显示运行时。

响应代码

成功

代码

原因

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 将应用一些注释,例如 io.kubernetes.cri-o.TrustedSandbox 在 pod 规范中,以选择底层的容器运行时。运行时默认受信任。

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"
}
GET
/v1/runtimes/{runtime_id}/pool

显示运行时池

显示运行时池。

响应代码

成功

代码

原因

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"
}
PUT
/v1/runtimes/{runtime_id}

更新运行时

更新运行时。

响应代码

成功

代码

原因

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 将应用一些注释,例如 io.kubernetes.cri-o.TrustedSandbox 在 pod 规范中,以选择底层的容器运行时。运行时默认受信任。

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"
}
DELETE
/v1/runtimes/{runtime_id}

删除运行时

删除运行时。

响应代码

成功

代码

原因

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.

函数

列出、创建、显示详细信息、下载、分离、更新、缩放和删除函数。

函数包含将在运行时中执行的源代码。函数内的源代码语言应与运行时匹配。

POST
/v1/functions

创建函数

创建函数。

响应代码

成功

代码

原因

201 - 已创建

资源已创建并准备好使用。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

请求

名称

入参

类型

描述

x-auth-token (可选)

标头

字符串

用于从 Keystone 识别用户的 Token

name

body

字符串

函数名称

description (可选)

body

字符串

函数的描述

runtime_id

body

uuid

函数使用的运行时 ID

code

body

JSON

源代码类型,例如“package”、“swift”、“image

entry

body

字符串

函数入口点,例如“hello_world.main

如果源代码是“image”,则不需要

cpu (可选)

body

整数

执行期间的最大 CPU 使用量

memory (可选)

body

整数

执行期间的最大内存使用量

timeout (可选)

body

整数

执行失败前的超时时间(秒)

package (可选)

body

字符串

要上传的包,例如“package=@./hello_world.zip

仅当“"code": {"source": "package"}”时才需要

请求示例

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

源代码类型,例如“package”、“swift”、“image

entry

body

字符串

函数入口点,例如“hello_world.main

如果源代码是“image”,则不需要

cpu (可选)

body

整数

执行期间的最大 CPU 使用量

memory (可选)

body

整数

执行期间的最大内存使用量

timeout (可选)

body

整数

执行失败前的超时时间(秒)

package (可选)

body

字符串

要上传的包,例如“package=@./hello_world.zip

仅当“"code": {"source": "package"}”时才需要

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"
}
GET
/v1/functions

列出函数

列出函数。

响应代码

成功

代码

原因

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

源代码类型,例如“package”、“swift”、“image

count

body

整数

函数执行的总时间

cpu (可选)

body

整数

执行期间的最大 CPU 使用量

memory (可选)

body

整数

执行期间的最大内存使用量

entry

body

字符串

函数入口点,例如“hello_world.main

如果源代码是“image”,则不需要

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"
  }
]
GET
/v1/functions/{function_id}

显示函数

显示函数。

响应代码

成功

代码

原因

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

源代码类型,例如“package”、“swift”、“image

count

body

整数

函数执行的总时间

cpu (可选)

body

整数

执行期间的最大 CPU 使用量

memory (可选)

body

整数

执行期间的最大内存使用量

entry

body

字符串

函数入口点,例如“hello_world.main

如果源代码是“image”,则不需要

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"
} 
PUT
/v1/functions/{function_id}

更新函数

更新函数。

响应代码

成功

代码

原因

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”、“swift”、“image

Package 函数无法更新此值。

entry (可选)

body

字符串

函数入口点,例如“hello_world.main

cpu (可选)

body

整数

执行期间的最大 CPU 使用量

memory (可选)

body

整数

执行期间的最大内存使用量

timeout (可选)

body

整数

执行失败前的超时时间(秒)

package (可选)

body

字符串

要上传的包,例如“package=@./hello_world.zip

仅当“"code": {"source": "package"}”时才需要

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

源代码类型,例如“package”、“swift”、“image

count

body

整数

函数执行的总时间

cpu (可选)

body

整数

执行期间的最大 CPU 使用量

memory (可选)

body

整数

执行期间的最大内存使用量

entry

body

字符串

函数入口点,例如“hello_world.main

如果源代码是“image”,则不需要

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

GET
/v1/functions/{function_id}?download=true

下载函数

下载函数。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

请求

名称

入参

类型

描述

x-auth-token (可选)

标头

字符串

用于从 Keystone 识别用户的 Token

function_id

路径

uuid

函数的 ID

响应参数

响应示例

Code package downloaded to /root/f8e7357f-af4a-4448-87d8-6fed4c7db5b5.zip
POST
/v1/functions/{function_id}/detach

将函数从 worker 分离

将函数从 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.
POST
/v1/functions/{function_id}/scale_up

缩放函数

缩放函数。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

请求

名称

入参

类型

描述

x-auth-token (可选)

标头

字符串

用于从 Keystone 识别用户的 Token

function_id

路径

uuid

函数的 ID

count (可选)

body

整数

用于扩展函数的工作线程数量,默认值为 1

响应参数

响应示例

Request to scale up function 3e0e5bf8-ee7a-4fc8-9641-d1cbd9c60f46 has been accepted.
POST
/v1/functions/{function_id}/scale_down

缩减函数规模

缩减函数规模。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

请求

名称

入参

类型

描述

x-auth-token (可选)

标头

字符串

用于从 Keystone 识别用户的 Token

function_id

路径

uuid

函数的 ID

count (可选)

body

整数

用于缩减函数规模的工作线程数量,默认值为 1

响应参数

响应示例

Request to scale down function 3e0e5bf8-ee7a-4fc8-9641-d1cbd9c60f46 has been accepted.
DELETE
/v1/functions/{function_id}

删除函数

删除函数。

响应代码

成功

代码

原因

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.

执行

列出、创建、显示详情和删除函数执行。

执行运行函数并存储函数的返回值。执行会获取返回值和打印输出。

POST
/v1/executions

创建执行

创建执行。

响应代码

成功

代码

原因

201 - 已创建

资源已创建并准备好使用。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

请求

名称

入参

类型

描述

x-auth-token (可选)

标头

字符串

用于从 Keystone 识别用户的 Token

function_id

body

uuid

函数的 ID,如果使用了别名,则不需要 function_id

function_alias (可选)

body

字符串

函数的别名(如果已创建别名)

input (可选)

body

JSON

传递给函数的输入数据,例如 {"name": "foo"}

description (可选)

body

字符串

执行的描述

function_version (可选)

body

整数

要执行的函数版本,默认值为 0。如果使用了别名,则不需要 function_version

sync (可选)

body

bool

执行是同步还是异步,默认值为 true

请求示例

{
  "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,如果使用了别名,则不需要 function_id

input (可选)

body

JSON

传递给函数的输入数据,例如 {"name": "foo"}

description (可选)

body

字符串

执行的描述

function_version (可选)

body

整数

要执行的函数版本,默认值为 0。如果使用了别名,则不需要 function_version

sync (可选)

body

bool

执行是同步还是异步,默认值为 true

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"
}
GET
/v1/executions

列出执行

列出执行。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

请求

名称

入参

类型

描述

x-auth-token (可选)

标头

字符串

用于从 Keystone 识别用户的 Token

响应参数

名称

入参

类型

描述

id

body

uuid

资源的 ID

function_id

body

uuid

函数的 ID,如果使用了别名,则不需要 function_id

input (可选)

body

JSON

传递给函数的输入数据,例如 {"name": "foo"}

description (可选)

body

字符串

执行的描述

function_version (可选)

body

整数

要执行的函数版本,默认值为 0。如果使用了别名,则不需要 function_version

sync (可选)

body

bool

执行是同步还是异步,默认值为 true

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"
  }
]
GET
/v1/executions?{filter}={function_id}

按筛选条件列出执行

按筛选条件列出执行..

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

请求

名称

入参

类型

描述

x-auth-token (可选)

标头

字符串

用于从 Keystone 识别用户的 Token

filter

路径

字符串

执行筛选器,例如“function_id, function_version 等…”

function_id

路径

uuid

函数的 ID

响应参数

名称

入参

类型

描述

id

body

uuid

资源的 ID

function_id

body

uuid

函数的 ID,如果使用了别名,则不需要 function_id

input (可选)

body

JSON

传递给函数的输入数据,例如 {"name": "foo"}

description (可选)

body

字符串

执行的描述

function_version (可选)

body

整数

要执行的函数版本,默认值为 0。如果使用了别名,则不需要 function_version

sync (可选)

body

bool

执行是同步还是异步,默认值为 true

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"
  }
]
GET
/v1/executions/{execution_id}

显示执行

显示执行。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

请求

名称

入参

类型

描述

x-auth-token (可选)

标头

字符串

用于从 Keystone 识别用户的 Token

execution_id

路径

uuid

执行的 ID

响应参数

名称

入参

类型

描述

id

body

uuid

资源的 ID

function_id

body

uuid

函数的 ID,如果使用了别名,则不需要 function_id

input (可选)

body

JSON

传递给函数的输入数据,例如 {"name": "foo"}

description (可选)

body

字符串

执行的描述

function_version (可选)

body

整数

要执行的函数版本,默认值为 0。如果使用了别名,则不需要 function_version

sync (可选)

body

bool

执行是同步还是异步,默认值为 true

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"
}
GET
/v1/executions/{execution_id}/log

显示执行日志

显示执行日志。

响应代码

成功

代码

原因

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
DELETE
/v1/executions/{execution_id}

删除执行

删除执行。

响应代码

成功

代码

原因

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 开始递增,并且永远不会重复使用。函数的已发布版本的代码是不可变的(即无法更改)。因此,版本号对应于特定的一组函数代码。

POST
/v1/functions/{function_id}/versions

创建版本

创建版本。

响应代码

成功

代码

原因

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"
}
GET
/v1/functions/{function_id}/versions

列出版本

列出版本。

响应代码

成功

代码

原因

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"
  }
]
GET
/v1/functions/{function_id}/versions/{version_number}

显示版本

显示版本。

响应代码

成功

代码

原因

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"
}
POST
/v1/functions/{function_id}/versions/{version_number}/detach

分离版本

分离版本。

响应代码

成功

代码

原因

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.
DELETE
/v1/functions/{function_id}/versions/{version_number}

删除版本

删除版本。

响应代码

成功

代码

原因

204 - No Content

服务器已通过删除资源来满足请求。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

请求

名称

入参

类型

描述

x-auth-token (可选)

标头

字符串

用于从 Keystone 识别用户的 Token

function_id

路径

uuid

函数的 ID

version_number

路径

整数

版本号

响应参数

响应示例

别名

列出、创建、更新、显示详情和删除别名。

函数别名是指向特定函数版本的指针。通过使用别名,您可以访问别名指向的函数的特定版本,而无需知道别名指向的特定版本。

POST
/v1/aliases

创建别名

创建别名。

响应代码

成功

代码

原因

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"
}
GET
/v1/aliases

列出别名

列出别名。

响应代码

成功

代码

原因

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"
  }
]
GET
/v1/aliases/{name}

显示别名

显示别名。

响应代码

成功

代码

原因

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"
}
PUT
/v1/aliases/{name}

更新别名

更新别名。

响应代码

成功

代码

原因

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"
}
DELETE
/v1/aliases/{name}

删除别名

删除别名。

响应代码

成功

代码

原因

204 - No Content

服务器已通过删除资源来满足请求。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

请求

名称

入参

类型

描述

x-auth-token (可选)

标头

字符串

用于从 Keystone 识别用户的 Token

name

路径

字符串

别名的名称

响应参数

响应示例

Request to delete function_alias hw-v2 has been accepted.

Webhook

列出、创建、更新、显示详情和删除 Webhook。

Webhook 是一种低成本的调用函数的方式。它们不需要机器人用户或身份验证即可使用。

POST
/v1/webhooks

创建 Webhook

创建 webhook。

响应代码

成功

代码

原因

201 - 已创建

资源已创建并准备好使用。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

请求

名称

入参

类型

描述

x-auth-token (可选)

标头

字符串

用于从 Keystone 识别用户的 Token

function_id

body

uuid

函数的 ID,如果使用了别名,则不需要 function_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,如果使用了别名,则不需要 function_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"
}
GET
/v1/webhooks

列出 webhooks

列出 webhooks。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

请求

名称

入参

类型

描述

x-auth-token (可选)

标头

字符串

用于从 Keystone 识别用户的 Token

响应参数

名称

入参

类型

描述

id

body

uuid

资源的 ID

description (可选)

body

字符串

webhook 的描述

function_id

body

uuid

函数的 ID,如果使用了别名,则不需要 function_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"
  }
]
GET
/v1/webhooks/{webhook_id}

显示一个 webhook

显示一个 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,如果使用了别名,则不需要 function_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"
}
PUT
/v1/webhooks/{webhook_id}

更新一个 webhook

更新一个 webhook。

响应代码

成功

代码

原因

202 - Accepted

请求已被接受处理,但处理尚未完成。响应中包含一个“location”头部,其中包含一个链接以检查请求的进度。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

请求

名称

入参

类型

描述

x-auth-token (可选)

标头

字符串

用于从 Keystone 识别用户的 Token

webhook_id

路径

uuid

webhook 的 ID

function_id

body

uuid

函数的 ID,如果使用了别名,则不需要 function_id

function_alias (可选)

body

字符串

函数的别名(如果已创建别名)

function_version (可选)

body

整数

函数的版本

description (可选)

body

字符串

webhook 的描述

响应参数

名称

入参

类型

描述

id

body

uuid

资源的 ID

description (可选)

body

字符串

webhook 的描述

function_id

body

uuid

函数的 ID,如果使用了别名,则不需要 function_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"
}
DELETE
/v1/webhooks/{webhook_id}

删除一个 webhook

删除一个 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 语法。

POST
/v1/jobs

创建任务

创建任务。

响应代码

成功

代码

原因

201 - 已创建

资源已创建并准备好使用。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

请求

名称

入参

类型

描述

x-auth-token (可选)

标头

字符串

用于从 Keystone 识别用户的 Token

name

body

字符串

任务名称

function_id

body

uuid

函数的 ID,如果使用了别名,则不需要 function_id

function_alias (可选)

body

字符串

函数的别名(如果已创建别名)

function_version (可选)

body

整数

要执行的函数版本,默认值为 0。如果使用了别名,则不需要 function_version

function_input (可选)

body

JSON

传递给函数的输入数据,例如 {"name": "foo"}

pattern

body

字符串

Cron 模式,例如“* * * * *” 等于每分钟

count (可选)

body

整数

函数应该执行的次数,默认值为 unlimited

请求示例

{
  "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_id

function_version (可选)

body

整数

要执行的函数版本,默认值为 0。如果使用了别名,则不需要 function_version

function_input (可选)

body

JSON

传递给函数的输入数据,例如 {"name": "foo"}

pattern

body

字符串

Cron 模式,例如“* * * * *” 等于每分钟

count (可选)

body

整数

函数应该执行的次数,默认值为 unlimited

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"
}
GET
/v1/jobs

列出任务

列出任务。

响应代码

成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

请求

名称

入参

类型

描述

x-auth-token (可选)

标头

字符串

用于从 Keystone 识别用户的 Token

响应参数

名称

入参

类型

描述

id

body

uuid

资源的 ID

name

body

字符串

任务名称

function_id

body

uuid

函数的 ID,如果使用了别名,则不需要 function_id

function_version (可选)

body

整数

要执行的函数版本,默认值为 0。如果使用了别名,则不需要 function_version

function_input (可选)

body

JSON

传递给函数的输入数据,例如 {"name": "foo"}

pattern

body

字符串

Cron 模式,例如“* * * * *” 等于每分钟

count (可选)

body

整数

函数应该执行的次数,默认值为 unlimited

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"
  }
]
GET
/v1/jobs/{job_id}

显示任务

显示任务。

响应代码

成功

代码

原因

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_id

function_version (可选)

body

整数

要执行的函数版本,默认值为 0。如果使用了别名,则不需要 function_version

function_input (可选)

body

JSON

传递给函数的输入数据,例如 {"name": "foo"}

pattern

body

字符串

Cron 模式,例如“* * * * *” 等于每分钟

count (可选)

body

整数

函数应该执行的次数,默认值为 unlimited

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"
}
PUT
/v1/jobs/{job_id}

更新任务

更新任务。

响应代码

成功

代码

原因

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

传递给函数的输入数据,例如 {"name": "foo"}

pattern (可选)

body

字符串

Cron 模式,例如“* * * * *” 等于每分钟

next_execution_time

body

字符串

函数将执行的下一次时间,例如“2019-06-07 22:41:00

status (可选)

body

字符串

任务状态,例如“paused, running, canceled, done

请求示例

{
  "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"
}
DELETE
/v1/jobs/{job_id}

删除任务

删除任务。

响应代码

成功

代码

原因

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.