All Products
Search
Document Center

Function Compute:Configure a public layer

Last Updated:Aug 14, 2024

Function Compute provides commonly used public layers. You can use the official public layers for functions without the need to configure your own layers. This topic describes how to configure an official public layer for a function.

Common layers in Function Compute

This section lists the official public layers that are supported by Function Compute. If you cannot find the layer that you want to use, contact us.

Note

The following section lists only some commonly used public layers. For more information about the public layers that Function Compute supports, see Public layers.

Custom runtimes

The table in this section lists layers that are compatible with specific custom runtimes, such as Python 3.10 and Node.js 17. In the table, collections of some dependency libraries are included. For example, the public layer Python310-Package-Collection includes commonly used Python dependency libraries.

Public layer

Compatible runtime

Description

References

PHP81-Debian10

Custom.Debian10

PHP 8.1 Debian 10 runtime layer

README.md

PHP80-Debian10

Custom.Debian10

PHP 8.0 Debian 10 runtime layer

README.md

Nginx

Custom.Debian10

Nginx Debian 10 runtime layer

README.md

Python310

  • Custom

  • Custom.Debian10

Python 3.10.5 runtime layer

README.md

Python310-Package-Collection

  • Custom

  • Custom.Debian10

A collection of common dependency libraries for the Python 3.10 runtime

README.md

Python39

  • Custom

  • Custom.Debian10

Python 3.9.13 runtime layer

README.md

Python39-Package-Collection

  • Custom

  • Custom.Debian10

A collection of common dependency libraries for the Python 3.9 runtime

README.md

Python38

  • Custom

  • Custom.Debian10

Python 3.8.13 runtime layer

README.md

Python38-Package-Collection

  • Custom

  • Custom.Debian10

A collection of common dependency libraries for the Python 3.8.13 runtime

README.md

Python36

Custom

Python 3.6.15 runtime layer

README.md

Python36-Package-Collection

Custom

A collection of common dependency libraries for the Python 3.6.15 runtime

README.md

Dotnet6

  • Custom

  • Custom.Debian10

ASP.NET 6.0.5 runtime layer

README.md

PHP72

Custom

PHP 7.2 runtime layer

README.md

Java8

Custom.Debian10

Java 8 runtime layer

README.md

Java11

  • Custom

  • Custom.Debian10

Java 11 runtime layer

README.md

Java17

  • Custom

  • Custom.Debian10

Java 17 runtime layer

README.md

Java21

Custom.Debian10

Java 21 runtime layer

README.md

Nodejs20

Custom.Debian10

Node.js 20 runtime layer

README.md

Nodejs18

Custom.Debian10

Node.js 18 runtime layer

README.md

Nodejs17

Custom

Node.js 17 runtime layer

README.md

Nodejs16

  • Custom

  • Custom.Debian10

Node.js 16 runtime layer

README.md

Nodejs14

Custom

Node.js 14 runtime layer

README.md

Nodejs12

Custom

Node.js 12 runtime layer

README.md

Go1

Custom.Debian10

Go 1 runtime layer

README.md

Go118

Custom

Go 1.x runtime layer

README.md

Common dependency libraries

Public layer

Compatible runtime

Description

Core library version

References

Python310-OSS2

  • Python 3.10

  • Custom.Debian10

oss2: OSS SDK for Python

-

README.md

Python39-OSS2

  • Python 3.9

  • Custom.Debian10

oss2: OSS SDK for Python

-

README.md

Python310-TensorFlow2x

  • Python 3.10

  • Custom.Debian10

An open source machine learning framework (CPU edition)

tensorflow==2.15.0.post1

README.md

Python3x-PyMongo4x

  • Python 3.10

  • Custom.Debian10

An open source scientific computing library

PyMongo==4.6.1

README.md

Python3x-Pandas2x

  • Python 3.9

  • Custom

  • Custom.Debian10

An open source data analysis and processing tool based on NumPy

  • pandas==2.2.1

  • numpy==1.23.2

