从 Xamarin 客户端 SDK 中删除 ROS 上的 .realm 文件



我正在使用ROS 2.0与最新的客户端SDK进行Xamarin。在我的应用程序中,用户有多个DataStore对象(每个对象由单独的领域表示)。用户可以创建和删除DataStores(领域)。创建工作正常,但调用Realm.DeleteRealm(someDataStore.Realm.Config);不会删除服务器上的领域文件。

在尝试通过调用删除它之前,我正在处理 Realm:

someDataStore.Realm.Dispose();
Realm.DeleteRealm(someDataStore.Realm.Config);

但它仍然在ROS.由于 Realm Studio 不支持删除 Realm 文件,如何从ROS中清除未使用的领域?

你是对的 - 根据设计,Realm.DeleteRealm 方法只会删除本地副本,而不会删除远程 Realm。如果你绝对确定需要删除远程 Realm,你可以使用 ROS 的 REST API 来执行此操作:

wget --method DELETE --header 'Authorization: %ADMIN-TOKEN%' http://%ROS-URL%/realms/files/%REALM-PATH%

哪里

  • %REALM-PATH% 是您要删除的 Realm 文件的 url 编码虚拟路径,例如 /some-user-id/myrealm将成为some-user-id%2Fmyrealm.
  • %ADMIN-TOKEN%可以在%PATH-TO-ROS%/data/keys/admin.json中找到。
  • %ROS-URL%显然是您的 ROS 实例的 URL。

请记住,如果您删除远程文件,您还应该从与其同步的所有应用程序中删除任何本地副本,否则您将收到错误(即本地副本不会尝试与已删除的远程副本重新同步)。

相关内容

  • 没有找到相关文章

最新更新