首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试使用elasticsearch-dsl Python包访问Elasticsearch Cloud时出现“无法建立新连接”

尝试使用elasticsearch-dsl Python包访问Elasticsearch Cloud时出现“无法建立新连接”
EN

Stack Overflow用户
提问于 2019-10-17 16:43:26
回答 1查看 2.3K关注 0票数 1

我正在尝试使用Elasticsearch,并使用Django Python包对一些elasticsearch-dsl数据进行索引。

我已经创建了一个相对基本的测试search.py,但在尝试索引任何数据时收到一个连接错误。

代码语言:javascript
复制
from elasticsearch_dsl.connections import connections
from elasticsearch_dsl import Document, Text
from elasticsearch.helpers import bulk
from elasticsearch import Elasticsearch

from . import models


connections.create_connection(hosts=['ELASTICSEARCH_ENDPOINT_URL'],
                              http_auth='USERNAME:PASSWORD')


class MyIndex(Document):
    title = Text()
    description = Text()

    class Index:
        name = 'my-index'


def bulk_indexing():
    MyIndex.init()
    es = Elasticsearch()
    bulk(client=es, actions=(a.indexing() for a in models.MyModel.objects.all().iterator()))

当我运行bulk_indexing()时,我得到以下错误:

elasticsearch.exceptions.ConnectionError: ConnectionError(<urllib3.connection.HTTPConnection object at 0x1282266d8>: Failed to establish a new connection: [Errno 61] Connection refused) caused by: NewConnectionError(<urllib3.connection.HTTPConnection object at 0x1282266d8>: Failed to establish a new connection: [Errno 61] Connection refused)

我怀疑语法错误或在创建连接时遗漏了一些凭据,但我找不到任何进一步的信息。

我使用的是使用Elastic Cloud部署的Elasticsearch v7.4.0。当我通过浏览器访问URL时,我可以连接。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-17 16:54:35

为什么不直接使用您的云ID (您可以在ES云控制台中找到)?

代码语言:javascript
复制
from elasticsearch import Elasticsearch
es = Elasticsearch(cloud_id="<some_long_cloud_id>", http_auth=('USERNAME','PASSWORD'))
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58428417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档