Skip to content

Data location

Last updated View as MarkdownAgent setup

By default, Queues stores and processes messages across Cloudflare's global network. You can restrict a queue to a jurisdiction to meet data residency requirements, such as the General Data Protection Regulation (GDPR) ↗︎ or FedRAMP ↗︎.

Workers can produce to and consume from a restricted queue from any location. The jurisdiction only restricts where Queues stores and processes messages.

Supported jurisdictions

Parameter Location
eu European Union
us United States
fedramp FedRAMP-Moderate data centers

Create a queue with a jurisdiction

Use the dashboard

  1. In the Cloudflare dashboard, go to Queues.

    Go to Queues ↗
  2. Select Create queue.

  3. Enter a queue name and select a jurisdiction.

  4. Select Create queue.

Use the cf CLI

With the Cloudflare CLI (cf) installed and authenticated, use the --jurisdiction flag to create a restricted queue:

cf queues create --queue-name my-eu-queue --jurisdiction eu

Use the REST API

Set the jurisdiction parameter when you create a queue with the Create Queue endpoint:

curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/queues \
  --request POST \
  --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
    "queue_name": "my-eu-queue",
    "jurisdiction": "eu"
  }'

You can only set a jurisdiction when you create a queue. You cannot add, change, or remove the jurisdiction later.

The dashboard displays a queue's jurisdiction on the Queues overview and settings pages.

Dead Letter Queues

A Dead Letter Queue (DLQ) must use the same jurisdiction as its source queue. If you specify a queue name that does not exist as the DLQ, Cloudflare automatically creates that queue in the same jurisdiction as the source queue.

Was this helpful?