README.md

Python310-PyTorch2x

  • Python 3.10

  • Custom.Debian10

An open source machine learning framework (CPU edition)

  • torch==1.10.2+cpu

  • torchaudio==0.10.2+cpu

  • torchvision==0.11.3+cpu

README.md

Python39-Pandas1x

  • Python 3.9

  • Custom

  • Custom.Debian10

An open source data analysis and processing tool based on NumPy

  • pandas==1.4.3

  • numpy==1.23.2

README.md

Python39-SciPy1x

  • Python 3.9

  • Custom

An open source scientific computing library

  • scipy==1.9.0

  • numpy==1.23.2

README.md

Python36-SciPy1x

  • Python 3.6

  • Custom

An open source scientific computing library

  • scipy-1.5.4

  • numpy-1.19.5

README.md

Python39-PyTorch1x

  • Python 3.9

  • Custom

  • Custom.Debian10

An open source machine learning framework (CPU edition)

  • torch==1.12.1+cpu

  • torchaudio==0.12.1+cpu

  • torchvision==0.13.1+cpu

README.md

Python36-PyTorch1x

  • Python 3.6

  • Custom

An open source machine learning framework (CPU edition)

  • torch==1.10.2+cpu

  • torchaudio==0.10.2+cpu

  • torchvision==0.11.3+cpu

README.md

Python3-Flask2x

  • Python 3.9

  • Python 3.10

  • Custom

  • Custom.Debian10

A Python-based lightweight web framework

v2.2.2

README.md

Nodejs-Puppeteer17x

  • Node.js 16

  • Node.js 14

  • Custom

  • Custom.Debian10

A Headless Chrome tool

puppeteer-v17.1.0

README.md

Nodejs-Puppeteer10x

  • Node.js 14

  • Node.js 12

  • Node.js 10

  • Custom

A Headless Chrome tool

puppeteer-v10.2.0

README.md

Python310-Opencv4x

  • Python 3.10

  • Custom.Debian10

A cross-platform library for computer vision

v4.7.0.68

README.md

SQLite3

  • Python 3.9

  • Node.js 16

  • Node.js 14

  • Java 11

  • Java 8

  • Custom

A lightweight and in-process relational database

3.41.1

README.md

FFmpeg6x

  • Python 3.10

  • Python 3.9

  • Node.js 16

  • Node.js 14

  • Java 11

  • Java 8

  • Custom

  • Custom.Debian10

An open source software project that consists of a set of programs used to record audio and videos, convert audio and video formats, and stream audio and video files

6.0

README.md

Nodejs-Puppeteer19x

Custom.Debian10

A Headless Chrome tool

puppeteer-v19.8.5

README.md

Python38-Playwright

Custom.Debian10

puppeteer-v19.8.5

1.31.1

README.md

Poppler22x-Pdf2image

Python 3.10

A library for rendering PDF documents

22.12.0

README.md

ServerlessDevs

  • Python 3.10

  • Python 3.9

  • Python 3

  • Node.js 16

  • Node.js 14

  • Java 11

  • Java 8

  • Go 1

  • .NetCore 3.1

  • PHP 7.2

  • Custom

  • Custom.Debian10

An open source serverless platform that provides a robust set of tools for developers

2.1.14

README.md

Web framework

Public layer

Compatible runtime

Core library version

References

Python3-Flask2x

  • Python 3.9

  • Custom

flask-2.2.2

README.md

Alibaba Cloud SDKs

Public layer

Compatible runtime

Description

References

Python310-Aliyun-SDK

  • Python 3.10

  • Custom.Debian10

Common Alibaba Cloud SDKs for Python 3.10

README.md

Aliyun-DataX

  • Python 2.7

  • Python 3

  • Python 3.6

  • Python 3.9

  • Custom

  • Custom.Debian10

Open source edition of Alibaba Cloud DataWorks Data Integration

README.md

Python39-Aliyun-SDK

  • Python 3.9

  • Custom

