💬
PythonでElastic Search ( Cloud ) へつなぐ方法
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