跳到主要内容

函数层管理

云函数层(Layer)允许你将公共依赖或共享代码单独打包,挂载到多个函数,避免重复上传、减小单函数体积。

层的限制
  • 单用户最多创建 20 个
  • 每个函数最多绑定 5 个
  • 单层建议不超过 100 MB
  • 层版本不可修改,更新内容需发布新版本

tcb fn layer create

创建新层(发布新版本)。

tcb fn layer create <alias> --file <path> [options]

参数

参数说明必填
alias层别名
--file <path>文件目录或 ZIP 路径
--runtime <runtimes>兼容运行时,逗号分隔(不填则默认支持主流运行时)
-e, --env-id <envId>环境 ID

示例

# 上传目录
tcb fn layer create myLayer --file ./node_modules -e my-env-id

# 上传 ZIP 文件,并指定兼容运行时
tcb fn layer create commonLib --file ./libs.zip --runtime Nodejs18.15,Nodejs20.19 -e my-env-id

tcb fn layer list

查看层列表,或查看函数绑定的层。

tcb fn layer list [options]

参数

参数说明
--name <functionName>查看指定函数绑定的层
--layer <layerAlias>查看指定层的所有版本
--code-secret <secret>访问代码加密函数所需的 CodeSecret
-e, --env-id <envId>环境 ID

示例

# 查看当前环境所有层
tcb fn layer list -e my-env-id

# 查看指定函数绑定的层
tcb fn layer list --name myFunc -e my-env-id

# 查看某层的所有版本
tcb fn layer list --layer myLayer -e my-env-id

tcb fn layer bind

将层绑定到云函数。

tcb fn layer bind <functionName> [options]

参数

参数说明
--layer <layerAlias>要绑定的层别名(指定后跳过交互选择)
--layer-version <version>层版本号(需配合 --layer 使用)
--code-secret <secret>CodeSecret(代码加密函数专用)
-e, --env-id <envId>环境 ID

示例

# 交互式选择层绑定
tcb fn layer bind myFunc -e my-env-id

# 直接指定层和版本(跳过交互)
tcb fn layer bind myFunc --layer myLayer --layer-version 3 -e my-env-id

tcb fn layer unbind

解绑云函数上绑定的层。

tcb fn layer unbind <functionName> [options]

参数

参数说明
--layer <layerAlias>要解绑的层别名(不填则交互选择)
--code-secret <secret>CodeSecret(代码加密函数专用)
-e, --env-id <envId>环境 ID

示例

tcb fn layer unbind myFunc --layer myLayer -e my-env-id

tcb fn layer sort

重新排列函数绑定的层加载顺序(顺序影响同名文件的覆盖优先级)。

tcb fn layer sort <functionName> [options]

参数

参数说明
--code-secret <secret>CodeSecret
-e, --env-id <envId>环境 ID

示例

tcb fn layer sort myFunc -e my-env-id

tcb fn layer download

下载层的内容文件到本地。

tcb fn layer download [options]

参数

参数说明
--dest <path>下载文件存放路径(不填则交互选择)
-e, --env-id <envId>环境 ID

示例

tcb fn layer download --dest ./downloaded-layer -e my-env-id

tcb fn layer delete

删除指定层(交互式选择版本)。

tcb fn layer delete [options]

示例

tcb fn layer delete -e my-env-id
注意

删除层的所有版本后,该层会被完全移除。绑定了该层的函数在删除前需先解绑。