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