按照https://cloud.google.com/datastore/docs/tools/datastore-emulator 中给出的说明操作后,我不确定是否遗漏了任何内容除非我使用 DataStoreClient 显式创建 Datastore,否则我无法连接到本地模拟器。DatastoreDb db = DatastoreDb.Create(projectId, string.Empty, new DatastoreClientImpl( new Datastore.DatastoreClient( new Channel("localhost", 8081, ChannelCredentials.Insecure)), new DatastoreSettings()));而不仅仅是 DatastoreDb.Create(projectId);如果我们在 GKE 中进行生产,我们需要连接到实际的 Datastore 而不是模拟器,我们如何区分具有相同代码库的两个版本。有没有办法检查代码是否正在运行 GKE,或者这是否应该通过环境变量来完成以获得最佳结果。
1 回答
小怪兽爱吃肉
TA贡献1852条经验 获得超1个赞
您可以使用命名空间中的Platform
类Google.Api.Gax
(在Google.Api.Gax
包中):
Platform platform = Platform.Instance();
switch (platform.Type)
{
case PlatformType.Gae:
// Code for AppEngine
break;
case PlatformType.Gce:
// Code for Compute Engine
break;
case PlatformType.Gke:
// Code for Google Kubernetes Engine
break;
default:
// Code for other contexts
break;
}
- 1 回答
- 0 关注
- 162 浏览
添加回答
举报
0/150
提交
取消