Spring+GCP Datastore: я использую репозиторий и хочу настроить его на использование эмулятора хранилища данных во время разработки или тестирования

Я запустил эмулятор по этой строке:

gcloud beta emulators datastore start --host-port=localhost:8484 --no-store-on-disk

конечно я могу определить com.google.cloud.datastore.Datastore и создать экземпляр по следующим строкам:

            return DatastoreOptions.newBuilder()
                .setHost("http://localhost:8484")
                .setProjectId("analytics-project")
                .build()
                .getService();

но как заставить репозитории spring-gcp использовать хранилище данных эмулятора?

Пример класса репозитория:

import org.springframework.cloud.gcp.data.datastore.repository.DatastoreRepository;

import java.util.List;

public interface AnalyticsUserRepo extends DatastoreRepository<AnalyticsUser, String> {

    List<AnalyticsUser> findByEmail(String email);

}

1 ответ

Вам нужно добавить эти строки в свой файл application.properties:

spring.cloud.gcp.datastore.project-id=YOUR_PROJECT_ID
spring.cloud.gcp.datastore.emulator.enabled=true
spring.cloud.gcp.datastore.emulator.port=YOUR_DATASTORE_EMULATOR_PORT

Надеюсь скоро будет объединен

https://github.com/spring-cloud/spring-cloud-gcp/issues/1430

Другие вопросы по тегам