跳轉到主要內容

概述

函數API提供用於調用和管理無伺服器函數的端點。在雲端環境中,函數在Deno Subhosting上邊界運行。在自主機(Docker)環境中,函數在本機Deno執行階段中執行。

標頭

針對經過驗証的函數調用:
針對管理員端點:

呼叫函數

使用任何HTTP方法(GET、POST、PUT、PATCH、DELETE等)執行已部署的函數。伺服器保留並將呼叫者的原始方法轉送到函數執行階段。
注意:函數調用使用/functions/{slug}(沒有/api前置詞),不是/api/functions/{slug}

路徑參數

參數類型說明
slugstring函數slug識別碼

請求本文

函數期望的任何JSON承載。

範例

回應

回應取決於函數傳回的內容:

管理員端點

這些端點需要管理員驗証。

列出所有函數

範例

回應


取得函數詳細資訊

範例

回應


建立函數

目前,InsForge只支援在Deno環境中執行的JavaScript/TypeScript函數。

請求本文

欄位類型必需說明
namestring函數的顯示名稱
codestringJavaScript/TypeScript代碼
slugstringURL友善的識別碼(如果未提供,則自動產生)
descriptionstring函數的說明
statusstringdraftactive(預設:active

範例

回應


更新函數

請求本文

欄位類型必需說明
namestring更新的顯示名稱
codestring更新的函數代碼
descriptionstring更新的說明
statusstringdraftactiveerror

範例

回應


刪除函數

範例

回應


函數代碼結構

函數必須匯出一個接收Request物件並傳回Response的預設異步函數:

存取請求資料


函數狀態

狀態說明
draft函數已儲存但未部署
active函數已部署並可以呼叫
error函數有部署錯誤

錯誤回應

找不到函數(404)

函數未啟用(404)

執行錯誤(502)

當函數執行階段無法到達時(自主機:本機Deno執行階段已關閉;雲端:子託管代理失敗):

函數執行階段錯誤(500)

當函數代碼擲回錯誤時:

Slug已存在(409)

偵測到危險代碼(400)