將 Mastra 部署至 Netlify
使用 @mastra/deployer-netlify 將 Mastra 伺服器部署至 Netlify。deployer 會捆綁你的程式碼,並產生符合 Netlify Frameworks API 的 .netlify 目錄,供你直接部署。你可以部署為無伺服器函數(預設),亦可部署為延遲較低、執行時間較長的邊緣函數。
本指南涵蓋如何部署 Mastra 伺服器。如你使用伺服器配接器或網絡框架,請按該框架的一般方式部署。
開始之前開始之前 的直接連結
你需要一個 Mastra 應用程式和一個 Netlify 帳戶。
Netlify Functions 使用暫時性檔案系統,因此你設定的任何儲存空間(包括可觀測性儲存空間)都必須託管於外部。如你使用的 LibSQLStore 採用檔案 URL,請改用遙距託管的資料庫。
安裝安裝 的直接連結
將 @mastra/deployer-netlify 依賴套件加入項目:
- npm
- pnpm
- Yarn
- Bun
npm install @mastra/deployer-netlify@latest
pnpm add @mastra/deployer-netlify@latest
yarn add @mastra/deployer-netlify@latest
bun add @mastra/deployer-netlify@latest
匯入 NetlifyDeployer,並在 Mastra 設定中將它設為 deployer:
import { Mastra } from '@mastra/core'
import { NetlifyDeployer } from '@mastra/deployer-netlify'
export const mastra = new Mastra({
deployer: new NetlifyDeployer(),
})
如要改為部署成邊緣函數,請傳入 { target: 'edge' }:
import { Mastra } from '@mastra/core'
import { NetlifyDeployer } from '@mastra/deployer-netlify'
export const mastra = new Mastra({
deployer: new NetlifyDeployer({
target: 'edge',
}),
})
邊緣函數在最接近使用者的邊緣位置透過 Deno 執行。它們沒有固定的執行逾時限制(只有 CPU 時間限制),因此更適合執行時間較長的 AI Workflow。詳情請參閱建構函數選項。
在項目根目錄建立包含以下內容的 netlify.toml 檔案:
[build]
command = "mastra build"
部署部署 的直接連結
設定好項目後,將它推送至你選用的遙距 Git Provider(例如 GitHub)。
將你的程式碼儲存庫連接至 Netlify。在設定過程中,Netlify 會偵測你的
netlify.toml檔案,並將建置命令設為mastra build。備註請記得設定執行應用程式所需的環境變數(例如你的模型 Provider API 金鑰)。
準備好後,按一下 Deploy 按鈕,並等待首次部署完成。系統會通知你已有一個 函數完成部署。
在
https://<random-slug>.netlify.app/api/agents驗證部署;該網址應傳回你的 Agent JSON 清單。由於 Mastra 伺服器會在每個 API 端點前加上
/api,因此發出請求時必須將它加入 URL。資訊Netlify 函數通常部署於
https://<random-slug>.netlify.app/.netlify/functions/api。NetlifyDeployer會將所有來自/*的請求重新導向至/.netlify/functions/api/:splat,因此 URL 無需包含.netlify/functions前綴。現在你可以透過 HTTP 呼叫 Mastra 端點。
注意對外公開端點前,請先設定驗證。