
# 为函数配置依赖包
本章节介绍如何通过函数工作流控制台，对函数依赖包进行创建、配置和删除操作。
#### 操作场景
依赖包为函数提供依赖库、运行时环境及扩展能力。关于函数依赖包的相关介绍请参考[函数依赖包概述](https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_0502.html)。
私有依赖包需先在函数工作流控制台创建后再配置使用，公共依赖包可直接配置使用。如函数代码中需使用标准库和FunctionGraph内置的部分非标准库，可参考[支持引入的依赖库说明](https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_0502.html#functiongraph_01_0502__section5205141718315)在函数代码中引入使用。
#### 约束与限制
- 一个函数最多支持添加20个依赖包。
- 正在被函数使用的依赖包无法被删除。
- 各个依赖包与代码文件之间，应避免出现同名的目录或文件。例如依赖包depends.zip中包含index.py文件，若采用在线编辑方式的编写代码，函数执行入口为index.handler，函数执行将生成名为index.py的代码文件，与依赖包内的index.py文件重名，可能导致文件覆盖或合并错误。
 
#### 前提条件
如需为函数配置私有依赖包，应先在本地完成[函数私有依赖包的制作](https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_0398.html)。
#### 操作视频
本视频介绍如何在函数工作流控制台，上传本地制作的函数私有依赖包，并为函数配置依赖包。
因产品功能演进，操作界面可能存在差异，相关视频仅供参考，具体以实际环境为准。
<video controls="controls" preload="none" id="object20599164011488" class="idp-external-video" src="https://res-video.hc-cdn.com/cloudbu-site/china/zh-cn/support/functiongraph-video/1751250934124251989.mp4" title="创建依赖包" poster="https://support.huaweicloud.com/usermanual-functiongraph/zh-cn_image_0000002383360373.jpg" style="width:100%;height:auto;max-width:600px"></video>
 #### 创建函数依赖包
**仅函数私有依赖包需执行创建函数依赖包操作，公共依赖包可直接进行[配置函数依赖包]操作。**
1. 登录[函数工作流控制台](https://console.huaweicloud.com/functiongraph/?locale=zh-cn)，在左侧导航栏选择"函数 \> 依赖包管理"，进入"依赖包管理"界面。
2. 单击"创建依赖包"，弹出"创建依赖包"对话框。
3. 参考[表1]配置依赖包参数。
   
    表1依赖包配置参数说明 
   | 参数     | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   |:---|:---|
   | 依赖包名称  | 自定义依赖包名称，便于识别不同的依赖包。 可包含字母、数字、下划线、点和中划线，长度不超过96个字符。以大/小写字母开头，以字母或数字结尾。                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | 运行时    | 选择依赖包使用的运行时语言。 支持选择Cangjie、Node.js、Python、Java、PHP、Go、C#和Custom（定制运行时）。                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   | 代码上传方式 | 分为在线构建、上传ZIP文件和从OBS上传ZIP文件。 - 上传ZIP文件：单击"添加文件"，上传ZIP代码文件。**上传的文件大小限制为10MB。**  - 从OBS上传文件：填写OBS桶中zip文件的对象"OBS链接"。请注意，OBS桶与函数所在区域需一致。如何在OBS中上传文件对象请参见[上传对象](https://support.huaweicloud.com/usermanual-obs/zh-cn_topic_0045829661.html)，OBS存储链接获取方法请参见[通过URL访问对象](https://support.huaweicloud.com/usermanual-obs/obs_03_0319.html)。   |
   | 描述     | 自定义填写依赖包的描述信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
      
   
   
4. 单击"创建"，完成依赖包的创建，进入依赖包详情页。默认首次创建的依赖包版本为"1"。
**为依赖包创建版本**
在依赖包详情页，如[图1]所示可以查看当前依赖包下的所有版本和版本相关信息。支持针对同一依赖包，进行不同版本的系统化管理。
- 单击"创建版本"，填写相关信息，可以创建新的依赖包版本，版本号默认+1。创建成功后详情页默认展示最新版本的依赖包。
- 单击"版本"列下具体的版本号，可以切换查看版本的信息。
- 单击版本号所在行的"下载"和"删除"，可以下载和删除该版本。
  图1依赖包版本管理   
  ![](https://support.huaweicloud.com/usermanual-functiongraph/zh-cn_image_0000002395333673.png "点击放大")
  
  
 
 #### 配置函数依赖包
如果函数配置的私有依赖包体积较大，建议在函数详情页的"设置 \> 常规设置"中调整函数执行时间，在原有基础上适当延长超时时间，以防止函数因执行超时而执行失败。
**配置函数依赖包操作步骤：**
1. 登录[函数工作流控制台](https://console.huaweicloud.com/functiongraph/?locale=zh-cn)，在左侧导航栏选择"函数 \> 函数列表"，进入函数列表界面。
2. 单击函数名称，进入函数详情界面。
3. 在"代码"页签的最下方，单击"添加依赖包"，弹出"选择依赖包"对话框。
4. 参考[表2]选择依赖包配置，单击"确定"完成依赖包添加。
   
    表2依赖包配置说明 
   | 参数    | 说明                                                                                                                                                                                                                                                                                                                                                                                         |
   |:---|:---|
   | 运行时   | 默认展示当前函数的运行时语言，无法修改。                                                                                                                                                                                                                                                                                                                                                                       |
   | 依赖包源  | 根据实际业务，选择"公共依赖包"或"私有依赖包"。 - 公共依赖包：函数工作流服务提供的系统内置依赖包。  - 私有依赖包：用户通过[创建函数依赖包]步骤自行上传的依赖包。   |
   | 依赖包名称 | 选择当前运行时语言下所需的依赖包。                                                                                                                                                                                                                                                                                                                                                                          |
   | 版本    | 选择当前依赖包的具体版本。                                                                                                                                                                                                                                                                                                                                                                              |
      
   
   
5. 代码依赖包添加成功后如[图2]所示。
   
   图2成功添加代码依赖包   
   ![](https://support.huaweicloud.com/usermanual-functiongraph/zh-cn_image_0000002395332145.png "点击放大")
   
   
   
 
#### 删除依赖包
依赖包无法在"依赖包管理"界面直接删除，如需删除，请先删除依赖包下的所有版本，当所有版本全部删除完成后，依赖包会自动删除。
1. 登录函数工作流控制台，在左侧导航栏选择"函数 \> 依赖包管理"，进入"依赖包管理"界面。
2. 单击依赖包名称，进入依赖包详情页。
3. 如[图3]所示，单击"版本管理"下依赖包版本号所在行的"删除"**，** 即可删除该版本。
   
   图3删除依赖包版本   
   ![](https://support.huaweicloud.com/usermanual-functiongraph/zh-cn_image_0000002117778333.png "点击放大")
   
   
   
 
#### 相关文档
除使用控制台外，函数工作流支持通过API的方式管理函数依赖包，详情请参见[函数依赖包API](https://support.huaweicloud.com/api-functiongraph/Dependencies.html)。
