Layer 命令

layer 命令是进行层操作的命令。

命令解析

当执行命令layer -h/layer --help时,可以获取帮助文档。

在该命令中,包括了四个子命令:

layer publish 命令

layer publish 命令,是用于层发布的命令。

当执行命令layer publish -h/layer publish --help时,可以获取帮助文档。

参数解析

参数全称参数缩写Yaml 模式下必填Cli 模式下必填参数含义
region-选填必填地域名称,取值范围参见函数计算开服地域
code-必填必填层的代码
compatible-runtime-必填必填支持的运行时,取值范围参见函数计算运行时介绍
description选填选填发布层的描述
layer-name必填必填层的名字

当前命令还支持部分全局参数(例如-a/--access, --debug等),详情可参考 Serverless Devs 全局参数文档

操作案例

  • 有资源描述文件(Yaml)时,可以直接执行s layer publish进行层的发布,例如s layer publish --layer-name demo --code ./code
  • 纯命令行形式(在没有资源描述 Yaml 文件时),需要指定函数所在地区,例如s cli fc3 layer publish --region cn-hangzhou --layer-name demo --code ./code

Python 项目的依赖库需要放在./code/python路径下,比如./code/python/flask

上述命令的执行结果示例:

fc3-deploy-test:
  acl:               0
  code:
    location:       fc-hhht-hasuhai-func-code/143**********149/demo/2d85431f-a449-4e1e-a87f-4ddc3dad01a5
    repositoryType: oss
  codeChecksum:      6647856715255221341
  codeSize:          230
  compatibleRuntime:
    - python3.9
    - python3.10
  createTime:        2023-09-26T03:02:01Z
  description:
  layerName:         demo
  layerVersionArn:   acs:fc:cn-hangzhou:143**********149:layers/demo/versions/1
  license:
  version:           1

layer list 命令

layer list 命令,是用于获取层列表的命令。

当执行命令layer list -h/layer list --help时,可以获取帮助文档。

参数解析

参数全称参数缩写Yaml 模式下必填Cli 模式下必填参数含义
region-选填必填地域名称,取值范围参见函数计算开服地域
prefix-选填选填层名称的前缀。限定返回的资源名称,假设 Prefix 为 a,则返回的资源名必须以 a 开头。
public-选填选填展示个人的公共层
official-选填选填展示官方的公共层。设置 official=true 后,public 自动设为 true,设置为 false 无效。
table-选填选填以表格形式输出

当前命令还支持部分全局参数(例如-a/--access, --debug等),详情可参考 Serverless Devs 全局参数文档

操作案例

  • 有资源描述文件(Yaml)时,可以直接执行s layer list获取层列表;
  • 纯命令行形式(在没有资源描述 Yaml 文件时),需要指定函数所在地区,例如s cli fc3 layer list --region cn-hangzhou

上述命令的执行结果示例:

fc3-deploy-test:
   -
    layerName:         demo
    layerVersionArn:   acs:fc:cn-hangzhou:143**********149:layers/demo/versions/1
    version:           1
    acl:               0
    description:
    compatibleRuntime:
      - python3.9
      - python3.10

layer info 命令

layer info 命令,是用户获取指定层和版本详情的命令。

当执行命令layer info -h/layer info --help时,可以获取帮助文档。

参数解析

参数全称参数缩写Yaml 模式下必填Cli 模式下必填参数含义
region-选填必填地域名称,取值范围参见函数计算开服地域
layer-name-必填必填层名称
version-id-必填必填层版本

当前命令还支持部分全局参数(例如-a/--access, --debug等),详情可参考 Serverless Devs 全局参数文档

操作案例

  • 有资源描述文件(Yaml)时,可以直接执行s layer detail --layer-name layerName --version-id versionId获取指定层和指定版本详情;
  • 纯命令行形式(在没有资源描述 Yaml 文件时),需要指定函数所在地区,例如s cli fc3 layer detail --region cn-hangzhou --layer-name demo --version-id 1

上述命令的执行结果示例:

fc3-deploy-test:
  acl:               0
  compatibleRuntime:
    - python3.9
    - python3.10
  description:
  layerName:         demo
  layerVersionArn:   acs:fc:cn-hangzhou:143**********149:layers/demo/versions/1
  version:           1

layer versions 命令

layer versions 命令,是获取指定层版本列表的命令。

当执行命令layer version -h/layer versions --help时,可以获取帮助文档。

参数解析

参数全称参数缩写Yaml 模式下必填Cli 模式下必填参数含义
region-选填必填地域名称,取值范围参见函数计算开服地域
layer-name-必填必填层名称
table-选填选填以表格形式输出

