本文介紹從開通邊緣函數服務到使用邊緣函數的全流程,便於您快速上手邊緣函數。
阿里雲全站加速DCDN計劃於北京時間2025年5月8日 00:00 ~ 5月13日 23:00逐步停止新使用者開通邊緣函數功能(已開通服務的使用者不受影響)。
如果您有該功能的需求,建議您升級到ESA邊緣安全加速服務,使用邊緣安全加速 ESA的邊緣函數功能。
流程概覽
當您初次使用邊緣函數時,需要先開通DCDN產品,具體步驟如下圖所示:
邊緣函數目前是Beta功能,僅面向部分客戶開放。如果您的DCDN日常頻寬峰值大於500 Mbps,可以提交工單申請。申請通過後,邊緣函數菜單入口才可見。
開通邊緣函數服務
登入DCDN控制台。
在左側導覽列,單擊邊緣函數。
單擊,開通邊緣函數服務。
建立和配置函數
登入DCDN控制台。
在左側導覽列,單擊邊緣函數。
如果您是第一次使用邊緣函數,請先設定子域。
在邊緣函數頁面,單擊设置子域。

在创建子域對話方塊中,輸入子網域名稱稱。
說明子域相當於一個倉庫,您建立的邊緣函數均放在該倉庫下,子網域設定後無法修改。
子域是每個使用者的唯一識別碼,子域也將用作函數ID的一部分。
子網域設定後無法更改,支援小寫英文字母、數字和中劃線,名稱長度不能小於2個字元,例如subdomain-name。
單擊確定。
在邊緣函數頁面,單擊建立函數。

參數
說明
函數名稱
請輸入函數名稱。
說明支援小寫英文、數字和中劃線,名稱長度不能小於2個字元,例如routine-name。函數名建立後無法修改。
描述
(選填)函數的描述資訊。
规格
函數代碼單次執行最多使用的CPU時間(不包含等待網路請求響應的I/O時間),RT最大值120秒,可用記憶體128 MB。不同規格的費用不同,預設選擇50 ms規格。更多計費資訊,請參見邊緣函數計費說明。
单个请求可用CPU时间片:5ms
单个请求可用CPU时间片:50ms(預設)
单个请求可用CPU时间片:100ms
函數建立完成後,可單擊操作列的详情,進入函數詳情頁進行配置。各個環境的配置相互獨立,您可以按需分別修改生產環境、測試環境和灰階環境(選配)的配置。
參數
說明
函數規格
函數代碼單次執行最多使用的CPU時間(不包含等待網路請求響應的I/O時間),RT最大值120秒,可用記憶體128 MB,預設選擇50 ms規格。
单个请求可用CPU时间片:5ms
单个请求可用CPU时间片:50ms(預設)
单个请求可用CPU时间片:100ms
網域名稱白名單
允許關聯該函數的網域名稱。
支援填寫泛網域名稱。
網域名稱白名單預設為空白,表示任意網域名稱都可關聯該函數。
說明例如您設定了example.com,則表示只有example.com的請求可以觸發該函數執行,其他網域名稱的請求將被該函數拒絕。
網域名稱關聯函數
函數需要網域名稱作為入口供用戶端訪問,網域名稱可使用CDN或DCDN加速網域名稱。函數建立並配置完畢後,您需要將DCDN的網域名稱關聯該邊緣函數,用戶端通過訪問網域名稱觸發函數執行。具體以您網域名稱所在的產品進入對應控制台為準。
登入DCDN控制台。
在左側導覽列,單擊域名管理。
在域名管理頁面,單擊目標網域名稱對應的配置。
在指定網域名稱的左側導覽列,單擊邊緣函數。
在邊緣函數頁面,開啟並配置邊緣函數ID。

參數
說明
邊緣函數ID
邊緣函數ID是每個函數的唯一識別碼。組成方式:函數名稱.子域。
說明在DCDN控制台左側,單擊邊緣函數,在函數頁面您可以看到對應函數的ID。

触发模式
訪問DCDN網域名稱的請求將觸發邊緣函數執行,執行方式有兩種:
重定向:DCDN網域名稱的請求將被邊緣函數完全接管。邊緣函數內的代碼邏輯由您自行開發,可直接返回結果給用戶端、通過CacheAPI讀取緩衝、通過fetch請求回源等。
旁路:DCDN網域名稱的請求僅觸發邊緣函數執行,隨後繼續執行DCDN配置並回源,適合於一些鑒權校正或日誌打點的情境。
执行异常时是否回源
是:當邊緣函數執行異常,邊緣節點將以用戶端URL的形式請求DCDN標題來源站,您可以在來源站點實現兜底和容災機制。
否:當邊緣函數執行異常,直接返回5xx狀態代碼給用戶端。
說明首次使用邊緣函數建議您將該參數設定為否,通過返回5xx狀態代碼可排查使用中遇到的問題。
執行異常時,回源的請求將按請求數計費。該部分異常的回源請求一般情況下佔比極低,可忽略。
開發並調試函數
登入DCDN控制台。
在左側導覽列,單擊邊緣函數。
選擇您建立的函數,單擊详情。
在详情頁面,選擇代码頁簽,即可開始使用JavaScript開發邊緣函數(預設是HelloWorld範例程式碼)。

編寫完代碼後,單擊发布到测试环境。您可以選擇頁面上提供的任一測試環境IP進行Host綁定測試,調試函數代碼。
說明綁定Host的方式是修改測試機本地Host檔案,加入測試IP和網域名稱。例如添加10.10.10.10 example.com(IP替換為上圖提供的任一IP,網域名稱替換為您關聯該函數的DCDN網域名稱)。
產生正式版本
代碼調試完畢後,在代码頁簽,單擊生成正式版本。
發布
在详情頁面,選擇版本和发布頁簽,選擇一個版本ID單擊操作列的发布。
選擇需要發布的環境(测试环境、生产环境或灰度环境)。
說明建議的發布順序:先逐個發布到各個灰階環境,所有灰階環境全部發完後,再發布至生產環境。
單擊確定,所有生產環境的節點都將部署該版本的函數代碼。
日常迭代
以上是HelloWorld樣本函數的配置和發布。
日常的函數代碼更新迭代您可以參考:開發並調試函數、產生正式版本、發布三個環節。
如果您需要調整函數規格、網域名稱白名單等函數的配置,可參考:建立和配置函數。
如果您希望關閉DCDN網域名稱的邊緣函數功能,刪除網域名稱關聯函數中的邊緣函數配置即可。