本文介绍如何在函数中配置自定义层。
通过控制台配置
前提条件
操作步骤
为函数配置层时,如果层有多个版本,将按照具体的层版本与函数进行绑定。
- 登录函数计算控制台,在左侧导航栏,单击服务及函数。
- 在顶部菜单栏,选择地域,然后在服务列表页面,单击目标服务。
- 在函数管理页面,单击目标函数操作列的配置。
- 在层区域,单击+添加层,从下拉列表中选择添加自定义层,在自定义层和层版本下拉列表选择所需的配置,然后单击保存。
说明
- 一个函数最多支持配置5个层,包括自定义层和官方公共层。
- 当函数配置多个层时,这些层的内容将被合并至/opt目录,多个层按照层配置的逆序合并。如果多个层中有同名文件,先配置的层会覆盖后配置的层中的同名文件。
通过Serverless Devs配置
前提条件
操作步骤
- 执行以下命令查找指定地域下的自定义层。
s cli fc layer list --custom --region cn-hangzhou
执行成功后,返回自定义层列表,如下所示。从中获取目标层的
arn
并记录。
说明 返回的自定义层信息中,字段arn即将废弃,推荐您使用字段arnV2的值作为自定义层的ARN。
-
layerName: java11_fc_auto_created
arn: ec284ee1c033fa7fc68ffcd44c******#java11_fc_auto_created#1
arnV2: acs:fc:cn-hangzhou:164901546557****:layers/java11_fc_auto_created/versions/1
version: 1
acl: 0
description:
compatibleRuntime:
- custom
示例解析如下:
- layerName:层名称。
- version:层版本。
- arn:层的旧ARN。只支持在自定义层中使用。
- arnV2:层的新ARN。支持在自定义层和官方公共层中使用。
- acl:层的权限。取值0代表私有,取值1代表公有。官方公共层默认为公有,自定义层可以设置为私有或者公有。
- description:层的描述信息。
- compatibleRuntime:兼容的运行时列表。
- 在任意目录下创建s.yaml文件,填写获取的层
arn
信息。示例如下:
edition: 1.0.0 # 命令行YAML规范版本,遵循语义化版本(Semantic Versioning)规范
name: fcDeployApp # 项目名称
access: "default" # 密钥别名
services:
fc-deploy-test: # 服务名称
component: fc # 组件名称
props: # 组件的属性值
region: cn-hangzhou
service:
name: fctest
description: 'test'
internetAccess: true
function:
name: emoji # 函数名称
description: this is a emoji
runtime: java11
codeUri: ./
handler: index.handler
memorySize: 128
timeout: 6
layers: # 函数绑定层,取值是层的ARN
- acs:fc:cn-hangzhou:164901546557****:layers/java11_fc_auto_created/versions/1
- 在s.yaml文件所在目录,执行以下命令部署函数并为其配置层。