Настройте локализацию данных с помощью региональных конечных точек.

На этой странице описано, как настроить клиентские библиотеки Cloud Firestore для использования региональной или многорегиональной конечной точки.

При использовании клиентских библиотек Cloud Firestore вы можете использовать любую из следующих конечных точек:

  • Глобальная конечная точка : По умолчанию клиентские библиотеки Cloud Firestore отправляют API-запросы на глобальную конечную точку сервиса с именем firestore.googleapis.com . Эта глобальная конечная точка сервиса перенаправляет запрос в вашу базу данных. В процессе маршрутизации запрос может проходить через сервер, расположенный в другом месте, отличном от местоположения вашей базы данных.

  • Региональная конечная точка : Региональная конечная точка устанавливает ограничения, гарантирующие передачу, хранение и обработку данных в указанном регионе Google Cloud . Чтобы гарантировать, что конечная точка сервиса обрабатывает запросы вашего приложения Cloud Firestore в том же регионе, что и ваша база данных, укажите региональную конечную точку в библиотеке клиента.

  • Многорегиональная конечная точка : Многорегиональная конечная точка обеспечивает соблюдение ограничений, гарантирующих хранение и обработку данных в указанном многорегиональном регионе. Чтобы гарантировать, что конечная точка сервиса обрабатывает запросы вашего приложения к Cloud Firestore в том же многорегиональном регионе, что и ваша база данных, укажите многорегиональную конечную точку в библиотеке клиента.

Укажите региональную или многорегиональную конечную точку

Метод настройки региональной или многорегиональной конечной точки одинаков: вы указываете строку конечной точки при инициализации клиентской библиотеки. Следующие примеры показывают, как установить строку конечной точки, используя региональную конечную точку ( firestore.us-central1.rep.googleapis.com ). Для использования многорегиональной конечной точки укажите строку многорегиональной конечной точки, соответствующую расположению вашей базы данных (например, firestore.us.rep.googleapis.com для nam5 ).

Java


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 firestore.us-central1.rep.googleapis.com:443
            .setHost(endpoint)
            .build();
    Firestore dbWithEndpoint = firestoreOptions.getService();

    return dbWithEndpoint;
  }

}

Python

ENDPOINT = "firestore.africa-south1.rep.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)

Семантика региональных и многорегиональных конечных точек

Региональные конечные точки (РКП):

Cloud Firestore поддерживает региональные конечные точки для указанных здесь региональных местоположений Cloud Firestore .

Для определения региональных конечных точек используйте следующий формат:

Java

  firestore.REGION_NAME.rep.googleapis.com:443

Убедитесь, что номер порта указан вместе с конечной точкой.

Python

  firestore.REGION_NAME.rep.googleapis.com

Идти

  firestore.REGION_NAME.rep.googleapis.com:443

Убедитесь, что номер порта указан вместе с конечной точкой.

Замените REGION_NAME на имя регионального хоста.

Вот несколько примеров имен хостов:

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

Многорегиональные конечные точки (MREP)

Для многорегиональных точек доступа используйте us для местоположений nam5 и nam7 , и eu для местоположения eur3 (см. Многорегиональные местоположения ).

Java

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

Убедитесь, что номер порта указан вместе с конечной точкой.

Python

  firestore.us.rep.googleapis.com
  firestore.eu.rep.googleapis.com

Идти

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

Убедитесь, что номер порта указан вместе с конечной точкой.

Ограничения

Конечные точки местоположения (устарело)

Использование локальных конечных точек устарело. Вместо них используйте региональные или многорегиональные конечные точки.

Ранее Cloud Firestore поддерживал конечные точки с указанием местоположения в следующем формате:

Java

  REGION_NAME-firestore.googleapis.com:443

Убедитесь, что номер порта указан вместе с конечной точкой.

Python

  REGION_NAME-firestore.googleapis.com

Идти

  REGION_NAME-firestore.googleapis.com:443

Убедитесь, что номер порта указан вместе с конечной точкой.

Замените REGION_NAME на имя регионального или многорегионального хоста.

Вот несколько примеров имен хостов:

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

Полный список мультирегиональных и региональных имен хостов см. в разделе «Расположения Cloud Firestore .

Ограничить использование глобальных конечных точек API.

Для обеспечения использования региональных и многорегиональных конечных точек используйте ограничение организационной политики constraints/gcp.restrictEndpointUsage , чтобы блокировать запросы к глобальной конечной точке API. Дополнительную информацию см. в разделе «Ограничение использования конечных точек» .