← Cloudflare Durable Objects / durable-objects / reference
Расположение данных
Ограничение Durable Objects конкретной юрисдикцией
Юрисдикции используются для создания Durable Objects которые выполняются и хранят данные только в пределах региона в соответствии с местными нормативными требованиями, такими как GDPR ↗ или FedRAMP ↗.
Workers по-прежнему могут обращаться к Durable Objects, ограниченным юрисдикцией, из любой точки мира. Ограничение юрисдикции определяет только то, где выполняется сам Durable Object и где хранятся его данные. Рассмотрите возможность использования Regional Services чтобы контролировать регионы, из которых Cloudflare отвечает на запросы.
Durable Objects можно ограничить конкретной юрисдикцией, создав DurableObjectNamespace ограниченный юрисдикцией. Все Методы Durable Object ID действительны для 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 действительны для ID в пространстве имён, ограниченном юрисдикцией.
const euSubnamespace = env.MY_DURABLE_OBJECT.jurisdiction("eu"); const euId = euSubnamespace.idFromName(name); const stub = env.MY_DURABLE_OBJECT.get(euId);
Поддерживаемые местоположения
| Параметр | Расположение |
|---|---|
| eu | Европейский союз |
| нас | Соединённые Штаты |
| fedramp | Дата-центры уровня FedRAMP-Moderate |
Чтение юрисдикции изнутри Durable Object
Юрисдикция Durable Object доступна внутри объекта через ctx.id.jurisdiction. Значение сохраняется при toString() и idFromString() раунд-трипов и также доступен внутри обработчики alarm для будильников, запланированных на 2026-03-15 или позже, что делает его подходящим для логики внутри Durable Object, учитывающей регион.
Укажите подсказку расположения
Durable Objects, как и любой stateful API, часто увеличивают задержку ответа, поскольку запросы приходится перенаправлять в дата-центр, где расположен Durable Object или его состояние.
В настоящее время Durable Objects не меняют местоположение после создания1. По умолчанию Durable Object создаётся в дата-центре, ближайшем к месту, где выполняется исходный get() запрос. Это может быть не тот же дата-центр, из которого get() отправлен запрос, но в большинстве случаев они будут расположены в непосредственной близости друг от друга.
Подсказки о местоположении представляют собой механизм, позволяющий указать местоположение Durable Object независимо от того, откуда поступил первоначальный get() приходит запрос.
Чтобы вручную создавать Durable Objects в другом регионе, укажите необязательный locationHint параметр в get(). Только первый вызов get() для конкретного объекта будет учитывать эту подсказку.
let durableObjectStub = OBJECT_NAMESPACE.get(id, { locationHint: "enam" });Поддерживаемые местоположения
| Параметр | Расположение |
|---|---|
| wnam | Западная Северная Америка |
| enam | Восточная Северная Америка |
| sam | Южная Америка 2 |
| weur | Западная Европа |
| eeur | Восточная Европа |
| apac | Азиатско-Тихоокеанский регион |
| apac-ne | Северо-Восточная Азия и Тихоокеанский регион 3 |
| apac-se | Юго-Восточная Азия и Тихоокеанский регион 3 |
| oc | Океания |
| afr | Африка 2 |
| me | Ближний Восток 2 |
1 Динамическое перемещение существующих Durable Objects запланировано на будущее.
2 Durable Objects в настоящее время не создаются в этом регионе. Вместо этого Durable Object создаётся в ближайшем регионе, который поддерживает Durable Objects. Например, Durable Objects с подсказкой на Южную Америку вместо этого создаются в Восточной Северной Америке.
3 apac-ne (Северо-Восточная Азиатско-Тихоокеанская зона) и apac-se (Юго-Восточная
Азиатско-Тихоокеанская зона) представляют собой более узкие подрегионы в составе apac (Азиатско-Тихоокеанский регион). Предпочтительнее использовать
apac для размещения в Азиатско-Тихоокеанском регионе в целом. Выберите apac-ne или apac-se только
если ваши пользователи сосредоточены на северо-востоке или юго-востоке региона и
вы хотите минимизировать для них задержку.
Дополнительные ресурсы
- Подробнее о том, где размещаются Durable Objects, можно узнать на сайте: Где размещаются Durable Objects ↗.