司法管辖区用于创建仅在区域内运行和存储数据的 Durable Objects,以遵守 GDPR ↗ 或 FedRAMP ↗ 等本地法规。
Workers 仍可从世界任何地方访问限制在司法管辖区的 Durable Objects。司法管辖区约束仅控制 Durable Object 本身运行和持久化数据的位置。考虑使用 Regional Services 控制 Cloudflare 响应请求的区域。
Durable Objects 可以通过创建限制在司法管辖区的 DurableObjectNamespace 来限制在特定司法管辖区。所有 Durable Object ID 方法 对限制在司法管辖区内的 namespace 中的 ID 均有效。
const euSubnamespace = env.MY_DURABLE_OBJECT.jurisdiction("eu");
const euId = euSubnamespace.newUniqueId();-
同一名称可以在不同司法管辖区代表不同的 ID。
const euId1 = env.MY_DURABLE_OBJECT.idFromName("my-name"); const euId2 = env.MY_DURABLE_OBJECT.jurisdiction("eu").idFromName("my-name"); console.assert(!euId1.equal(euId2), "This should always be true"); -
如果
DurableObjectNamespace上的司法管辖区与DurableObjectId上的司法管辖区不同,您会遇到错误。 -
如果
DurableObjectNamespace未关联司法管辖区,您不会遇到错误。 -
所有 Durable Object ID 方法 对限制在司法管辖区内的 namespace 中的 ID 均有效。
const euSubnamespace = env.MY_DURABLE_OBJECT.jurisdiction("eu"); const euId = euSubnamespace.idFromName(name); const stub = env.MY_DURABLE_OBJECT.get(euId);
| Parameter | Location |
|---|---|
| eu | The European Union |
| us | The United States |
| fedramp | FedRAMP-Moderate data centers |
Durable Object 的司法管辖区可通过 ctx.id.jurisdiction 在对象内部获取。该值在 toString() 和 idFromString() 往返中保留,在 2026-03-15 或之后调度的 alarm 处理器 中也可用,适合在 Durable Object 内部进行区域感知逻辑。
与任何有状态 API 一样,Durable Objects 通常会增加响应延迟,因为请求必须转发到 Durable Object 或状态所在的数据中心。
Durable Objects 创建后目前不会更改位置1。默认情况下,Durable Object 在靠近初始 get() 请求发起位置的数据中心实例化。这可能与 get() 请求发起的数据中心不同,但在大多数情况下,它们会彼此靠近。
位置提示是提供的机制,用于指定 Durable Object 应位于的位置,无论初始 get() 请求来自何处。
要在其他位置手动创建 Durable Objects,向 get() 提供可选的 locationHint 参数。只有对特定 Object 的第一次 get() 调用会遵循提示。
let durableObjectStub = OBJECT_NAMESPACE.get(id, { locationHint: "enam" });| 参数 | 位置 |
|---|---|
| wnam | 北美西部(Western North America) |
| enam | 北美东部(Eastern North America) |
| sam | 南美(South America)2 |
| weur | 西欧(Western Europe) |
| eeur | 东欧(Eastern Europe) |
| apac | 亚太(Asia-Pacific) |
| apac-ne | 亚太东北(Northeast Asia-Pacific)3 |
| apac-se | 亚太东南(Southeast Asia-Pacific)3 |
| oc | 大洋洲(Oceania) |
| afr | 非洲(Africa)2 |
| me | 中东(Middle East)2 |
1 现有 Durable Objects 的动态迁移已列入未来计划。
2 Durable Objects 目前不会在此位置生成。相反,Durable Object 会在附近支持 Durable Objects 的位置生成。例如,提示到南美的 Durable Objects 会改为在北美东部生成。
3 apac-ne(亚太东北)和 apac-se(亚太东南)是 apac(亚太)内更窄的子区域。一般亚太部署请优先使用 apac。仅当用户集中在该区域的东北或东南部,且你希望为其最小化延迟时,再选择 apac-ne 或 apac-se。
- 您可以使用网站 Where Durable Objects Live ↗ 了解更多关于 Durable Objects 位置的信息。