NetlifyDeployer
NetlifyDeployer 類別會調整 Mastra 的輸出,以建立最佳化的伺服器版本,並處理封裝、設定與部署。它以 Netlify 專屬功能擴充基礎 Deployer 類別,讓你可以在 Netlify serverless function 或 edge function 中執行 Mastra。
安裝「安裝」的直接連結
若要使用 NetlifyDeployer,必須安裝 @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:
src/mastra/index.ts
import { Mastra } from '@mastra/core'
import { NetlifyDeployer } from '@mastra/deployer-netlify'
export const mastra = new Mastra({
deployer: new NetlifyDeployer(),
})
建構函式選項「建構函式選項」的直接連結
target?: 'serverless' | 'edge':Netlify 的部署目標。預設為'serverless'。'serverless':標準 Netlify Functions(Node.js 執行階段,預設逾時時間為 60 秒)。'edge':Netlify Edge Functions(以 Deno 為基礎的執行階段,在最接近使用者的 edge 執行,沒有固定逾時時間)。
Edge function 範例「Edge function 範例」的直接連結
src/mastra/index.ts
import { Mastra } from '@mastra/core'
import { NetlifyDeployer } from '@mastra/deployer-netlify'
export const mastra = new Mastra({
deployer: new NetlifyDeployer({
target: 'edge',
}),
})
輸出「輸出」的直接連結
執行 mastra build 後,deployer 會產生 .netlify 資料夾。建置輸出包含專案中的所有 Agent、Tool 與 Workflow,以及用於設定 Netlify Frameworks API 的 config.json 檔案。
Serverless 輸出(預設)「Serverless 輸出(預設)」的直接連結
your-project/
└── .netlify/
└── v1/
├── config.json
└── functions/
└── api/
├── index.mjs
├── package.json
└── node_modules/
config.json 檔案包含:
{
"functions": {
"directory": ".netlify/v1/functions",
"node_bundler": "none",
"included_files": [".netlify/v1/functions/**"]
},
"redirects": [
{
"force": true,
"from": "/*",
"to": "/.netlify/functions/api/:splat",
"status": 200
}
]
}
Edge 輸出「Edge 輸出」的直接連結
your-project/
└── .netlify/
└── v1/
├── config.json
└── edge-functions/
├── index.mjs
├── package.json
└── node_modules/
config.json 檔案包含:
{
"edge_functions": [
{
"function": "index",
"path": "/*"
}
]
}