Python连接AWS ElasticSearch域并上传、检索d

2024-10-03 23:22:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经在AWS elasticsearch服务中设置了elasticsearch域。 它的端点类似于“https://search-testelasticseach-xxxxxxxxxxxxxxxxxxx.us-east-2.es.amazonaws.com”。我在Elasticsearch域中添加策略后,尝试使用IAM用户连接AWS Elasticsearch域端点。在

错误说

"Max retries exceeded with url: //search-testelasticseach-XXXXXXXXXXXXXXX.us-east-2.es.amazonaws.com:443/ (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x105111d68>: Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known'))) caused by: ConnectionError(HTTPSConnectionPool(host='https', port=443): Max retries exceeded with url: //search-testelasticseach-pkpbravqd4djbi3kjtihsra5ma.us-east-2.es.amazonaws.com:443/ (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x105111d68>: Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known')))"

代码段:

from elasticsearch import Elasticsearch, RequestsHttpConnection
from requests_aws4auth import AWS4Auth
YOUR_ACCESS_KEY = "XXX"
YOUR_SECRET_KEY = "XXXX"
REGION = "us-east-2"
host = 'https://search-testelasticseach-XXX.us-east-2.es.amazonaws.com'
awsauth = AWS4Auth(YOUR_ACCESS_KEY, YOUR_SECRET_KEY, REGION, 'es')

es = Elasticsearch(
    hosts=[{'host': host, 'port': 443}],
    http_auth=awsauth,
    use_ssl=True,
    verify_certs=True,
    connection_class=RequestsHttpConnection
)


print(es.info())

Tags: keyhttpscomhostsearchyourbyes