雲南黃悶雞製作所需香料: 大蒜 7-10瓣,辣椒 1 根,蔥 1 根,薑 2 片,草果 2 顆,八角 2 顆
明日待續…
在 Day03,我利用 Kibana 的 Dev tool 手動的建立 Index 以及 Index 一筆股票盤後資訊 Document。根據 Day01 中描述的系統架構,如果打算把本機現有的資料上傳到 ES Cloud,用手鍵入也太蠢,所以今天要來研究一下如何透過 RESTFul API 上傳資料。
透過 RESTful API,不同的程式語言都能夠與 Elasticsearch 溝通。一個標準的 ES 請求,有以下的格式:
curl -X<VERB> '<PROTOCOL>://<HOST>/<PATH>?<QUERY_STRING>' -d '<BODY>'
Elasticsearch 支援標準的 HTTP Basic Authentication,API header 必須包含 Authorization:
Authorization: Basic <TOKEN>
TOKEN = base64(USERNAME:PASSWORD)
在 Elastic Cloud 部署 Elasticsearch 時,有提示用戶要把 ID/PASSWORD 記錄下來,此時就會派上用場啦。
除了 Basic Authentication 外,ES 也提供 API Key 做驗証。這裡有一個新手的踩坑點,我一開始使用了 Elastic Cloud 介面產出的 API Key 作 ES API 驗証,如圖:
但對 ES 進行任何 CRUD 的操作都會失敗,在 Google 上的查找也不知所以然,後來在高手的指點下,才知道,Elastic Cloud 的 API Key 是用來管理雲端服務用;而操作 ES Stack 的 API Key 必須在 ES 中產生。如下圖,在 Dev Tool 中新增一把 Key:
這把 API Key 還不能直接用來當作 credential,正確的用法如下:
Authorization: ApiKey <TOKEN>
TOKEN = base64(ID:api_key)
我們可以在 Kibana 的 Stack Management 中,管理建立的 API Keys:
今天在 Authorization 的地方困比較久,明天再來繼續進行 RESTFul API 的實驗。
想請教您一個問題
關於ApiKey 的實作
API Key 還不能直接用來當作 credential
Authorization: ApiKey <TOKEN>
TOKEN = base64(ID:api_key)
這部分不太懂怎麼做,不知道該去哪邊下這指令@@
我是用命令提示字元工具 ( 應該是錯的很離譜)