我在亚马逊服务器上买了一个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中指定它,当我没错,我得到了完全相同的错误
答案 0 :(得分:0)
如Couchbase Python SDK Getting Started Guide中所述,只需使用群集节点的主机名 - 即在您的示例中:
connection = Couchbase.connect(host='ec2-54-186-83-95.bla.bla.bla.com',
bucket='data')