Configura la localidad de los datos con endpoints regionales

En esta página, se describe cómo configurar las bibliotecas cliente de Firestore en modo Datastore para usar un extremo regional o multirregional.

Cuando usas las bibliotecas cliente de Firestore en modo Datastore, puedes usar cualquiera de los siguientes extremos:

  • Extremo global: De forma predeterminada, las bibliotecas cliente de Firestore en modo Datastore envían solicitudes a un extremo de servicio global llamado datastore.googleapis.com. El endpoint de servicio global enruta la solicitud a tu base de datos. Durante el enrutamiento, es posible que la solicitud pase por un servidor en una ubicación diferente a la de tu base de datos.

  • Extremo regional: Un extremo regional aplica restricciones que garantizan que los datos se transmitan, almacenen y procesen en una Google Cloud región especificada. Para asegurarte de que el extremo del servicio procese las solicitudes de Firestore en modo Datastore de tu app en la misma región que tu base de datos, especifica un extremo regional en la biblioteca cliente.

  • Extremo multirregional: Un extremo multirregional aplica restricciones para garantizar que los datos se transmitan, almacenen y procesen en una Google Cloud multirregión especificada. Para asegurarte de que el extremo del servicio procese las solicitudes de Firestore en modo Datastore de tu app en la misma región múltiple que tu base de datos, especifica un extremo multirregional en la biblioteca cliente.

Configura un extremo regional o multirregional

El método para configurar un extremo regional o multirregional es el mismo: debes proporcionar la cadena del extremo cuando inicializas la biblioteca cliente. En los siguientes ejemplos, se muestra cómo configurar la cadena de extremo con un extremo regional (datastore.us-central1.rep.googleapis.com). Para usar un extremo multirregional, proporciona una cadena de extremo multirregional que corresponda a la ubicación de tu base de datos (por ejemplo, datastore.us.rep.googleapis.com para nam5).

Java

Para obtener información sobre cómo instalar y usar la biblioteca cliente en modo Datastore, consulta las bibliotecas cliente en modo Datastore. Si deseas obtener más información, consulta la documentación de referencia de la API de Java en modo Datastore.

Para autenticarte en el modo Datastore, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.


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://datastore.us-central1.rep.googleapis.com").build();
    Datastore datastore = options.getService();
    return datastore;
  }
}

Python

Para obtener información sobre cómo instalar y usar la biblioteca cliente en modo Datastore, consulta las bibliotecas cliente en modo Datastore. Si deseas obtener más información, consulta la documentación de referencia de la API de Python en modo Datastore.

Para autenticarte en el modo Datastore, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

from google.cloud import datastore
from google.api_core.client_options import ClientOptions

ENDPOINT = "https://datastore.africa-south1.rep.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)

Semántica de los extremos regionales y multirregionales

Extremos regionales (REP):

Firestore en modo Datastore admite extremos regionales para las ubicaciones regionales que se indican aquí Ubicaciones de Firestore en modo Datastore.

Usa el siguiente formato para definir extremos regionales:

Java

    datastore.REGION_NAME.rep.googleapis.com:443

Asegúrate de que el número de puerto esté definido junto con el extremo.

Python

    datastore.REGION_NAME.rep.googleapis.com

Go

    datastore.REGION_NAME.rep.googleapis.com:443

Asegúrate de que el número de puerto esté definido junto con el extremo.

Reemplaza REGION_NAME por el nombre de un host regional.

Estos son algunos ejemplos de nombres de host:

  • datastore.us-central1.rep.googleapis.com
  • datastore.europe-west1.rep.googleapis.com

Extremos multirregionales (MREP)

Para los extremos multirregionales, usa us para las ubicaciones nam5 y nam7, y eu para la ubicación eur3 (consulta Ubicaciones multirregionales).

Java

    datastore.us.rep.googleapis.com:443
    datastore.eu.rep.googleapis.com:443

Asegúrate de que el número de puerto esté definido junto con el extremo.

Python

    datastore.us.rep.googleapis.com
    datastore.eu.rep.googleapis.com

Go

    datastore.us.rep.googleapis.com:443
    datastore.eu.rep.googleapis.com:443

Asegúrate de que el número de puerto esté definido junto con el extremo.

Extremos de ubicación (obsoleto)

Los extremos de ubicación dejaron de estar disponibles. En su lugar, usa extremos regionales o multirregionales.

Anteriormente, Firestore en modo Datastore admitía extremos de ubicación con el siguiente formato:

Java

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

Asegúrate de usar la URL https completa y de que el número de puerto esté definido junto con el extremo.

Python

  https://REGION_NAME-datastore.googleapis.com

Asegúrate de que la URL https completa esté configurada como el extremo de ubicación.

Go

  REGION_NAME-datastore.googleapis.com:443

Asegúrate de que el número de puerto esté definido junto con el extremo.

Reemplaza REGION_NAME por el nombre de un host regional o multirregional.

Estos son algunos ejemplos de nombres de host:

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

Para obtener una lista completa de los nombres de host regionales y multirregionales, consulta Ubicaciones de Firestore en modo Datastore.

Restringe el uso del extremo de API global

Para ayudar a aplicar de manera forzosa el uso de extremos regionales y multirregionales, usa la restricción de políticas de la organización constraints/gcp.restrictEndpointUsage para bloquear las solicitudes al extremo de API global. Para obtener más información, consulta Cómo restringir el uso de extremos.

¿Qué sigue?