Common Alibaba Cloud SDKs for Python 3.9

README.md

Python36-Aliyun-SDK

  • Python 3.6

  • Custom

Common Alibaba Cloud SDKs for Python 3.6

README.md

Nodejs-Aliyun-SDK

  • Node.js 20

  • Node.js 18

  • Node.js 16

  • Node.js 14

  • Custom

  • Custom.Debian10

Common Alibaba Cloud SDKs (Node.js 20, Node.js 18, Node.js 16, and Node.js 14)

README.md

Configure common layers in the Function Compute console

Before you start

Create a function

Procedure

  1. Log on to the Function Compute console. In the left-side navigation pane, click Functions.

  2. In the top navigation bar, select a region. On the Functions page, click the name of the function that you want to manage.

  3. On the function details page, click the Configurations tab.

  4. In the left-side navigation tree, click Layers. Click Modify. In the Layers panel, choose + Add Layer > Add Official Common Layer. Then, select a layer from the Official Common Layer drop-down list and its version from the Layer Version drop-down list and click Deploy.

Note
  • A function can be configured with a maximum of five layers, including custom layers and public layers.

  • When multiple layers are configured for a function, the content of these layers is merged to the /opt directory in reverse order. If layers contain files with the same name, the files in the first configured layer overwrites the files with the same names in the later configured layer.

Configure a public layer by using Serverless Devs

Before you start

Procedure

  1. Run the following command to find custom layers in the specified region:

    s cli fc layer list --official --region cn-hangzhou

    In the custom layer list that is returned, obtain and record the Alibaba Cloud Resource Name (ARN) of the desired layer.

    - 
      layerName:         Python39-Aliyun-SDK
      arn:               acs:fc:cn-hangzhou:official:layers/Python39-Aliyun-SDK/versions/3
      version:           3
      acl:               1
      description:       Python3.9 Aliyun SDK layer.
      compatibleRuntime: 
        - custom
        - python3.9
        - custom.debian10
    - 
      layerName:         Python39-Package-Collection
      arn:               acs:fc:cn-hangzhou:official:layers/Python39-Package-Collection/versions/3
      version:           3
      acl:               1
      description:       Python3.9 package collection layer.
      compatibleRuntime: 
        - custom
        - custom.debian10

    Description:

    • layerName: the name of the layer.

    • version: the version of the layer.

    • arn: the ARN of the layer.

    • acl: the permissions of the layer. The digit 0 specifies that the layer is private and the digit 1 specifies that the layer is public. By default, the public layers are public. The custom layers can be set to private or public.

    • description: the description of the layer.

    • compatibleRuntime: the list of compatible runtimes.

  2. In the target directory, create a s.yaml file and enter the obtained layer arn information.

    Example:

    edition: 3.0.0
    name: hello-world-app
    access: "default"
    
    vars: # The global variable.
      region: "cn-hangzhou"
    
    resources:
      hello_world:
        component: fc3 # The component name
        actions:       # The custom execution logic. For more information about actions, visit https://docs.serverless-devs.com/serverless-devs/yaml#%E8%A1%8C%E4%B8%BA%E6%8F%8F%E8%BF%B0actions.
        props:
          region: ${vars.region}              # For information about how to use variables, visit: https://docs.serverless-devs.com/serverless-devs/yaml#%E5%8F%98%E9%87%8F%E8%B5%8B%E5%80%BC.
          functionName: "emoji"
          description: 'this is a layer demo'
          runtime: "python3.9"
          code: ./code
          handler: index.handler
          memorySize: 512
          timeout: 60
          internetAccess: true
          layers:    # The layers bound to the function. The values are the ARNs of the layers.
            - acs:fc:cn-hangzhou:official:layers/Python39-Aliyun-SDK/versions/3
  3. Create a code hierarchy in the target directory, and then prepare the function code in the code.

  4. Run the following command in the target directory to deploy the function and configure layers for the function:

    s deploy

More information