全部產品
Search
文件中心

Function Compute:為函數安裝第三方依賴

更新時間:Jul 19, 2024

Function Compute的各運行環境中已內建常用的依賴,供您直接在函數中引用。如果這些內建依賴不能滿足您的專案需求,可以安裝額外的第三方依賴。本文介紹如何為函數安裝第三方依賴。

背景資訊

您可以在以下文檔的內建模組章節,查看Function Compute內建的常用依賴。

通過層安裝依賴

Function Compute已經發布的官方公用層預裝了常見的依賴庫,可以直接使用,您也可以構建自訂層安裝所需依賴。如您想擷取更多的公開層,請參見awesome-layers

使用公用層安裝依賴

  • 官方公用層

    登入Function Compute控制台,建立函數或找到目標函數,選擇配置 > ,單擊編輯,然後在編輯函數層面板選擇+添加層 > 添加官方公用層。具體操作,請參見配置官方公用層

  • 非官方公用層

    awesome-layers找到目標層,擷取層ARN。在函數詳情頁面,選擇配置 > ,單擊編輯,然後在編輯函數層面板選擇+添加層 > 通過 ARN 添加層

image

構建自訂層安裝依賴

  • 通過控制台線上構建層

    登入Function Compute控制台,在左側導覽列,選擇進階功能 > 層管理。具體操作,請參見建立自訂層

    說明

    此方式不支援包含系統動態連結程式庫(.so)的依賴,例如Node.js的依賴庫Puppeteer。如果依賴包含動態連結程式庫(.so),推薦使用Dockerfile檔案構建層

  • 本地構建層

    您可以在本地構建直接構建自訂層。具體操作,請參見構建層的ZIP包。使用此方式需要確保本地的作業系統和處理器架構與Function Compute運行時環境完全一致,即架構為x86_64的Linux系統,或者安裝的依賴庫不依賴底層環境和處理器架構。否則,推薦您使用控制台線上構建層或者使用Dockerfile方式構建層

    例如,Python的科學計算庫numpy對底層環境有依賴,如果使用M1晶片的Mac系統,不能使用本地構建方式安裝依賴。

  • 使用Dockerfile檔案構建層

    如果依賴包含底層動態連結程式庫,或者在本地安裝依賴失敗,可以使用Dockerfile的方式安裝。具體操作,請參見如何基於Dockerfile構建層

通過Function Compute控制台安裝依賴

打包依賴並上傳到控制台

  1. 將第三方依賴與代碼檔案打包。

    重要
    • 您需要進入代碼目錄,打包所有檔案。打包完成後,入口函數檔案需要位於包內的根目錄。

    • 不同系統下打包方式不同,請您根據實際情況選擇合適的打包方式。

  2. 登入Function Compute控制台,通過上傳 ZIP 包上傳檔案夾通過 OSS 上傳的方式上傳程式碼封裝,部署函數。

通過控制台Web IDE終端安裝依賴

  1. 登入Function Compute控制台,找到目標函數。

  2. 在函數詳情頁面,單擊代碼頁簽,然後在Web IDE介面,選擇Terminal > New Terminal,在終端視窗,執行命令pip install -t . <PackageName> 安裝依賴。

    image

使用Serverless Devs安裝依賴

通過Function Compute的Serverless Devs,建立並部署函數。具體操作,請參見Serverless Devs常用命令