全部产品
Search
文档中心

函数计算:CreateFunction - 创建函数

更新时间:Nov 28, 2022

创建函数。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

调试

授权信息

当前API暂无授权信息透出。

请求参数

名称类型必填描述示例值
serviceNamestring

服务的名称。

serviceName
X-Fc-Account-Idstring

您的阿里云账号(主账号)ID。

188077086902****
functionobject

函数的定义。

codeCode

函数代码ZIP包。codecustomContainerConfig二选一。

customContainerConfigCustomContainerConfig

Custom Container运行时的相关配置,成功配置后函数可以使用自定义容器镜像执行函数。codecustomContainerConfig二选一。

layersarray

层的列表。

说明多个层会按照数组下标从大到小的顺序进行合并,下标小的层的内容会覆盖下标大的层的同名文件。
string

层资源的名称。

layerName
descriptionstring

函数的描述。

function-description
functionNamestring

函数的名称。只能包含字母、数字、下划线(_)和短划线(-),不能以数字、短划线(-)开头,长度范围为1~64个字符。

functionName
handlerstring

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

index.handler
initializationTimeoutinteger

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

60
initializerstring

初始化函数执行的入口。详细信息,请参见Initializer函数

index.initializer
memorySizeinteger

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

512
runtimestring

函数运行的语言环境。目前支持nodejs16nodejs14nodejs12nodejs10nodejs8nodejs6nodejs4.4python3.9python3python2.7java11java8go1php7.2dotnetcore3.1dotnetcore2.1customcustom-container。更多信息,请参见支持的函数运行环境列表

python3.9
timeoutinteger

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

60
caPortinteger

自定义、自定义容器运行时HTTP Server的监听端口。

9000
environmentVariablesobject

函数的环境变量,您可以在函数中通过环境变量访问环境变量。更多信息,请参见环境变量

string

环境变量配置。

{"key":"value"}
instanceConcurrencyinteger

实例最大并发度。

10
instanceSoftConcurrencyinteger

实例软并发度,用于优雅扩容。当实例上的并发数超过软并发度时,会触发实例扩容。例如,您的实例启动较慢,可以通过设置合适的软实例并发度,提前启动实例。

取值小于或等于instanceConcurrency

5
instanceTypestring

函数的实例类型,取值如下:

  • e1:弹性实例。
  • c1:性能实例。
e1
customRuntimeConfigCustomRuntimeConfig

Custom Runtime函数详细配置。

instanceLifecycleConfigInstanceLifecycleConfig

实例生命周期配置。

customDNSCustomDNS

函数自定义DNS配置。

customHealthCheckConfigCustomHealthCheckConfig

函数自定义健康检查配置,仅适用于Custom Runtime和Custom Container。

cpunumber

函数的CPU规格,单位为vCPU,为0.05 vCPU的倍数。

1.5
diskSizeinteger

函数的磁盘规格,单位为MB,可选值为512 MB或10240 MB。

512
X-Fc-Code-Checksumstring

函数代码包的CRC-64值。

1506052139770049xxxx
X-Fc-Datestring

函数的调用开始日期,格式为EEE,d MMM yyyy HH:mm:ss GMT

Wed, 11 May 2022 09:00:00 GMT
X-Fc-Trace-Idstring

调用函数的ID,与返回参数requestId对应。

test-trace-id

返回参数

名称类型描述示例值
headersobject
ETagstring

用于更改函数ETag,以确保实际更改的函数和期望更改的函数是一致的。

738136ea26b79cee660862cd7628****
object

创建函数的返回值。

codeChecksumstring

函数代码包的CRC64值。

5434025278388143772
codeSizelong

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

1024
createdTimestring

函数的创建时间。

2016-08-15T15:00:00.000+0000
customContainerConfigCustomContainerConfig

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

layersarray

层的列表。

说明多个层会按照数组下标从大到小的顺序进行合并,下标小的层的内容会覆盖下标大的层的同名文件。
string

层资源的名称。

md5#layername#version
descriptionstring

函数描述。

This is a demo hello world function
functionIdstring

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

2d28e0e9-9ba5-4eed-8b1a-d3d9cd24 ****
functionNamestring

函数名称。

demo-function
handlerstring

函数的执行入口。

index.handler
lastModifiedTimestring

函数上次修改时间。

2016-08-15T17:00:00.000+0000
memorySizeinteger

函数设置的内存大小,单位为MB。

512
runtimestring

函数运行的语言环境。目前支持nodejs16nodejs14nodejs12nodejs10nodejs8nodejs6nodejs4.4python3.9python3python2.7java11java8go1php7.2dotnetcore3.1dotnetcore2.1customcustom-container。更多信息,请参见支持的函数运行环境列表

