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