使用python的Elasticsearch软件包连接到远程Elasticsearch服务器

全部大写

我想为我的网站使用远程Elasticsearch服务器。

我已经使用elastic.co/云服务来创建远程Elasticsearch服务器。我可以使用以下命令(清除了敏感信息)连接/ ping远程Elasticsearch服务器:curl -u username:password https://55555555555bb0c30d1cba4e9e6.us-central1.gcp.cloud.es.io:9243

将此命令绑定到终端后,我收到以下响应:

{
  "name" : "instance-0000000001",
  "cluster_name" : "555555555555",
  "cluster_uuid" : "55555555555",
  "version" : {
    "number" : "7.10.2",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "555555555555555555555555",
    "build_date" : "2021-01-13T00:42:12.435326Z",
    "build_snapshot" : false,
    "lucene_version" : "8.7.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

我正在使用以下Elasticsearch python客户端将Elasticsearch与我的网站集成:https : //elasticsearch-py.readthedocs.io/en/v7.10.1/index.html#

要初始化本地连接,我导入Elasticsearch类并通过粘贴我的Elasticsearch服务器的本地URL来初始化该类的实例。

>>> from elasticsearch import Elasticsearch
>>> es = Elasticsearch('http://localhost:9200')
>>> es
<Elasticsearch([{'host': 'localhost', 'port': 9200}])>

现在,我想使用相同的Elasticsearch类连接到我的远程服务器。为此,我需要使用信息格式化Elasticsearch对象的初始化,以连接到我的远程Elasticsearch服务器。

这是我遇到麻烦的地方。Elasticsearch类的文档字符串非常不透明。简而言之,它要求我创建一个自定义连接对象,但我仍无法弄清楚该如何做。

Elasticsearch对象的文档稍微好一点[1],但仍未提供涉及用户名和密码的示例。

我可以创建API密钥,但不确定如何使用它。涉及API密钥或回答如何使用我的用户名和密码进行连接的答案将非常有帮助。

leandrojmp

您需要按照文档中所述使用TLS / SSL和身份验证进行连接

在您的情况下,您应该使用类似这样的方法。

from elasticsearch import Elasticsearch

es = Elasticsearch(
    ['5555555555bb0c30d1cba4e9e6.us-central1.gcp.cloud.es.io'],
    http_auth=('username', 'password'),
    scheme="https",
    port=9243,
)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

动态连接到部署了软件包的服务器

使用python连接到远程服务器,添加代理

Elasticsearch :通过连接到远程服务器。SSH(节点JS)

使用Remote-FTP atom软件包和私钥向服务器发出连接

Python-使用pyodbc通过Excel数据连接中的信息连接到远程服务器

远程连接到简单的套接字python服务器

无法使用XMPPFramework连接到远程服务器

使用 letencrypt ssl 连接到远程 RabbitMQ 服务器

使用JAVA通过FTP连接到远程服务器

使用HttpURLConnection连接到远程服务器

使用Ionic连接到MongoDB远程服务器

无法使用 Swift 连接到远程 RabbitMQ 服务器

无服务器:使用私有Python软件包作为依赖项

使用python pysftp软件包,获取“ SSHException:服务器错误的主机密钥”错误

连接到远程mongoDB服务器

远程连接到Ksql服务器

连接到远程mongo服务器

连接到远程mysql服务器

PgAdmin连接到远程服务器

WinError 10060尝试使用Python PySFTP模块连接到远程服务器时出错

如何测试SocketIO服务器连接(使用pytest或任何其他软件包)?

apt-offline apt-get升级仍尝试连接到联机服务器以进行升级,即使软件包已经同步

如何使用连接器/ C ++连接到远程ipv6 mysql服务器

如何使用具有IP地址的其余客户端连接到Elasticsearch服务器

远程连接到 PCF 云配置服务器服务

Linux服务器损坏的软件包

无法删除服务器上的NuGet软件包

Rackspace在python中使用Pyrax连接到服务器

在 Python 中使用凭据连接到 SQL 服务器