python3.9
timeoutinteger

函数运行的超时时间,单位为秒,默认60秒。最小1秒,最长10分钟。如果函数运行超过设置的时间,函数运行将被终止。

10
initializationTimeoutinteger

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

60
initializerstring

初始化函数执行的入口,具体格式和语言相关。

index.handler
caPortinteger

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

9000
environmentVariablesobject

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

string

环境变量配置。

{"key":"value"}
instanceConcurrencyinteger

单个函数实例允许的最大并发度。

10
instanceSoftConcurrencyinteger

实例软并发度,用于优雅扩容。当实例上的并发数超过软并发度时,会触发实例扩容。例如,您的实例启动较慢,可以通过设置合适的软实例并发度,提前启动实例。

取值小于或等于instanceConcurrency

5
instanceTypestring

函数的实例类型,取值如下:

  • e1:弹性实例。
  • c1:性能实例。
e1
instanceLifecycleConfigInstanceLifecycleConfig

实例生命周期配置。

customDNSCustomDNS

函数自定义DNS配置。

customRuntimeConfigCustomRuntimeConfig

Custom Runtime函数详细配置。

customHealthCheckConfigCustomHealthCheckConfig

函数自定义健康检查配置,仅适用于Custom Runtime和Custom Container。

cpunumber

函数的CPU规格,单位为vCPU,为0.05 vCPU的倍数。

1.5
diskSizeinteger

函数的磁盘规格,单位为MB,可选值为512 MB或10240 MB。

512

示例

正常返回示例

JSON格式

{
  "codeChecksum": "5434025278388143772",
  "codeSize": 1024,
  "createdTime": "2016-08-15T15:00:00.000+0000",
  "customContainerConfig": {
    "args": "[\"-arg1\", \"value1\"]",
    "command": "[\"/code/myserver\"]",
    "image": "registry-vpc.cn-hangzhou.aliyuncs.com/fc-demo/helloworld:v1beta1",
    "accelerationType": "Default",
    "instanceID": "cri-xxxxxxxxxx",
    "webServerMode": true
  },
  "layers": [
    "md5#layername#version"
  ],
  "description": "This is a demo hello world function",
  "functionId": "2d28e0e9-9ba5-4eed-8b1a-d3d9cd24\n****",
  "functionName": "demo-function",
  "handler": "index.handler",
  "lastModifiedTime": "2016-08-15T17:00:00.000+0000",
  "memorySize": 512,
  "runtime": "python3.9",
  "timeout": 10,
  "initializationTimeout": 60,
  "initializer": "index.handler",
  "caPort": 9000,
  "environmentVariables": {
    "key": "{\"key\":\"value\"}"
  },
  "instanceConcurrency": 10,
  "instanceSoftConcurrency": 5,
  "instanceType": "e1",
  "instanceLifecycleConfig": {
    "preFreeze": {
      "handler": "",
      "timeout": 0
    },
    "preStop": {
      "handler": "",
      "timeout": 0
    }
  },
  "customDNS": {
    "nameServers": [
      "8.8.8.8"
    ],
    "searches": [
      "ns1.svc.cluster-domain.example"
    ],
    "dnsOptions": [
      {
        "name": "ndots",
        "value": "2"
      }
    ]
  },
  "customRuntimeConfig": {
    "command": [
      "/code/myBootstrap"
    ],
    "args": [
      "args1"
    ]
  },
  "customHealthCheckConfig": {
    "httpGetUrl": "",
    "initialDelaySeconds": 0,
    "periodSeconds": 0,
    "timeoutSeconds": 0,
    "failureThreshold": 0,
    "successThreshold": 0
  },
  "cpu": 1.5,
  "diskSize": 512
}

错误码

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2021-06-29API 内部配置变更,不影响调用
变更项变更内容
API 内部配置变更,不影响调用
2021-06-29OpenAPI 入参发生变更
变更项变更内容
入参OpenAPI 入参发生变更
    新增入参:X-Fc-Account-Id
    新增入参:X-Fc-Code-Checksum
    新增入参:X-Fc-Log-Type
    新增入参:X-Fc-Invocation-Type
    新增入参:X-Fc-Date
    新增入参:X-Fc-Trace-Id
2021-06-29OpenAPI 入参发生变更,OpenAPI 返回结构发生变更
变更项变更内容
入参OpenAPI 入参发生变更
    新增入参:X-Fc-Account-Id
出参OpenAPI 返回结构发生变更
2021-06-29OpenAPI 入参发生变更,OpenAPI 返回结构发生变更
变更项变更内容
入参OpenAPI 入参发生变更
    删除入参:X-Fc-Account-Id
出参OpenAPI 返回结构发生变更