ALIYUN::FC::Layer类型用于发布层版本。
关于层及版本的更多信息,请参见在函数中配置自定义层。
语法
{
  "Type": "ALIYUN::FC::Layer",
  "Properties": {
    "CompatibleRuntime": List,
    "Description": String,
    "LayerName": String,
    "Code": Map
  }
}属性
| 属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 | 
| CompatibleRuntime | List | 是 | 否 | 层支持的运行环境。 | 取值: 
 | 
| Description | String | 否 | 否 | 层的描述。 | 无 | 
| LayerName | String | 是 | 否 | 层的名称。 | 长度为1~64个字符。 | 
| Code | Map | 是 | 否 | 指定Code ZIP包。 | 
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",
      "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"
        ]
      }
    }
  }
}该文章对您有帮助吗?