配置官方公共层

函数计算提供了常用的公共层,您无需自定义层即可为您的函数配置层功能。本文介绍如何在函数中配置官方公共层。

函数计算支持的官方公共层

下方列举函数计算支持的几类官方公共层。如果您未找到您需要的层,请联系我们为您添加。

说明

下方仅列举部分常用的官方公共层,关于更多函数计算支持的官方公共层及其说明,请参见公共层

自定义运行时

包括自定义语言的运行时,例如Python 3.10、Node.js 17等。还包括一些自定义语言运行时的依赖库集合,例如,公共层Python310-Package-Collection包含Python常用的一些依赖库。

公共层名称

兼容的运行时

说明

使用前必读

PHP81-Debian10

Custom.Debian10

PHP 8.1 Debian10运行时层

README.md

PHP80-Debian10

Custom.Debian10

PHP 8.0 Debian10运行时层

README.md

Nginx

Custom.Debian10

Nginx Debian10运行时层

README.md

Python310

  • Custom

  • Custom.Debian10

Python 3.10.5运行时层

README.md

Python310-Package-Collection

Custom.Debian10

Python 3.10运行时的常用依赖库集合

README.md

Python39

  • Custom

  • Custom.Debian10

Python 3.9.13运行时层

README.md

Python39-Package-Collection

  • Custom

  • Custom.Debian10

Python 3.9运行时的常用依赖库集合

README.md

Python38

  • Custom

  • Custom.Debian10

Python 3.8.13运行时层

README.md

Python38-Package-Collection

  • Custom

  • Custom.Debian10

Python 3.8.13运行时的常用依赖库集合

README.md

Python36

Custom

Python 3.6.15运行时层

README.md

Python36-Package-Collection

Custom

Python 3.6.15的常用依赖库集合

README.md

Dotnet6

  • Custom

  • Custom.Debian10

ASP.NET 6.0.5运行时层

README.md

PHP72

Custom

PHP 7.2运行时层

README.md

Java8

Custom.Debian10

Java 8运行时层

README.md

Java11

  • Custom

  • Custom.Debian10

Java 11运行时层

README.md

Java17

  • Custom

  • Custom.Debian10

Java 17运行时层

README.md

Java21

Custom.Debian10

Java 21运行时层

README.md

Nodejs20

Custom.Debian10

Node.js 20运行时层

README.md

Nodejs18

Custom.Debian10

Node.js 18运行时层

README.md

Nodejs17

Custom

Node.js 17运行时层

README.md

Nodejs16

  • Custom

  • Custom.Debian10

Node.js 16运行时层

README.md

Nodejs14

Custom

Node.js 14运行时层

README.md

Nodejs12

Custom

Node.js 12运行时层

README.md

Go1

Custom.Debian10

Go 1运行时层

README.md

Go118

Custom

Go 1.x运行时层

README.md

常用依赖库

公共层名称

兼容的运行时

说明

版本(只展示核心库的版本号)

使用前必读

Python310-OSS2

  • Python 3.10

  • Custom.Debian10

阿里云对象存储OSS提供的Python SDK,名称为OSS2

-

README.md

Python39-OSS2

  • Python 3.9

  • Custom.Debian10

阿里云对象存储OSS提供的Python SDK,名称为OSS2

-

README.md

Python310-TensorFlow2x

  • Python 3.10

  • Custom.Debian10

一款开源机器学习框架(CPU版)

tensorflow==2.15.0.post1

README.md

Python3x-PyMongo4x

  • Python 3.10

  • Custom.Debian10

一款开源的科学计算库

PyMongo==4.6.1

README.md

Python3x-Pandas2x

  • Python 3.9

  • Custom.Debian10

一个基于NumPy的开源的数据分析和处理工具

pandas==2.2.1

README.md

Python310-PyTorch2x

  • Python 3.10

  • Custom.Debian10

一款开源机器学习框架(CPU版)

torch==2.2.1+cpu

README.md

Python39-Pandas1x

  • Python 3.9

  • Custom

  • Custom.Debian10

一个基于NumPy的开源的数据分析和处理工具

pandas==1.4.3

README.md

Python39-SciPy1x

  • Python 3.9

  • Custom

  • Custom.Debian10

一款开源的科学计算库

  • scipy==1.9.0

  • numpy==1.23.2

README.md

Python36-SciPy1x

  • Python 3.6

  • Custom

一款开源的科学计算库

  • scipy-1.5.4

  • numpy-1.19.5

README.md

Python39-PyTorch1x

  • Python 3.9

  • Custom

  • Custom.Debian10

一款开源机器学习框架(CPU版)

  • torch==1.12.1+cpu

  • torchaudio==0.12.1+cpu

  • torchvision==0.13.1+cpu

README.md

Python36-PyTorch1x

  • Python 3.6

  • Custom

