Configura la località dei dati con gli endpoint a livello di regione

Questa pagina descrive come configurare le librerie client Firestore per utilizzare un endpoint regionale.

Quando utilizzi le librerie client di Firestore, puoi utilizzare uno dei seguenti endpoint:

  • Endpoint globale: per impostazione predefinita, le librerie client di Firestore inviano richieste API a un endpoint di servizio globale denominato firestore.googleapis.com. L'endpoint del servizio globale indirizza la richiesta al tuo database. Durante il routing, una richiesta potrebbe passare attraverso un endpoint di servizio regionale in una località diversa da quella del database.

  • Endpoint a livello di regione: un endpoint a livello di regione applica limitazioni regionali, garantendo che i dati vengano archiviati ed elaborati in una regione specificata. Per garantire che l'endpoint del servizio elabori le richieste Firestore della tua app nella stessa regione del database, specifica un endpoint regionale nella libreria client.

Impostare un endpoint a livello di regione

Gli esempi riportati di seguito mostrano come impostare un endpoint regionale quando inizilizza un client Firestore. L'impostazione di un endpoint regionale diverso da quello in cui si trovano i dati potrebbe causare un errore PermissionDeniedError.

Java

Per autenticarti a Firestore, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.


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

Per autenticarti a Firestore, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

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)

Semantica degli endpoint regionali

Firestore supporta gli endpoint regionali sia per le località a livello di regione sia per quelle multi-regionali.

Utilizza il seguente formato per definire gli endpoint a livello di regione:

Java

  REGION_NAME-firestore.googleapis.com:443

Assicurati che il numero di porta sia definito insieme all'endpoint.

Python

  REGION_NAME-firestore.googleapis.com

Vai

  REGION_NAME-firestore.googleapis.com:443

Assicurati che il numero di porta sia definito insieme all'endpoint.

Sostituisci REGION_NAME con il nome di un nome host regionale o multiregionale.

Ecco alcuni esempi di nomi host:

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

Per un elenco completo degli host name multiregionali e regionali, consulta Località di Firestore.

Passaggi successivi