赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 函数计算 FC 2.0
  4. 操作指南
  5. 函数管理
  6. 层管理
  7. 如何在Custom Runtime中引用层中的依赖

如何在Custom Runtime中引用层中的依赖

  • 层管理
  • 发布于 2025-04-16
  • 0 次阅读
文档编辑
文档编辑

Custom Runtime是自定义运行环境,内置了多种语言版本,比如Python、Node.js、Java和PHP等,这些语言的层打包的方法和原生Runtime是一致的。但是在Custom Runtime中,您需要将层依赖所在目录添加到运行时语言的依赖包搜索路径中。本文介绍Custom Runtime内各语言引用层中依赖的方法。

示例说明

本文添加层所在目录的示例,如/opt/python仅为推荐的目录,如果您是按照创建自定义层页面步骤构建的层ZIP包,则层会默认部署到该目录下。否则,请先确认您构建层ZIP包的目录结构,然后将/opt/python替换为实际的目录。

例如,您的层ZIP包内的目录名为my-layer-code,那么层会部署到/opt/my-layer-code目录下。您需要在函数配置中设置环境变量时,或者代码中增加依赖库搜索路径时使用/opt/my-layer-code路径。

在Custom Runtime-Python语言中引用层中的依赖

  • 方式一:在函数配置中设置PYTHONPATH环境变量,添加层所在的目录。

    示例如下。

    PYTHONPATH=/opt/python
  • 方式二:在您项目的入口文件里添加以下语句,需要在导入层的依赖库前执行。

    import sys
    sys.path.append('/opt/python')
    # import {PackageFromLayer}

具体操作步骤,请参见示例python-demo-with-lib-in-layer。

在Custom Runtime-Node.js语言中引用层中的依赖

在函数配置中设置NODE_PATH环境变量,添加层所在的目录。具体操作步骤,请参见示例nodejs-demo-with-lib-in-layer。

NODE_PATH=/opt/nodejs/node_modules

在Custom Runtime-Java语言中引用层中的依赖

  • 方式一:在启动命令中设置-classpath参数,添加层所在/opt/java/lib/*目录。

    java -Dserver.port=9000 -classpath /code/:/opt/java/lib/* com.example.demo.DemoApplication
  • 方式二:在函数配置中设置CLASSPATH环境变量,添加层依赖所在目录。

    CLASSPATH=/code/:/opt/java/lib/*
重要

使用CLASSPATH环境变量时,不支持使用参数-jar指定JAR包的方式运行程序。例如,java -classpath ${CLASSPATH} -jar yourJarExe.jar示例中,使用-jar参数时,Java JVM会使用JAR包内的MANIFEST.MF,所有环境变量和命令行指定的搜索路径都会被忽略,因此指定的CLASSPATH不会生效。

在Custom Runtime-PHP语言中引用层中的依赖

在您项目的入口文件里添加以下语句,需要在导入层的依赖库前执行。

<?php
$path = '/opt/php';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
相关文章

创建自定义层 2025-04-16 14:22

层可以为您提供公共依赖库、运行时环境及函数扩展等发布与部署能力。您可以将函数依赖的公共库提炼到层或者使用函数计算官方公共层,以减少部署或更新函数时的代码包体积。本文介绍层的注意事项、各运行时使用层说明、如何构建层的ZIP包以及如何创建、删除自定义层。

在函数中配置自定义层 2025-04-16 14:22

本文介绍如何在函数中配置自定义层。 通过控制台配置

在函数中配置官方公共层 2025-04-16 14:22

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

官方公共层使用示例 2025-04-16 14:22

本文介绍使用官方公共层的典型示例。 使用说明 关于官方公共层的最新版本和使用说明,请参见awesome-layers

如何基于Dockerfile构建层 2025-04-16 14:22

本文以Node.js安装Puppeteer依赖为例,介绍如何基于Dockerfile构建层。 背景信息 函数计算提供了多种构建层的方式,对于不包含动态链接库的依赖(例如纯Python库),可直接使用控制台

如何在Custom Runtime中引用层中的依赖 2025-04-16 14:22

Custom Runtime是自定义运行环境,内置了多种语言版本,比如Python、Node.js、Java和PHP等,这些语言的层打包的方法和原生Runtime是一致的。但是在Custom Runtime中,您需要将层依赖所在目录添加到运行时语言的依赖包搜索路径中。本文介绍Custom Runti

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号