全部產品
Search
文件中心

Function Compute:管理函數

更新時間:Jan 10, 2025

Function Compute的資源調度與運行以函數為單位。一個服務下可以建立多個函數,這些函數彼此相互獨立,互不影響,但這些函數可以共用一些相同的設定,例如服務授權和日誌配置等。您可以通過Function Compute控制台建立函數、更新函數及擷取函數ARN等。

前提條件

已建立服務

建立函數

  1. 登入Function Compute控制台,在左側導覽列,單擊服務及函數

  2. 在頂部功能表列,選擇地區,然後在服務列表頁面,單擊目標服務。

  3. 函數管理頁面,單擊建立函數

  4. 建立函數頁面,按需選擇建立函數的方式,配置以下配置項,然後單擊建立

    說明

    本文以使用內建運行時建立使用自訂運行時建立方式為例進行說明。如果Function Compute提供的環境無法滿足您的業務需求,您可以使用容器鏡像建立方式部署函數。具體操作,請參見建立Custom Container函數

    • 基本設定:配置函數的基本資料,包括函數名稱請求處理常式類型請求處理常式類型包括以下兩種。

      • 處理事件請求:通過定時器、調用API/SDK或其他阿里雲服務的觸發器來觸發函數執行。

      • 處理 HTTP 要求:用於處理HTTP請求或WebSocket請求的函數。如果您的使用情境是Web情境,建議您使用自訂運行時建立

    • 函數代碼:配置函數的運行環境和代碼相關資訊。

      配置項

      說明

      樣本

      運行環境

      選擇您熟悉的語言,例如Python、Java、PHP或Node.js等。Function Compute支援的運行環境,請參見Function Compute支援的函數運行環境列表

      Node.js14

      代碼上傳方式

      選擇上傳函數代碼到Function Compute的方式。

      • 使用範例程式碼:預設,您可以根據業務需要選擇Function Compute為您提供的建立函數的範例程式碼。

      • 通過 ZIP 包上傳代碼:選擇函數代碼ZIP包並上傳。

      • 通過 JAR 包上傳代碼:選擇函數代碼JAR包並上傳。

      • 通過檔案夾上傳代碼:選擇包含函數代碼的檔案夾並上傳。

      • 通過 OSS 上傳代碼:選擇上傳函數代碼的Bucket 名稱檔案名稱

      說明
      • 代碼上傳方式選擇使用範例程式碼時,不需要修改請求處理常式。當選擇其他代碼上傳方式時,則需要根據實際情況修改請求處理常式,否則函數執行時會報錯。

      • 運行環境選擇為Java 8Java 11時,只支援使用範例程式碼通過 JAR 包上傳代碼通過 OSS 上傳代碼。其餘運行環境支援使用範例程式碼通過 ZIP 包上傳代碼通過檔案夾上傳代碼通過 OSS 上傳代碼

      使用範例程式碼

      啟動命令

      說明

      僅當您選擇使用自訂運行時建立函數時,需設定此配置項。

      程式的啟動命令。如果不配置啟動命令,您需要在代碼的根目錄手動建立一個名稱為bootstrap的啟動指令碼,您的程式通過此指令碼來啟動。

      npm run start

      監聽連接埠

      說明

      僅當您選擇使用自訂運行時建立函數時,需設定此配置項。

      您的代碼中的HTTP Server所監聽的連接埠。

      9000

    • 進階配置:配置函數的執行個體相關資訊和函數執行逾時時間等。

      配置項

      說明

      樣本

      規格方案

      根據您的業務情況,選擇或手動輸入合理的vCPU規格記憶體規格組合。關於各資源使用的計費詳情,請參見計費概述

      說明

      vCPU大小(單位為核)與記憶體大小(單位為GB)的比例必須設定在1∶1到1∶4之間。

      0.35核,512 MB

      臨時硬碟大小

      根據您的業務情況,選擇臨時隱藏檔的硬碟大小。

      取值說明如下。

      • 512 MB:預設值。不計費,Function Compute為您提供512 MB以內的硬碟免費使用額度。

      • 10 GB:按9.5 GB進行計費。

      說明

      臨時硬碟中所有目錄可寫,共用臨時硬碟的空間。

      臨時硬碟大小與底層執行函數的執行個體生命週期一致,執行個體被系統回收後,硬碟上的資料也會消失。如您需要對檔案進行持久化儲存,可以選擇掛載NAS或OSS。具體操作,請參見配置NAS檔案系統配置OSS檔案系統

      512 MB

      執行個體並發度

      設定函數執行個體的並發度。具體資訊,請參見設定執行個體並發度

      10

      執行逾時時間

      設定逾時時間。執行逾時時間預設為60秒,最長為86400秒。

      60

      請求處理常式

      佈建要求處理常式,Function Compute的運行時會載入並調用您的請求處理常式處理請求。選擇使用自訂運行時建立使用容器鏡像建立函數時,無需設定此配置項。

      說明

      代碼上傳方式選擇使用範例程式碼時,不需要修改請求處理常式。當選擇其他代碼上傳方式時,則需要根據實際情況修改請求處理常式,否則函數執行時會報錯。

      index.handler

      時區

      選擇函數的時區。此處設定函數的時區後,將自動為函數添加一條環境變數TZ,其值為您設定的目標時區。

      UTC

    • 環境變數:設定函數運行環境中的環境變數。更多資訊,請參見環境變數

    • 觸發器配置:設定函數的觸發器,您可以使用觸發器觸發函數執行。更多資訊,請參見觸發器管理

