同步网关未与 Xamarin 中的 Couchbase 服务器同步
Sync gateway is not syncing with Couchbase server in Xamarin
我正在尝试在我的 xamarin 应用程序中将 couchbase 用于在线和离线数据库。
离线部分工作正常,但不同步。
我已经安装了 couchbase 服务器,我创建了一个名为:userprofile 的存储桶和一个用户,并且我启用了应用程序访问权限和只读管理员角色。
我还安装了同步网关并配置了它,
这是我的配置。json 文件
{
"log": ["*"],
"databases": {
"userprofile": {
"server": "http://127.0.0.1:8091",
"bucket": "user-profile",
"username": "Maria",
"password": "123456",
"enable_shared_bucket_access": true,
"import_docs": true,
"num_index_replicas": 0,
"delta_sync" :{"enabled":true},
"users": {
"Maria": { "password": "123456"},
"GUEST": { "disabled": false, "admin_channels": ["*"] }
},
"sync": `function (doc, oldDoc) {
if (doc.sdk) {
channel(doc.sdk);
}
}`
}
}
}
并且我使用这个命令来配置同步网关:
C:\Program Files\Couchbase\Sync Gateway\sync_gateway sync-gateway-config-userprofile-walrus.json
我也将同步 url 更改为 ws://10.0.2.2:4984 因为我正在使用 android 模拟器。
但它没有在设备之间同步,有人可以帮我吗?
1) 您如何验证同步是否正常工作(您按照哪些步骤进行测试)?如果您按照说明 here 进行操作,那将不适用于您上面的配置。因为您在配置文件中配置的唯一有效用户是具有凭据 "username" 和 "password" 的用户,并且教程中的步骤指示不同的 username/password。因此,请确保您使用配置文件中的凭据登录您的应用程序并尝试
2) 您表示您有一个 Couchbase 服务器 运行,您已为 Sync Gateway 访问配置了该服务器。但是您的配置文件表明您正在使用 "walrus" 模式(海象模式是一种仅用于 dev/test 目的的内存模式)。换句话说,在海象模式下,您没有指向实际的 couchbase 服务器。
如果你想与后端 Couchbase 服务器同步(你应该这样做),则将配置文件中 "server" 属性 中的 "walrus:" 替换为指向 couchbase服务器。
3) 排除故障的最佳资源是 Sync Gateway 日志。这应该就同步出了什么问题提供足够的提示。 Post 如果上述提示不起作用,您将看到的错误
4) 看看这个 tutorial for relevant background. Probably from this point
我正在尝试在我的 xamarin 应用程序中将 couchbase 用于在线和离线数据库。 离线部分工作正常,但不同步。
我已经安装了 couchbase 服务器,我创建了一个名为:userprofile 的存储桶和一个用户,并且我启用了应用程序访问权限和只读管理员角色。 我还安装了同步网关并配置了它, 这是我的配置。json 文件
{
"log": ["*"],
"databases": {
"userprofile": {
"server": "http://127.0.0.1:8091",
"bucket": "user-profile",
"username": "Maria",
"password": "123456",
"enable_shared_bucket_access": true,
"import_docs": true,
"num_index_replicas": 0,
"delta_sync" :{"enabled":true},
"users": {
"Maria": { "password": "123456"},
"GUEST": { "disabled": false, "admin_channels": ["*"] }
},
"sync": `function (doc, oldDoc) {
if (doc.sdk) {
channel(doc.sdk);
}
}`
}
}
}
并且我使用这个命令来配置同步网关:
C:\Program Files\Couchbase\Sync Gateway\sync_gateway sync-gateway-config-userprofile-walrus.json
我也将同步 url 更改为 ws://10.0.2.2:4984 因为我正在使用 android 模拟器。 但它没有在设备之间同步,有人可以帮我吗?
1) 您如何验证同步是否正常工作(您按照哪些步骤进行测试)?如果您按照说明 here 进行操作,那将不适用于您上面的配置。因为您在配置文件中配置的唯一有效用户是具有凭据 "username" 和 "password" 的用户,并且教程中的步骤指示不同的 username/password。因此,请确保您使用配置文件中的凭据登录您的应用程序并尝试
2) 您表示您有一个 Couchbase 服务器 运行,您已为 Sync Gateway 访问配置了该服务器。但是您的配置文件表明您正在使用 "walrus" 模式(海象模式是一种仅用于 dev/test 目的的内存模式)。换句话说,在海象模式下,您没有指向实际的 couchbase 服务器。
如果你想与后端 Couchbase 服务器同步(你应该这样做),则将配置文件中 "server" 属性 中的 "walrus:" 替换为指向 couchbase服务器。
3) 排除故障的最佳资源是 Sync Gateway 日志。这应该就同步出了什么问题提供足够的提示。 Post 如果上述提示不起作用,您将看到的错误
4) 看看这个 tutorial for relevant background. Probably from this point