函数层管理
云函数层(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
注意
删除层的所有版本后,该层会被完全移除。绑定了该层的函数在删除前需先解绑。