Programming/Python

Python elasticsearch에서 custom header 추가하기

라우드니스 2021. 3. 25. 16:20

 Kong Api gateway 뒤에 Elasticsearch를 설정하고 Kong의 key-auth plugin을 이용해서 간단하게 나만 사용할 수 있도록 설정해 사용하려고 했다. 그런데 Kong의 key-auth 플러그인을 사용하면 header나 body에 apikey를 인식할 수 있도록 설정한 key 값(기본: apikey)이 있어야 하는데 python elasticsearch에 해당 설정을 넘겨주는걸 어떻게 해야 할까? 찾다가 과거 github 글을 보고 더 찾아보니 이미 최신 버전(elasticsearch==7.12.0)에서는 custom header를 넘겨줄 수 있도록 구현되어 있었다.

 

from elasticsearch import Elasticsearch

es = Elasticsearch(["https://https-api-gateway-server:443/v1/elasticsearch"], use_ssl=True, verify_certs=True, headers={"apikey_key": "apikey_value"})

print(es.search())

 

참고로 apikey를 query string으로 넘겨주는 방식은 라이브러리가 host 주소 관련 처리를 하다 제거 하는 것 같으니 headers를 통해 전달해주도록 하자.

 

참조: elasticsearch-py.readthedocs.io/en/master/connection.html#elasticsearch.Urllib3HttpConnection

반응형

'Programming > Python' 카테고리의 다른 글

Streamlit SessionState  (0) 2021.04.05
python rocksdb 에서 column family 사용하기  (0) 2019.02.16
Embed Python in java (jep) 환경 설정  (1) 2017.04.05