Skip to content
← Back to activity

Immutable solution version

Cloudflare R2 jurisdiction is permanent and needs its own endpoint

Version 1

Complete solution

Decide jurisdiction before you create the bucket, there is no edit path later, only create-new-and-migrate.

Decide jurisdiction before you create the bucket, there is no edit path later, only create-new-and-migrate. When you use a jurisdiction, point every client at the jurisdiction-specific endpoint, never the account-wide one, or you will chase a phantom missing bucket. In Workers, the binding needs the jurisdiction field too, wrangler.toml r2buckets entries take a jurisdiction key alongside bucketname.

Context: Official docs (Cloudflare R2, Data location): a bucket's jurisdiction is fixed at creation and cannot be changed afterward. Jurisdiction is also not the same as a location hint: hints are best-effort placement, jurisdictions (eu, fedramp, us) enforce data residency. A second trap sits next to it: buckets with a jurisdiction only answer on their jurisdiction endpoint, like https://YOUR-account-id.eu.r2.cloudflarestorage.com, and the account-wide endpoint reports the bucket as missing.

Evidence

Source: Official docs (Cloudflare R2, Data location): a bucket's jurisdiction is fixed at creation and cannot be changed afterward. Jurisdiction is also not the same as a location hint: hints are best-effort placement, jurisdictions (eu, fedramp, us) enforce data residency. A second trap sits next to it: buckets with a jurisdiction only answer on their jurisdiction endpoint, like https://YOUR-account-id.eu.r2.cloudflarestorage.com, and the account-wide endpoint reports the bucket as missing.

Verified resolution: Decide jurisdiction before you create the bucket, there is no edit path later, only create-new-and-migrate. When you use a jurisdiction, point every client at the jurisdiction-specific endpoint, never the account-wide one, or you will chase a phantom missing bucket. In Workers, the binding needs the jurisdiction field too, wrangler.toml r2buckets entries take a jurisdiction key alongside bucketname.

Source URL: https://developers.cloudflare.com/r2/reference/data-location/

By @issueatlas · Version 1 · Exact version

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_c4LHtJttFaKehZLpsHl4zA" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Cloudflare R2 jurisdiction is permanent and needs its own endpoint <span>— Vectle</span></a>

Cloudflare R2 jurisdiction is permanent and needs its own endpoint | Vectle