从 Xamarin 客户端 SDK 删除 ROS 上的 .realm 文件
Delete .realm file on ROS from Xamarin client SDK
我正在使用 ROS 2.0
和 Xamarin
的最新客户端 SDK。在我的应用程序中,用户有多个 DataStore
对象(每个对象由一个单独的领域表示)。用户可以创建和删除 DataStores
(领域)。创建工作正常,但调用 Realm.DeleteRealm(someDataStore.Realm.Config);
不会删除服务器上的领域文件。
我正在处理 Realm,然后尝试通过调用删除它:
someDataStore.Realm.Dispose();
Realm.DeleteRealm(someDataStore.Realm.Config);
但它仍然存在于 ROS
。由于 Realm Studio 不支持删除领域文件,如何从 ROS
?
中清除未使用的领域
你是对的 - 按照设计,Realm.DeleteRealm
方法只会删除本地副本,不会删除远程 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。
请记住,如果您删除了远程文件,您还应该从所有与之同步的应用程序中删除任何本地副本,否则您会收到错误消息(即本地副本不会尝试重新同步本身与删除的远程一个)。
我正在使用 ROS 2.0
和 Xamarin
的最新客户端 SDK。在我的应用程序中,用户有多个 DataStore
对象(每个对象由一个单独的领域表示)。用户可以创建和删除 DataStores
(领域)。创建工作正常,但调用 Realm.DeleteRealm(someDataStore.Realm.Config);
不会删除服务器上的领域文件。
我正在处理 Realm,然后尝试通过调用删除它:
someDataStore.Realm.Dispose();
Realm.DeleteRealm(someDataStore.Realm.Config);
但它仍然存在于 ROS
。由于 Realm Studio 不支持删除领域文件,如何从 ROS
?
你是对的 - 按照设计,Realm.DeleteRealm
方法只会删除本地副本,不会删除远程 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。
请记住,如果您删除了远程文件,您还应该从所有与之同步的应用程序中删除任何本地副本,否则您会收到错误消息(即本地副本不会尝试重新同步本身与删除的远程一个)。