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 |
---|---|---|
Americas | Multi-region in the United States | us (default) |
Europe | Belgium | europe-west1 |
Europe | London | europe-west2 |
Asia Pacific | Sydney | australia-southeast1 |
Asia Pacific | Tokyo | asia-northeast1 |
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 us
.
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. - Use the region-specific hostname of the form
REGION_ID-dialogflow.googleapis.com
. For example:asia-northeast1-dialogflow.googleapis.com
. If the region specified in the hostname does not match the region specified in the URL path, the request will be rejected.
For client libraries, see the client library documentation. You need to do the following:
Set the Dialogflow service endpoint to:
REGION_ID-dialogflow.googleapis.com:443
Set the session name to:
projects/PROJECT_ID/locations/REGION_ID/agent/sessions/SESSION_ID
For example:
REST & CMD LINE
Before using any of the request data below, make the following replacements:
- PROJECT_ID: your GCP project ID
- REGION_ID: a region ID, example:
europe-west2
- SESSION_ID: a session ID
HTTP method and URL:
POST https://REGION_ID-dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/REGION_ID/agent/sessions/SESSION_ID:detectIntent
Request JSON body:
{ "query_input": { "text": { "text": "I want a pony.", "language_code": "en-US" } } }
To send your request, expand one of these options:
Java
Python
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: