💬

PythonでElastic Search ( Cloud ) へつなぐ方法

2022/06/09に公開

Elastic Searchの場合 ( Docker composeとかを使用)

パスワードとか設定しないならこんな感じ

client = elasticsearch.Elasticsearch("docker-composeのサービス名:ポート番号")
client.info()

パスワードを使用する場合は、docker-compose.yamlとかで環境変数を

- ELASTIC_PASSWORD=devpass
- xpack.security.enabled=true   

に指定した上で

client = elasticsearch.Elasticsearch("コンテナ名:ポート番号", http_auth=("elastic", "devpass"))

でアクセスできる。
ユーザー名はelasticじゃないと駄目らしい。なんでか不明

Elastic Cloudの場合

パスワードは、クラスタをデプロイした際にcsvとかでダウンロードできる。

cloud_idは、管理画面ぽいところから取得できる

上記2つを使って

client = elasticsearch.Elasticsearch(cloud_id="クラウドID", 
                                     http_auth=("elastic", "パスワード"))
client.info()

意外と詰まりがちのところなので記録として残しておいた

Discussion