我从这行开始仿真器:
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();
但是如何force 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);
}
您必须将这些行添加到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