全部產品
Search
文件中心

:ALIYUN::FC::Layer

更新時間:Dec 06, 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"
        ]
      }
    }
  }
}