使用python超时异常远程连接到couchbase服务器

时间:2014-09-16 12:05:47

标签: python python-2.7 couchbase

我在亚马逊服务器上买了一个couchbase主机服务器,

当我输入此网址时

http://ec2-54-186-83-95.bla.bla.bla.com:8091/index.html

我得到了输入用户名和密码的页面,

现在我正在尝试使用python远程将文档插入该服务器。

我试过了:

connection = Couchbase.connect(host='http://ec2-54-186-83-95.bla.bla.bla.com:8091/index.html', bucket='data')

该声明没有给我任何异常,所以我试图插入这样的数据:

connection.set('key', value')

我遇到了这个例外:

Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
  File "C:\Python27\lib\site-packages\couchbase\connection.py", line 331, in set
    persist_to, replicate_to)
_TimeoutError_0x17 (generated, catch TimeoutError): <Key=u'key', RC=0x17[Client-Side timeout exceeded for operation. Inspect network conditions or increase the timeout], Operational Error, Results=1, C Source=(src\multiresult.c,282)>

为什么会这样?我应该使用不同的网址吗?

注意:

我可以成功地将文档添加到我的本地couchbase服务器,如下所示:

connection = Couchbase.connect(bucket='bucketName', password='bucketPassword')

如果您需要任何其他信息,请告诉我。

python 2.7,Windows 64位上的32位 Couchbase服务器2.5.1

更新

我相信我应该使用用户名和密码这样做,因为当我从浏览器访问该链接时,我得到了我应该插入我的用户名和密码的页面,但我没有在python中的连接statemnt中指定它,当我没错,我得到了完全相同的错误

1 个答案:

答案 0 :(得分:0)

Couchbase Python SDK Getting Started Guide中所述,只需使用群集节点的主机名 - 即在您的示例中:

connection = Couchbase.connect(host='ec2-54-186-83-95.bla.bla.bla.com',
                               bucket='data')