更新函數

  1. 登入Function Compute控制台,在左側導覽列,單擊服務及函數

  2. 在頂部功能表列,選擇地區,然後在服務列表頁面,單擊目標服務。

  3. 函數管理頁面,單擊目標函數操作列的配置

  4. 在編輯函數配置頁面,按需修改相應的配置項,單擊儲存

    • 基礎資訊

      配置函數的基礎資訊。目前僅支援修改函數描述規格方案硬碟大小執行個體並發度

    • 環境資訊

      配置函數的運行環境和其他關鍵配置項。更多資訊,請參見建立函數

    • 其他配置

      配置項

      說明

      參考文檔

      環境變數

      配置函數運行環境中的環境變數。

      環境變數

      執行個體生命週期回調

      配置函數執行個體的生命週期回調,包括初始化函數PreFreeze 函數PreStop 函數

      函數執行個體生命週期

      選擇已建立的層名稱和版本。層可以為您提供自訂的公用依賴庫、運行時環境及函數擴充等發布與部署能力。

      建立自訂層

      DNS 配置

      配置自訂DNS,平台根據該配置產生resolv.conf

      在函數中配置自訂DNS

說明

您也可以根據提示刪除不需要的函數。

擷取函數ARN

資源ARN(Aliyun Resource Name)用於在代碼中定位阿里雲資源。您可以擷取函數的ARN,便於引用函數。

  1. 登入Function Compute控制台,在左側導覽列,單擊服務及函數

  2. 在頂部功能表列,選擇地區,然後在服務列表頁面,單擊目標服務。

  3. 函數管理頁面,單擊需擷取ARN的函數名稱。

  4. 在函數詳情頁面,選擇函數配置頁簽,在基礎資訊地區,查看並複製函數的ARN。

Function Compute支援的函數運行環境列表

運行環境

說明

文檔連結

Node.js 6

Node.js 6版本

Node.js運行環境

Node.js 8

Node.js 8版本

Node.js 10

Node.js 10版本

Node.js 12

Node.js 12版本

Node.js 14

Node.js 14版本

Node.js 16

Node.js 16版本

Python 2.7

Python 2.7版本

Python運行環境

Python 3

Python 3.6版本

Python 3.9

Python 3.9版本

Python 3.10

Python 3.10版本

PHP 7.2

PHP 7.2.7版本

PHP運行環境

Java 11

Java 11版本

Java運行環境

Java 8

Java 8版本

.NET Core 3.1

.NET Core 3.1版本

.NET Core運行環境

Go 1.x

Go 1.8或以上版本

Go運行環境

Custom Runtime

自訂運行時(Debian 9)

Custom Runtime運行環境

Custom Runtime(Debian 10)

自訂運行時(Debian 10)

Custom Container

Custom Container運行環境

相關文檔

  • 除控制台外,Function Compute還提供以下方式來管理函數。