一款开源机器学习框架(CPU版)

  • 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

一个基于Python编写的轻量级的Web框架

flask-v2.2.2

README.md

Nodejs-Puppeteer17x

  • Node.js 16

  • Node.js 14

  • Custom

  • Custom.Debian10

一个Headless Chrome工具

puppeteer-v17.1.0

README.md

Nodejs-Puppeteer10x

  • Node.js 14

  • Node.js 12

  • Node.js 10

  • Custom

一个Headless Chrome工具

puppeteer-v10.2.0

README.md

Python310-Opencv4x

  • Python 3.10

  • Custom.Debian10

一个跨平台的计算机视觉库

opencv_python-4.7.0.68

README.md

SQLite3

  • Python 3.9

  • Node.js 16

  • Node.js 14

  • Java 11

  • Java 8

  • Custom

一种轻量型、进程内的关系型数据库

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

一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序

6.0

README.md

Nodejs-Puppeteer19x

Custom.Debian10

一个Headless Chrome 工具

puppeteer-v19.8.5

README.md

Python38-Playwright

Custom.Debian10

进行网页自动化操作

playwright==1.31.1

README.md

Poppler22x-Pdf2image

Python 3.10

一个用来渲染PDF文档的程序库

  • pdf2image-1.16.3

  • poppler-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

一个开源开放的Serverless开发者平台,致力于为开发者提供强大的工具链体系

2.1.14

README.md

Web框架

公共层名称

兼容的运行时

版本(只展示核心库的版本号)

使用前必读

Python3-Flask2x

  • Python 3.9

  • Python 3.10

  • Custom

  • Custom.Debian10

flask-2.2.2

README.md

阿里云SDK

公共层名称

兼容的运行时

说明

使用前必读

Python310-Aliyun-SDK

  • Python 3.10

  • Custom.Debian10

阿里云常用SDK(Python3.10)

README.md

Aliyun-DataX

  • Python 3.6

  • Python 3.9

  • Custom

  • Custom.Debian10

阿里云DataWorks数据集成的开源版本

README.md

Python39-Aliyun-SDK

  • Python 3.9

  • Custom

阿里云常用SDK(Python3.9)

README.md

Python36-Aliyun-SDK

  • Python 3.6

  • Custom

阿里云常用SDK(Python3.6)

README.md

Nodejs-Aliyun-SDK

  • Node.js 20

  • Node.js 18

  • Node.js 16

  • Node.js 14

  • Custom

  • Custom.Debian10

阿里云常用SDK(Node.js 20/Node.js 18/Node.js 16/Node.js 14)

README.md

通过控制台配置官方公共层

前提条件

创建函数

操作步骤

  1. 登录函数计算控制台,在左侧导航栏,单击函数

  2. 在顶部菜单栏,选择地域,然后在函数页面,单击目标函数。

  3. 在函数详情页面,选择配置页签。

  4. 选择左侧页签,单击编辑,在编辑函数层面板选择+添加层 > 添加官方公共层,然后选择官方公共层层版本,最后单击部署

说明
  • 一个函数最多支持配置5个层,包括自定义层和官方公共层。

  • 当函数配置多个层时,这些层的内容将被合并至/opt目录,多个层按照层配置的逆序合并。如果多个层中有同名文件,先配置的层会覆盖后配置的层中的同名文件。

通过Serverless Devs配置官方公共层

前提条件

操作步骤

  1. 执行以下命令查找指定地域下的自定义层。

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

    执行成功后,返回官方公共层列表,如下所示。从中获取目标层的ARN并记录。

    - 
      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

    示例解析如下:

    • layerName:层名称。

    • version:层版本。

    • arn:层的ARN。

    • acl:层的权限。取值0代表私有,取值1代表公有。官方公共层默认为公有,自定义层可以设置为私有或者公有。

    • description:层的描述信息。

    • compatibleRuntime:兼容的运行时列表。

  2. 在目标目录下创建s.yaml文件,填写获取的层的新ARN。

    示例如下:

    edition: 3.0.0
    name: hello-world-app
    access: "default"
    
    vars: # 全局变量
      region: "cn-hangzhou"
    
    resources:
      hello_world:
        component: fc3 # 组件名称
        # actions:       # 自定义执行逻辑,关于actions 的使用,可以参考:https://docs.serverless-devs.com/serverless-devs/yaml#%E8%A1%8C%E4%B8%BA%E6%8F%8F%E8%BF%B0actions
        props:
          region: ${vars.region}              # 关于变量的使用方法,可以参考: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:    # 函数绑定层,取值是层的ARN
            - acs:fc:cn-hangzhou:official:layers/Python39-Aliyun-SDK/versions/3
  3. 在目标目录下创建code层级,然后在code下准备函数代码。

  4. 在目标目录执行以下命令部署函数并为其配置层。

    s deploy

更多信息