调用CreateFunction接口创建函数。

请求头

该接口使用公共请求头及特殊请求头。本文已列出特殊请求头,公共请求头,请参见公共参数

名称 类型 是否必选 示例 描述
X-Fc-Code-Checksum String 5434025278388143772>

函数代码包的CRC-64值。

请求语法

POST /services/{serviceName}/functions HTTP/1.1

请求参数

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

服务的名称。

Object Body

函数的定义。

code Code Body

指定Code ZIP包。

customContainerConfig CustomContainerConfig Body

custom-container运行时的相关配置,配置后函数可以使用自定义容器镜像执行函数。

description String Body test_description

函数的描述。

functionName String Body function_name

函数的名称。

handler String Body index.handler

函数执行的入口,具体格式和语言相关,更多信息,请参见函数入口

initializationTimeout Integer Body 30

初始化函数运行的超时时间,单位为秒,默认3秒。最小1秒,最长5分钟。初始化函数超过这个时间后会被终止执行。

initializer String Body index.initializer

初始化函数执行的入口,具体格式与语言相关,更多信息,请参见Initializer函数

memorySize Integer Body 256

函数的内存规格,单位为MB,内存大小为64 MB的倍数。不同的函数实例类型,内存规格存在差异,具体信息,请参见实例规格

runtime String Body python3

函数运行的语言环境。当前支持nodejs4.4nodejs6nodejs8nodejs10nodejs12python2.7python3java8java11php7.2dotnetcore2.1customcustom-container

timeout Integer Body 60

函数运行的超时时间,单位为秒,默认60秒。最小1秒,最长10分钟。函数超过这个时间后会被终止执行。

caPort Integer Body 9000

Custom Runtime或Custom Container运行时HTTP Server的监听端口。

Code支持两种方式提供函数代码包,在一次请求中必须且只能使用其中一种。

  • 指定存储代码包的ossBucketName和ossObjectName。
  • 指定zipFile为ZIP包的Base64编码内容。

返回数据

名称 类型 示例值 描述
ETag String function_name

确保实际修改的函数和期望修改的函数是一致的。

codeChecksum String 2825179536350****

函数代码包的CRC-64值。

codeSize Long 421

系统返回的函数的代码包大小,单位为Byte。

createdTime String 2020-04-01T08:15:27Z

函数的创建时间。

customContainerConfig CustomContainerConfig

custom-container运行时的相关配置,配置后函数可以使用自定义容器镜像执行函数。

description String test_description

函数的描述。

environmentVariables Map

为函数设置的环境变量,可以在函数中获取环境变量的值。更多信息,请参见环境变量简介

functionId String aa715851-1c20-4b89-a8fb-***

系统为每个函数生成的ID,全网唯一。

functionName String function_name

函数的名称。

handler String index.handler

函数执行的入口,具体格式和语言相关,更多信息,请参见函数入口

lastModifiedTime Long 2020-04-01T08:15:27Z

函数上一次被更新的时间。

memorySize Integer 256

函数的内存规格,单位为MB,内存大小为64 MB的倍数。不同的函数实例类型,函数执行内存存在差异,具体信息,请参见实例规格

runtime String python3

函数运行的语言环境。当前支持nodejs4.4nodejs6nodejs8nodejs10nodejs12python2.7python3java8java11php7.2dotnetcore2.1customcustom-container

timeout Integer 60

函数运行的超时时间,单位为秒,默认60秒。最小1秒,最长10分钟。函数超过这个时间后会被终止执行。

initializationTimeout Integer 60

初始化函数运行的超时时间,单位为秒,默认3秒。最小1秒,最长5分钟。初始化函数超过这个时间后会被终止执行。

initializer String index.handler

初始化函数执行的入口,具体格式与语言相关,更多信息,请参见Initializer函数

caPort Integer 9000

Custom Runtime或Custom Container运行时HTTP Server的监听端口。

示例

请求示例

POST /2016-08-15/services/service_name/functions HTTP/1.1
公共请求头
{
    "functionName":"function_name",
    "runtime":"python3",
    "handler":"index.handler",
    "caPort":9000,
    "customContainerConfig": {
      "image": "registry-vpc.cn-hangzhou.aliyuncs.com/fc-demo/helloworld:v1beta1,
      "command": "["/code/myserver"]",
      "args": "["-arg1", "value1"]",
      "accelerationType": Default
    },
    "code":{
        "zipFile":"samplecode"
    },
    "memorySize":256,
    "timeout":60,
    "initializationTimeout":30,
    "environmentVariables":{
        "testKey":"TEST_KEY"
    }
}

正常返回示例

JSON格式

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

{
  "functionId": "aa715851-1c20-4b89-a8fb-***",
  "functionName": "function_name",
  "description": "test_description",
  "runtime": "python3",
  "handler": "index.handler",
  "timeout": 60,
  "initializer": "index.handler",
  "initializationTimeout": 30,
  "codeSize": 421,
  "caPort": 9000,
  "codeChecksum": "2825179536350****",
  "memorySize": 256,
  "customContainerConfig": {
    "image": "registry-vpc.cn-hangzhou.aliyuncs.com/fc-demo/helloworld:v1beta1,
      "command": "["/code/myserver"]",
      "args": "["-arg1", "value1"]",
      "accelerationType": Default
    },
  "environmentVariables": {
    "testKey": "TEST_KEY"
  },
  "createdTime": "2020-04-01T08:15:27Z",
  "lastModifiedTime": "2020-04-01T08:15:27Z",
  "instanceConcurrency": 1
}