当前命令还支持部分全局参数(例如-a/--access, --debug等),详情可参考 Serverless Devs 全局参数文档

操作案例

  • 有资源描述文件(Yaml)时,可以直接执行s layer versions --layer-name layerName获取指定层中的版本列表;
  • 纯命令行形式(在没有资源描述 Yaml 文件时),需要指定函数所在地区,例如s cli fc3 layer versions --layer-name layerName --region cn-hangzhou

上述命令的执行结果示例:

fc3-deploy-test:
  -
    acl:               0
    compatibleRuntime:
      - python3.9
      - python3.10
    description:
    layerName:         demo
    layerVersionArn:   acs:fc:cn-hangzhou:143**********149:layers/demo/versions/1
    version:           1

layer download 命令

layer download 命令,是用户下载指定层版本的命令。

当执行命令layer download -h/layer download --help时,可以获取帮助文档。

参数解析

参数全称参数缩写Yaml 模式下必填Cli 模式下必填参数含义
region-选填必填地域名称,取值范围参见函数计算开服地域
layer-name-必填必填层名称
version-id-必填必填版本

当前命令还支持部分全局参数(例如-a/--access, --debug等),详情可参考 Serverless Devs 全局参数文档

操作案例

  • 有资源描述文件(Yaml)时,可以直接执行s layer download --layer-name layerName --version-id versionId下载层版本的代码包;
  • 纯命令行形式(在没有资源描述 Yaml 文件时),需要指定函数所在地区,例如s cli fc3 layer download --region cn-hangzhuo --layer-name demo --version-id 1

上述命令的执行结果示例:

Downloading[/1431999136518149/demo/2d85431f-a449-4e1e-a87f-4ddc3dad01a5]...
Download 1 successfully
✔ [hello_world] completed (3.35s)

🚀 Result for [layer] of [hello-world-app]
====================
hello_world: /Users/youyi/.s/cache/layers/143**********149-cn-hangzhou-demo/1.zip

layer acl 命令

layer acl 命令,个人层设置公开。

说明:如果函数配置其他账户的公共层时,需要使用 arnV2 版本。

当执行命令layer acl -h/layer acl --help时,可以获取帮助文档。

参数解析

参数全称参数缩写Yaml 模式下必填Cli 模式下必填参数含义
region-选填必填地域名称,取值范围参见函数计算开服地域
layer-name-必填必填层名称
public-选填选填个人层设置公开

当前命令还支持部分全局参数(例如-a/--access, --debug等),详情可参考 Serverless Devs 全局参数文档

操作案例

  • 有资源描述文件(Yaml)时,可以直接执行s layer acl --layer-name layerName --public设置层公开,或者执行s layer acl --layer-name layerName --public false 设置层不公开;

  • 纯命令行形式(在没有资源描述 Yaml 文件时),需要指定函数所在地区,例如s cli fc3 layer acl --region cn-hangzhuo --layer-name demo --public

layer remove 命令

layer remove 命令,是用户删除指定已发布的版本命令。

当执行命令layer remove -h/layer remove --help时,可以获取帮助文档。

参数解析

参数全称参数缩写Yaml 模式下必填Cli 模式下必填参数含义
region-选填必填地域名称,取值范围参见函数计算开服地域
layer-name-必填必填层名称
version-id-选填选填指定层版本。如果指定--version-id,仅删除指定的版本;否则删除层的所有的版本
assume-yesy选填选填在交互时,默认选择y

当前命令还支持部分全局参数(例如-a/--access, --debug等),详情可参考 Serverless Devs 全局参数文档

操作案例

  • 有资源描述文件(Yaml)时,可以直接执行s layer remove --layer-name layerName删除层的所有版本;
  • 纯命令行形式(在没有资源描述 Yaml 文件时),需要指定函数所在地区,例如s cli fc3 layer remove --region cn-hangzhou --layer-name demo

权限与策略说明

  • layer listlayer versionlayer info 命令所需要的权限策略: AliyunFCReadOnlyAccess

  • layer publish 命令所需要的权限策略:

    {
      "Version": "1",
      "Statement": [
        {
          "Action": "fc:CreateLayerVersion",
          "Effect": "Allow",
          "Resource": "acs:fc:{region}:{uid}:layers/{layerName}/versions/*"
        }
      ]
    }
    
  • layer remove 命令所需要的权限策略: AliyunFCReadOnlyAccess

    {
      "Version": "1",
      "Statement": [
        {
          "Action": "fc:DeleteLayerVersion",
          "Effect": "Allow",
          "Resource": "acs:fc:{region}:{uid}:layers/{layerName}/versions/*"
        }
      ]
    }
    
在 GitHub 上编辑本页面 更新时间: Thu, Feb 22, 2024