Vercel Daemons 現可透過繫結呼叫服務
Vercel Daemons can now call services with bindings
Vercel Daemons 現已支援服務繫結,允許在 Daemon 執行時直接呼叫部署內部服務。
- 繫結設定:在
vercel.toml中使用[[daemons.worker.bindings]]定義,指定service="api"、format="url"、env="API_URL"。
Vercel 透過 Daemon 服務繫結,讓後端服務能在 Daemon 執行時直接呼叫,簡化內部網路配置與授權流程
Vercel Daemons 現在可以透過 service bindings 呼叫其部署中的 services.
在 daemon 上宣告繫結。它會指定目標服務以及接收該服務 URL 的環境變數:
vercel.toml
[services.api]
root = "api/"
entrypoint = "main:app"
[daemons.worker]
root = "worker/"
entrypoint = "Dockerfile"
instances = { iad1 = 1 }
[[daemons.worker.bindings]]
type = "service"
service = "api"
format = "url"
env = "API_URL"
一個 daemon 繫結 api 服務,並以 API_URL 暴露給 worker。
daemon 會像呼叫任何其他 HTTP 端點一樣呼叫該 URL。Vercel 會處理內部路由、身份驗證和 TLS,且服務保持私有:
worker/worker.ts
await fetch(new URL('jobs/next', process.env.API_URL));
使用普通 fetch 從 daemon 呼叫已繫結的服務
繫結是單向的:服務無法繫結到 daemon。每個例項仍會持續呼叫啟動它的部署,即使在升級或回滾後。
瞭解有關 daemon 服務繫結的更多資訊,請參閱 docs.