INTEGRITY Документация

Расположение данных

Ограничение 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();

Поддерживаемые местоположения

Параметр Расположение
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 только если ваши пользователи сосредоточены на северо-востоке или юго-востоке региона и вы хотите минимизировать для них задержку.

Дополнительные ресурсы