全部产品
Search
文档中心

资源编排:ALIYUN::FC::Layer

更新时间:Dec 05, 2024

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

关于层及版本的更多信息,请参见在函数中配置自定义层

语法

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

属性

属性名称

类型

必须

允许更新

描述

约束

CompatibleRuntime

List

层支持的运行环境。

取值:

  • nodejs12

  • nodejs10

  • nodejs8

  • nodejs6

  • python3

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",
      "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"
        ]
      }
    }
  }
}