# Elastic Search and Python Connection

**URL:** https://discuss.elastic.co/t/elastic-search-and-python-connection/188436
**Category:** Elasticsearch
**Created:** [July 2, 2019, 6:06am UTC](https://discuss.elastic.co/t/elastic-search-and-python-connection/188436 "2019-07-02T06:06:09Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![roma\_sodha](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/roma_sodha/32/48989_2.png) [@roma\_sodha](https://discuss.elastic.co/u/roma_sodha)
#### Post date: [July 2, 2019, 6:06am UTC](https://discuss.elastic.co/t/elastic-search-and-python-connection/188436/1 "2019-07-02T06:06:10Z")

</div>

Hi,

I am trying to connect elastic search thru python, However I get below connection error message.

elasticsearch.exceptions.ConnectionError: ConnectionError(\<urllib3.connection.HTTPConnection object at 0x0000021B1AA72DD8\>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed) caused by: NewConnectionError(\<urllib3.connection.HTTPConnection object at 0x0000021B1AA72DD8\>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed)

My script is as follows.

from elasticsearch import Elasticsearch  
es=Elasticsearch(host="http:// **host** /",port= 9200)  
print(es.info())

Thanks.

---

<div class="post-metadata">

### Author: ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)
#### Post date: [July 2, 2019, 6:46am UTC](https://discuss.elastic.co/t/elastic-search-and-python-connection/188436/2 "2019-07-02T06:46:13Z")

</div>

Is that the real address?

```
http://**/
```

---

<div class="post-metadata">

### Author: ![roma\_sodha](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/roma_sodha/32/48989_2.png) [@roma\_sodha](https://discuss.elastic.co/u/roma_sodha)
#### Post date: [July 2, 2019, 6:47am UTC](https://discuss.elastic.co/t/elastic-search-and-python-connection/188436/3 "2019-07-02T06:47:37Z")

</div>

Hi I have suppressed the address (confidential) it's elastic search hosted on AWS.  
Connectivity is fine while connecting thru postman, elastic .net libraries and required access is in place.

Should work while doing same thru python?  
Am I missing any configuration here?

---

<div class="post-metadata">

### Author: ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)
#### Post date: [July 2, 2019, 7:04am UTC](https://discuss.elastic.co/t/elastic-search-and-python-connection/188436/4 "2019-07-02T07:04:27Z")

</div>

> [@roma\_sodha](#):
>
> it's Elasticsearch hosted on AWS.

Do you mean that you are hosting it by yourself or running Elasticsearch as a service by AWS?  
More than that my question is actually: do you run your elasticsearch cluster without any security? Looking at the code you paste, it sounds like this. Unless you are doing something like:

```auto
es = Elasticsearch(['https://user:secret@localhost:443'])

```

The fact that you have suppressed the address in your post is hiding maybe an important mistake. But I can't really tell here.

Just a guess then, may be try:

```auto
es = Elasticsearch(
    ['host'],
    scheme="http",
    port=9200,
)

```

---

<div class="post-metadata">

### Author: ![roma\_sodha](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/roma_sodha/32/48989_2.png) [@roma\_sodha](https://discuss.elastic.co/u/roma_sodha)
#### Post date: [July 2, 2019, 7:19am UTC](https://discuss.elastic.co/t/elastic-search-and-python-connection/188436/5 "2019-07-02T07:19:43Z")

</div>

To answer, running Elastic Search as a service by AWS.  
I am running from in AWS workstation itself, so no auth cert required.  
Below is the snippet.

> > > from elasticsearch import Elasticsearch  
> > > es=Elasticsearch(['[https://abc.develop.uat/:9200](https://abc.develop.uat/:9200)'])  
> > > print(es.info())

Thanks.

---

<div class="post-metadata">

### Author: ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)
#### Post date: [July 2, 2019, 7:59am UTC](https://discuss.elastic.co/t/elastic-search-and-python-connection/188436/6 "2019-07-02T07:59:34Z")

</div>

So it's not the same form as it was previously? It's now https, without setting the `port` as a parameter?

```auto
es=Elasticsearch(host="http://host/",port= 9200)

```

is not exactly:

```auto
es=Elasticsearch(['https://abc.develop.uat/:9200'])

```

Which is wrong BTW...  
It should probably be:

```auto
es=Elasticsearch(['https://abc.develop.uat:9200/'])

```

As this is not the real code I'm afraid I can't help.

BTW did you look at [https://www.elastic.co/cloud](https://www.elastic.co/cloud) and [https://aws.amazon.com/marketplace/pp/B01N6YCISK](https://aws.amazon.com/marketplace/pp/B01N6YCISK) ?

Cloud by elastic is one way to have access to all features, all managed by us. Think about what is there yet like Security, Monitoring, Reporting, SQL, Canvas, APM, Logs UI, Infra UI, SIEM, Maps UI and what is coming next 🙂 ...

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [July 30, 2019, 7:59am UTC](https://discuss.elastic.co/t/elastic-search-and-python-connection/188436/7 "2019-07-30T07:59:38Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
