有没有办法使用 C# 更新 Google Cloud Datastore 的 indexes.yaml 文件
Is there a way to update indexes.yaml file of Google Cloud Datastore using C#
我正在开发一个项目,该项目使用 Datastore 来保存游戏内事件的数据以供机器学习使用。我希望我能够通过 API 调用或其他一些方法在生产模式下更新 indexes.yaml 文件,而不是手动 运行 gcloud SDK 命令。有什么办法可以达到这个目的吗?
[架构]
- 我们使用的语言是 C# .Net core 2.2
- 我们使用 "GAME IDs" 作为数据存储中的种类。每次我们有新游戏上线,都会有一个新的Kind被创建(通过C#代码)。
- 每个 Kind 都有相似的属性,但不完全相同。
- 所有类型都使用一组通用属性作为复合索引(比方说:UserId、TimeStamp 和 EventType)
[我目前的做法]
- 我正在尝试将 #AUTOGENERATED 函数应用到我的数据存储中,但它只适用于我的模拟器数据存储
- 到目前为止,我可以将新的复合索引附加到我的模拟器的 indexes.yaml 文件中
但是索引没有在生产数据存储上更新,我必须在模拟器上附加索引然后通过
将其更新到生产
gcloud datastore indexes create
command(虽然官方文档只提到了这种方式,但还是有道理的)
[我需要什么]
因为未来几个月我们可能会有很多新游戏上线,所以很难为这些新游戏逐一添加和更新索引。有什么方法可以自动更新生产数据存储上的 indexes.yaml?
感谢您提供任何建议或参考资源!
您当前的方法仅适用于 DataStore 模拟器。这是有意的行为。因此您可以识别您的索引,然后将它们部署到生产数据库。
Cloud Firestore in Datastore and Firestore native modes creates automatically only single indexes and not composite indexes.
但是,使用 Firestore(Firestore 模式下的数据存储)可以identify what indexes you are lacking using error message.
作为解决方法(也适用于 Firestore 模式),您可以:
我正在开发一个项目,该项目使用 Datastore 来保存游戏内事件的数据以供机器学习使用。我希望我能够通过 API 调用或其他一些方法在生产模式下更新 indexes.yaml 文件,而不是手动 运行 gcloud SDK 命令。有什么办法可以达到这个目的吗?
[架构]
- 我们使用的语言是 C# .Net core 2.2
- 我们使用 "GAME IDs" 作为数据存储中的种类。每次我们有新游戏上线,都会有一个新的Kind被创建(通过C#代码)。
- 每个 Kind 都有相似的属性,但不完全相同。
- 所有类型都使用一组通用属性作为复合索引(比方说:UserId、TimeStamp 和 EventType)
[我目前的做法]
- 我正在尝试将 #AUTOGENERATED 函数应用到我的数据存储中,但它只适用于我的模拟器数据存储
- 到目前为止,我可以将新的复合索引附加到我的模拟器的 indexes.yaml 文件中
但是索引没有在生产数据存储上更新,我必须在模拟器上附加索引然后通过
将其更新到生产gcloud datastore indexes create
command(虽然官方文档只提到了这种方式,但还是有道理的)
[我需要什么]
因为未来几个月我们可能会有很多新游戏上线,所以很难为这些新游戏逐一添加和更新索引。有什么方法可以自动更新生产数据存储上的 indexes.yaml?
感谢您提供任何建议或参考资源!
您当前的方法仅适用于 DataStore 模拟器。这是有意的行为。因此您可以识别您的索引,然后将它们部署到生产数据库。
Cloud Firestore in Datastore and Firestore native modes creates automatically only single indexes and not composite indexes.
但是,使用 Firestore(Firestore 模式下的数据存储)可以identify what indexes you are lacking using error message.
作为解决方法(也适用于 Firestore 模式),您可以: