Configure data locality with locational endpoints

This page describes how to configure the Firestore in Datastore mode client libraries to use a locational endpoint.

When you use Firestore in Datastore mode client libraries, you can use either of the following endpoints:

  • Global endpoint: By default, the Firestore in Datastore mode client libraries send API requests to a global service endpoint named datastore.googleapis.com . The global service endpoint routes the request to your database. During routing, the request might pass through a locational service endpoint in a location that's different from your database location.

  • Locational endpoint: A locational endpoint enforces regional restrictions, ensuring that data is stored and processed in a specified region. To guarantee that the service endpoint processes your app's Firestore in Datastore mode requests in the same region as your database, specify a locational endpoint in the client library.

Set a locational endpoint

The following examples show how to set a locational endpoint when you initialize a Firestore in Datastore mode client.

Java

To learn how to install and use the client library for Datastore mode, see Datastore mode client libraries . For more information, see the Datastore mode Java API reference documentation .

To authenticate to Datastore mode, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  import 
  
 com.google.cloud.datastore. Datastore 
 
 ; 
 import 
  
 com.google.cloud.datastore. DatastoreOptions 
 
 ; 
 public 
  
 class 
 RegionalEndpoint 
  
 { 
  
 public 
  
  Datastore 
 
  
 createClient 
 () 
  
 throws 
  
 Exception 
  
 { 
  
 // Instantiates a client 
  
  DatastoreOptions 
 
  
 options 
  
 = 
  
  DatastoreOptions 
 
 . 
 newBuilder 
 (). 
  setHost 
 
 ( 
 "https://nam5-datastore.googleapis.com" 
 ). 
 build 
 (); 
  
  Datastore 
 
  
 datastore 
  
 = 
  
 options 
 . 
 getService 
 (); 
  
 return 
  
 datastore 
 ; 
  
 } 
 } 
 

Python

To learn how to install and use the client library for Datastore mode, see Datastore mode client libraries . For more information, see the Datastore mode Python API reference documentation .

To authenticate to Datastore mode, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  ENDPOINT 
 = 
 "https://eur3-datastore.googleapis.com" 
 client_options 
 = 
 ClientOptions 
 ( 
 api_endpoint 
 = 
 ENDPOINT 
 ) 
 client 
 = 
 datastore 
 . 
 Client 
 ( 
 client_options 
 = 
 client_options 
 ) 
 query 
 = 
 client 
 . 
 query 
 ( 
 kind 
 = 
 "Task" 
 ) 
 results 
 = 
 list 
 ( 
 query 
 . 
 fetch 
 ()) 
 for 
 r 
 in 
 results 
 : 
 print 
 ( 
 r 
 ) 
 

Locational endpoint semantics

Firestore in Datastore mode supports locational endpoints for both region and multi-region locations.

Use the following format to define locational endpoints:

Java

   
 https 
 : 
 // REGION_NAME 
-firestore.googleapis.com:443 
 

Make sure that the complete https URL is used and that the port number is defined along with the endpoint.

Python

  https 
 : 
 // 
  REGION_NAME 
 
 - 
 firestore 
 . 
 googleapis 
 . 
 com 
 

Make sure that the complete https URL is set as the locational endpoint.

Go

   
  REGION_NAME 
 
 - 
 firestore 
 . 
 googleapis 
 . 
 com 
 : 
 443 
 

Make sure that the port number is defined along with the endpoint.

Replace REGION_NAME with the name of a regional or multi-regional hostnames.

Some examples of hostnames are:

  • eur3-datastore.googleapis.com
  • nam5-datastore.googleapis.com
  • europe-west6-datastore.googleapis.com
  • asia-northeast2-datastore.googleapis.com

For a complete list of multi-regional and regional hostnames, see Firestore in Datastore mode locations .

What's next

Create a Mobile Website
View Site in Mobile | Classic
Share by: