2

我通过这条线启动了模拟器:

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);

}
4

1 回答 1

3

您必须将这些行添加到您的 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
于 2020-01-24T16:20:55.820 回答