J'essaie d'envoyer une requête ping à mon instance Elasticsearch (déployée via Bonsai et Heroku add on). J'ai suivi leurs directives et essayer d'exécuter le code suivant sur mon ordinateur:Activer elasticsearch sur Heroku Bonsai à partir de mon ordinateur
from elasticsearch import Elasticsearch
from settings import BONSAI_URL
import re, logging
# Log transport details (optional):
logging.basicConfig(level=logging.INFO)
# Parse the auth and host from env:
bonsai = BONSAI_URL
print(bonsai)
auth = re.search('https\:\/\/(.*)\@', bonsai).group(1).split(':')
host = bonsai.replace('https://%s:%[email protected]' % (auth[0], auth[1]), '')
# Connect to cluster over SSL using auth for best security:
es_header = [{
'host': host,
'port': 443,
'use_ssl': True,
'http_auth': (auth[0],auth[1])
}]
# Instantiate the new Elasticsearch connection:
es = Elasticsearch(es_header)
# Verify that Python can talk to Bonsai (optional):
es.ping()
J'ai le message d'erreur suivant:
elasticsearch.exceptions.ImproperlyConfigured: Root certificates are missing for certificate validation. Either pass them in using the ca_certs parameter or install certifi to use it automatically.
Je crois que cette erreur provient du fait que je ne pas avoir un certificat de https si je HTTP, en supprimant le s
dans l'URL et l'expression rationnelle et la commutation use_ssl
False mais je suis l'erreur suivante:
urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(54, 'Connection reset by peer'))
Comment puis-je insérer des données de mon ordinateur dans elasticsearch sur Heroku?