跳到正文
Vercel Blog(vercel.com)· Nik Sidnev·· 1 天前精選品質評分67

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.

來源: Vercel Blog (vercel.com)
開啟原文