ALIYUN::FC::Layer类型用于发布层版本。

关于层及版本的更多信息,请参见管理层

语法

{
  "Type": "ALIYUN::FC::Layer",
  "Properties": {
    "CompatibleRuntime": List,
    "Description": String,
    "LayerName": String,
    "Code": Map
  }
}

属性

属性名称 类型 必须 允许更新 描述 约束
CompatibleRuntime List 层支持的运行环境。 取值:
  • nodejs12
  • nodejs10
  • nodejs8
  • nodejs6
  • python3
  • python2.7
Description String 层的描述。
LayerName String 层的名称。 长度为1~64个字符。
Code Map 指定Code ZIP包。 更多信息,请参见Code语法Code属性

Code语法

"Code": {
  "ZipFile": String,
  "OssObjectName": String,
  "OssBucketName": String
}

Code属性

属性名称 类型 必须 允许更新 描述 约束
ZipFile String 函数代码ZIP包的Base 64编码。 ZipFile的优先级大于OssBucketName和OssObjectName,Code优先取ZipFile的值。
OssObjectName String 存放函数代码ZIP包的OSS Object名称。 OssBucketName和OssObjectName必须同时指定。
OssBucketName String 存放函数代码ZIP包的OSS Bucket名称。 OssBucketName和OssObjectName必须同时指定。

返回值

Fn::GetAtt

  • LayerName:层的名称。
  • Version:层的版本。
  • Arn:层资源的名称。

示例

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "CompatibleRuntime": {
      "Type": "Json",
      "Description": "The runtime environment supported by the layer. For example:nodejs12, nodejs10, nodejs8, nodejs6, python3, and python2.7",
      "MinLength": 1,
      "Default": "[\n  \"python3\"\n]"
    },
    "Description": {
      "Type": "String",
      "Description": "The description of the layer.",
      "Default": "test123"
    },
    "LayerName": {
      "Type": "String",
      "Description": "The name of layer",
      "AllowedPattern": "[a-zA-Z][_a-zA-Z0-9-]+",
      "MinLength": 1,
      "MaxLength": 64,
      "Default": "test123"
    },
    "Code": {
      "Type": "Json",
      "Description": "The code of layer.",
      "Default": "{\n  \"OssBucketName\": \"you_bucket_name\",\n  \"OssObjectName\": \"index.py\"\n}"
    }
  },
  "Resources": {
    "Layer": {
      "Type": "ALIYUN::FC::Layer",
      "Properties": {
        "CompatibleRuntime": {
          "Ref": "CompatibleRuntime"
        },
        "Description": {
          "Ref": "Description"
        },
        "LayerName": {
          "Ref": "LayerName"
        },
        "Code": {
          "Ref": "Code"
        }
      }
    }
  },
  "Outputs": {
    "LayerName": {
      "Description": "The name of layer",
      "Value": {
        "Fn::GetAtt": [
          "Layer",
          "LayerName"
        ]
      }
    },
    "Version": {
      "Description": "The version of the layer resource.",
      "Value": {
        "Fn::GetAtt": [
          "Layer",
          "Version"
        ]
      }
    },
    "Arn": {
      "Description": "The name of the layer resource.",
      "Value": {
        "Fn::GetAtt": [
          "Layer",
          "Arn"
        ]
      }
    }
  }
}