Function Compute provides common layers. You can configure the layer feature for your functions without providing custom layers. This topic describes how to configure common layers for a function.
Common layers supported by Function Compute
Function Compute supports the following types of common layers. This section lists some common layers. For more information about all the common layers supported by Function Compute, see Common layers.
If you fail to find the layer that you want to use, Contact Us.
Custom Runtime
Custom runtimes, such as Python 3.10 and Node.js 17, are included. In addition, collections of the dependency libraries for some custom runtimes are provided. For example, the common layer Python310-Package-Collection
contains some dependency libraries commonly used in Python.
Common layer | Compatible runtime | Description | Usage notes |
Python310 |
| Python 3.10.5 runtime layer | README.md |
Python310-Package-Collection |
| A collection of common dependency libraries for the Python 3.10 runtime | README.md |
Python39 |
| Python 3.9.13 runtime layer | README.md |
Python39-Package-Collection |
| A collection of common dependency libraries for the Python 3.9 runtime | README.md |
Python38 |
| Python 3.8.13 runtime layer | README.md |
Python38-Package-Collection |
| 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 | ASP.NET 6.0.5 runtime layer | README.md |
PHP81 | Custom | PHP 8.1 runtime layer | README.md |
PHP80 | Custom | PHP 8.0 runtime layer | README.md |
PHP72 | Custom | PHP 7.2 runtime layer | README.md |
Java8 | Custom.Debian10 | Java 8 runtime layer | README.md |
Java11 | Custom | Java 11 runtime layer | README.md |
Java17 | Custom | Java 17 runtime layer | README.md |
Nodejs18 | Custom.Debian10 | Node.js 18 runtime layer | README.md |
Nodejs17 | Custom | Node.js 17 runtime layer | README.md |
Nodejs16 |
| 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 |
Go118 | Custom | Go 1.x runtime layer | README.md |
Common dependency libraries
Common layer | Compatible runtime | Description | Version (the version number of the core library) | Usage notes |
Python39-Pandas1x |
| An open source data analysis and processing tool based on NumPy |
| README.md |
Python39-SciPy1x |
| An open source scientific computing library |
| README.md |
Python36-SciPy1x |
| An open source scientific computing library |
| README.md |
Python39-PyTorch1x |
| An open source machine learning framework (CPU edition) |
| README.md |
Python36-PyTorch1x |
| An open source machine learning framework (CPU edition) |
| README.md |
Python3-Flask2x |
| A Python-based lightweight web framework | v2.2.2 | README.md |
Nodejs-Puppeteer17x |
| A Headless Chrome tool | puppeteer-v17.1.0 | README.md |
Nodejs-Puppeteer10x |
| A Headless Chrome tool | puppeteer-v10.2.0 | README.md |
Python310-Opencv4x |
| A cross-platform library for computer vision. | v4.7.0.68 | README.md |
SQLite3 |
| A lightweight and in-process relational database | 3.41.1 | README.md |
FFmpeg6x |
| An open source software project that consists of a large suite 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 |
| An open source serverless platform that provides a robust set of tools for developers | 2.1.14 | README.md |
Web framework
Common layer | Compatible runtime | Version (the version number of the core library) | Usage notes |
Python3-Flask2x |
| flask-2.2.2 | README.md |
Alibaba Cloud SDKs
Common layer | Compatible runtime | Description | Usage notes |
Aliyun-DataX |
| Open source edition of Alibaba Cloud DataWorks Data Integration | README.md |
Python39-Aliyun-SDK |
| Common Alibaba Cloud SDKs for Python 3.9 | README.md |
Python36-Aliyun-SDK |
| Common Alibaba Cloud SDKs for Python 3.6 | README.md |
Nodejs-Aliyun-SDK |
| Common Alibaba Cloud SDKs for Node.js16, Node.js 14, and Node.js 12 | README.md |
Configure common layers by using the console
Prerequisites
Create a functionProcedure
- Log on to the Function Compute console. In the left-side navigation pane, click Services & Functions.
- In the top navigation bar, select a region. On the Services page, click the desired service.
- On the Functions page, find the desired function and click Configure in the Actions column.
- In the Layers section, click + Add Layer and select Add Official Common Layer from the drop-down list.
- In the Official Common Layer drop-down list, view the layer description and license information and select a common layer. Select a layer version from the Layer Version drop-down list, and then click Save.
- 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 and stored in 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 common layers by using Serverless Devs
Prerequisites
Procedure
- Run the following command to find the custom layers in the specified region:
s cli fc layer list --official --region cn-hangzhou
After the execution is successful, return to the list of common layers. Obtain and record the new ARN (arnV2
) of the desired layer.- layerName: Aliyun-DataX arn: arnV2: acs:fc:cn-hangzhou:official:layers/Aliyun-DataX/versions/1 version: 1 acl: 1 description: Aliyun DataX for python (datax_v202205) compatibleRuntime: - custom - python2.7 - python3 - python3.9 - layerName: Python36-SciPy1x arn: arnV2: acs:fc:cn-hangzhou:official:layers/Python36-SciPy1x/versions/1 version: 1 acl: 1 description: SciPy Layer for python36(scipy-1.5.4,numpy-1.19.5) compatibleRuntime: - custom - python3
The following content describes the code snippets in the sample code:- layerName: the name of the layer.
- version: the version of the layer.
- arn: the original ARN of the layer. The original ARN can be used only in custom layers.
- arnV2: the new ARN of the layer. The new ARN can be used only in public layers.
- 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.
- Create the s.yaml file in any directory and enter the new ARN of the layer. Example:
edition: 1.0.0 # The version of the YAML syntax. The version complies with the semantic versioning specification. name: fcDeployApp # The name of the project. access: "default" # The alias of the key. services: fc-deploy-test: # The name of the service. component: fc # The name of the component. props: # The property value of the component. region: cn-hangzhou service: name: fctest description: 'test' internetAccess: true function: name: emoji # The name of the function. description: this is a layer demo runtime: python3.9 codeUri: ./ handler: index.handler memorySize: 128 timeout: 6 layers: # The layers bound to the function. The values are the ARNs of the layers. - acs:fc:cn-hangzhou:official:layers/Aliyun-DataX/versions/1 - acs:fc:cn-hangzhou:official:layers/Python39-SciPy1x/versions/1
- Run the following command in the directory in which the s.yaml file is stored to deploy the function and configure the layers for the function:
s deploy
Additional information
You can use OpenAPI Explorer to call API operations and use SDKs.