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) * |
Symbol | Description |
---|---|
* | Calls to the global region may have higher latency when called from outside of the US. Prefer a more specific region that is closer to your services and end-users, if possible. |
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. - 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
Before using any of the request data, make the following replacements:
- PROJECT_ID: your Google Cloud project ID
- REGION_ID: a region ID, example:
europe-west2
- SESSION_ID: a session ID
HTTP method and URL:
POST http://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
To authenticate to Dialogflow, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
Python
To authenticate to Dialogflow, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
Additional languages
C#: Please follow the C# setup instructions on the client libraries page and then visit the Dialogflow reference documentation for .NET.
PHP: Please follow the PHP setup instructions on the client libraries page and then visit the Dialogflow reference documentation for PHP.
Ruby: Please follow the Ruby setup instructions on the client libraries page and then visit the Dialogflow reference documentation for Ruby.
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.