Regionalization and data residency

Dialogflow provides data residency to keep your data-at-rest physically within a geographical region or location. When a region is specified, your data-at-rest is not replicated outside the region. Pricing is the same for all regions.

Regions are used for the following reasons:

  • Your system may have regulatory or policy requirements that govern where your data must reside.
  • Your network latencies may be improved when the data is in the same region as your customers. For example, If UK customers use europe-west2, they can expect better latency.

Data-at-rest

All Dialogflow developer user and end-user data is included in data-at-rest. For example:

  • All agent resources set with console or API (intents, entities, etc.)
  • All agent settings set with console or API
  • Query history
  • Validation results
  • Model creation tasks
  • Training tasks
  • Long-running operation tasks

Available regions

Dialogflow provides the following regions:

Country grouping Geographical location Region ID
Europe Belgium europe-west1
Europe London europe-west2
Asia Pacific Sydney australia-southeast1
Asia Pacific Tokyo asia-northeast1
Global Dialogflow serving is global, data-at-rest is within US global (preferred) or no region (default) *

Select a region with the console

The top left area of the Dialogflow ES Console has a drop-down for region selection. Every agent has an immutable region that is specified upon creation. When you select a region from the console, you can only list or create agents for the selected region. The default region is global.

Select a region with the API

If your agent was created in a non-default region, you must specify that region when calling the API for either design-time or runtime requests.

To provide a region, you supply a location parameter to API requests. For REST calls, do both of the following:

  • Provide the location URL path parameter. For the global multi-region, use global.
  • For the global multi-region, use dialogflow.googleapis.com for the hostname. For all other regions, use [REGION_ID]-dialogflow.googleapis.com for the hostname.

Examples:

  • https://dialogflow.googleapis.com/v2/projects/PROJECT/locations/global/agents/
  • https://asia-northeast1-dialogflow.googleapis.com/v2/projects/PROJECT/locations/asia-northeast1/agents/

For client libraries, see the client library documentation. You need to do the following:

  • Set the Dialogflow service endpoint to one of the following:

    dialogflow.googleapis.com:443
    REGION_ID-dialogflow.googleapis.com:443
    
  • Set the session name to:

    projects/PROJECT_ID/locations/REGION_ID/agent/sessions/SESSION_ID
    

Cloud logging

See the Cloud logging guide to control the region in which logs are stored.

Limitations

When a non-default region is selected in the Dialogflow Console, the following features are not available:

The APIs Explorer, found on many REST reference documents, only supports the global region for API calls.