Configurer la localité des données avec des points de terminaison régionaux

Cette page explique comment configurer les bibliothèques clientes Firestore pour utiliser un point de terminaison régional.

Lorsque vous utilisez des bibliothèques clientes Firestore, vous pouvez utiliser l'un des points de terminaison suivants :

  • Point de terminaison global : par défaut, les bibliothèques clientes Firestore envoient des requêtes API à un point de terminaison de service global nommé firestore.googleapis.com. Le point de terminaison du service global achemine la requête vers votre base de données. Lors du routage, une requête peut passer par un point de terminaison de service régional situé dans un emplacement différent de celui de votre base de données.

  • Point de terminaison régional: un point de terminaison régional applique des restrictions régionales, ce qui garantit que les données sont stockées et traitées dans une région spécifiée. Pour vous assurer que le point de terminaison du service traite les requêtes Firestore de votre application dans la même région que votre base de données, spécifiez un point de terminaison régional dans la bibliothèque cliente.

Définir un point de terminaison régional

Les exemples suivants montrent comment définir un point de terminaison régional lorsque vous initialisez un Client Firestore. Définir un point de terminaison régional autre que l'emplacement où vos données peut entraîner une erreur PermissionDeniedError.

Java

Pour vous authentifier auprès de Firestore, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.


import com.google.auth.oauth2.GoogleCredentials;
import com.google.cloud.firestore.Firestore;
import com.google.cloud.firestore.FirestoreOptions;


/**
 * Demonstrate how to set a regional endpoint.
 */
public class RegionalEndpointSnippets {

  /**
   * Create a client with a regional endpoint.
   **/
  public Firestore regionalEndpoint(String projectId, String endpoint) throws Exception {
    FirestoreOptions firestoreOptions =
        FirestoreOptions.newBuilder()
            .setProjectId(projectId)
            .setCredentials(GoogleCredentials.getApplicationDefault())
            // set endpoint like nam5-firestore.googleapis.com:443
            .setHost(endpoint)
            .build();
    Firestore dbWithEndpoint = firestoreOptions.getService();

    return dbWithEndpoint;
  }

}

Python

Pour vous authentifier auprès de Firestore, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

ENDPOINT = "nam5-firestore.googleapis.com"
client_options = ClientOptions(api_endpoint=ENDPOINT)
db = firestore.Client(client_options=client_options)

cities_query = db.collection("cities").limit(2).get()
for r in cities_query:
    print(r)

Sémantique des points finaux régionaux

Firestore accepte les points de terminaison régionaux à la fois pour les emplacements régionaux et multirégionaux.

Utilisez le format suivant pour définir des points de terminaison régionaux:

Java

  REGION_NAME-firestore.googleapis.com:443

Assurez-vous que le numéro de port est défini avec le point de terminaison.

Python

  REGION_NAME-firestore.googleapis.com

Go

  REGION_NAME-firestore.googleapis.com:443

Assurez-vous que le numéro de port est défini avec le point de terminaison.

Remplacez REGION_NAME par le nom de noms d'hôte régionaux ou multirégionaux.

Voici quelques exemples de noms d'hôte:

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

Pour obtenir la liste complète des noms d'hôte multirégionaux et régionaux, consultez Emplacements Firestore.

Étape suivante