CloudFlare 工作环境创建单独的服务,每个服务有 1 个环境,而不是 1 个服务有 2 个环境
CloudFlare worker environment creates separate services with 1 env each, not 1 service with 2 environments
我对 Cloudflare Worker Environments 的预期功能感到困惑。
在 CloudFlare 仪表板中,工作人员有一个环境下拉列表,默认为“生产”。我认为通过利用我的 Wrangler 文件中的环境,我将拥有一个工作人员,但有多个环境。然而,最终发生的是我只有两个工人,最后添加了环境(my-worker-dev 和 my-worker-prod)。这些工人中的每一个都有 1 个环境(生产环境)。
我不确定是我做错了什么还是只是误解了预期的行为。
谁能帮我理解 wrangler 如何在单个 worker/service 中添加不同的名称和“环境”下拉列表之间的区别?
我的 wrangler.toml 文件
name = "my-worker"
type = "javascript"
account_id = "<redacted>"
workers_dev = true
compatibility_date = "2021-12-10"
[env.dev]
vars = { ENVIRONMENT = "dev" }
kv_namespaces = [
{ binding = "TASKS", id = "<redacted>", preview_id = "<redacted>" }
]
[env.prod]
vars = { ENVIRONMENT = "prod" }
kv_namespaces = [
{ binding = "TASKS", id = "<redacted>", preview_id = "<redacted>" },
]
[build]
command = "npm install && npm run build"
[build.upload]
format = "modules"
dir = "dist"
main = "./worker.mjs"
我认为目前在新仪表板功能中定义的“环境”的含义与 pre-existing wrangler“环境”支持之间存在一些脱节/混淆。
对于仪表板/Web UI,您定义了一个“服务”,其中有多个工作人员分组在其下(每个环境一个)。这允许将工作人员从一个环境“提升”到另一个环境(本质上是复制脚本,但具有单独的变量和路由)。
此功能有单独的文档 - https://developers.cloudflare.com/workers/learning/using-services#service-environments
如您所见,Wrangler“环境”的工作方式不同。只需创建一个 top-level “生产”工人/服务(以环境命名)。好消息是(根据上面的文档)听起来 Cloudflare 将更新 wrangler 以支持新的 Dashboard 类型环境:
As of January 2022, the dashboard is the only way to interact with Workers Service environments. Support in Wrangler is coming in v2.1
我对 Cloudflare Worker Environments 的预期功能感到困惑。
在 CloudFlare 仪表板中,工作人员有一个环境下拉列表,默认为“生产”。我认为通过利用我的 Wrangler 文件中的环境,我将拥有一个工作人员,但有多个环境。然而,最终发生的是我只有两个工人,最后添加了环境(my-worker-dev 和 my-worker-prod)。这些工人中的每一个都有 1 个环境(生产环境)。
我不确定是我做错了什么还是只是误解了预期的行为。
谁能帮我理解 wrangler 如何在单个 worker/service 中添加不同的名称和“环境”下拉列表之间的区别?
我的 wrangler.toml 文件
name = "my-worker"
type = "javascript"
account_id = "<redacted>"
workers_dev = true
compatibility_date = "2021-12-10"
[env.dev]
vars = { ENVIRONMENT = "dev" }
kv_namespaces = [
{ binding = "TASKS", id = "<redacted>", preview_id = "<redacted>" }
]
[env.prod]
vars = { ENVIRONMENT = "prod" }
kv_namespaces = [
{ binding = "TASKS", id = "<redacted>", preview_id = "<redacted>" },
]
[build]
command = "npm install && npm run build"
[build.upload]
format = "modules"
dir = "dist"
main = "./worker.mjs"
我认为目前在新仪表板功能中定义的“环境”的含义与 pre-existing wrangler“环境”支持之间存在一些脱节/混淆。
对于仪表板/Web UI,您定义了一个“服务”,其中有多个工作人员分组在其下(每个环境一个)。这允许将工作人员从一个环境“提升”到另一个环境(本质上是复制脚本,但具有单独的变量和路由)。
此功能有单独的文档 - https://developers.cloudflare.com/workers/learning/using-services#service-environments
如您所见,Wrangler“环境”的工作方式不同。只需创建一个 top-level “生产”工人/服务(以环境命名)。好消息是(根据上面的文档)听起来 Cloudflare 将更新 wrangler 以支持新的 Dashboard 类型环境:
As of January 2022, the dashboard is the only way to interact with Workers Service environments. Support in Wrangler is coming in v2.1