Nest 內建 OpenSearch CLI,
一個先進的 Node.js 框架,用於建立高效且可擴展的伺服器端應用程式。
官方 opensearch-cli 也可用
npm install -g @andreafspeziale/os-cli
yarn global add @andreafspeziale/os-cli
pnpm add -g @andreafspeziale/os-cli
docker pull andreafspeziale/os-cli
docker run --rm --env-file .env andreafspeziale/os-cli
如果使用本機(docker)OpenSearch 映像(例如
docker-compose
檔案中包含的映像),請務必在上述命令中正確設定network
選項和OS_HOST
環境變數 (OS_HOST=http://opensearch:9200) (docker run --rm --env-file .env --network os-cli_default andreafspeziale/os-cli
)
如果使用 dockerized CLI 並且需要使用 json 有效負載作為輸入,則需要將資料夾掛載到 CLI 執行上下文中(例如
docker run --rm --env-file .env -v ./recipes:/opt/os-cli/recipes --network os-cli_default andreafspeziale/os-cli dq -i books -f recipes/query.json
)
若要使用npx
快速體驗 CLI,或安裝後,您可以使用儲存庫中包含的docker-compose
檔案在本機上產生 OpenSearch:
git clone [email protected]:andreafspeziale/os-cli.git
cd os-cli
docker compose up -d
export OS_CONNECTION_METHOD=local
npx @andreafspeziale/os-cli il
或os-cli il
與docker-compose
檔案一樣,儲存庫中也包含一些配方:
npx @andreafspeziale/os-cli i cr -i books -f ./recipes/create-index.json
或os-cli i cr -i books -f ./recipes/create-index.json
npx @andreafspeziale/os-cli d cr -i books -f ./recipes/create-documents.json
或os-cli d cr -i books -f ./recipes/create-documents.json
npx @andreafspeziale/os-cli dq -i books -f ./recipes/query.json
或os-cli dq -i books -f ./recipes/query.json
對於代理模式,請檢查 aws-sigv4-proxy
CLI 利用環境變數來設定一次連線和日誌記錄選項。
姓名 | 必需的 | 預設 | 描述 | 價值觀 |
---|---|---|---|---|
作業系統_主機 | 當OS_CONNECTION_METHOD 不是本地或代理時 | http://localhost:(9200 or 8080) | OpenSearch 連結主機 | - |
作業系統連接方法 | 是的 | - | 您希望如何連結到 OpenSearch | [ local 、 proxy 、 serviceAccount 、 credentials ] |
AWS_REGION | 僅當OS_CONNECTION_METHOD 不是本地或代理時 | - | OpenSearch AWS 連線區域 | - |
AWS_ROLE_ARN | 僅當OS_CONNECTION_METHOD 為serviceAccount時 | - | 用於承擔角色連線的 AWS 角色 ARN | - |
AWS_WEB_IDENTITY_TOKEN_FILE | 僅當OS_CONNECTION_METHOD 為serviceAccount時 | - | AWS Web 身分識別令牌文件 | - |
AWS_ACCESS_KEY_ID | 僅當OS_CONNECTION_METHOD 為憑證時 | - | 規範連接的 AWS 存取金鑰 ID | - |
AWS_SECRET_ACCESS_KEY | 僅當OS_CONNECTION_METHOD 為憑證時 | - | 用於規範連線的 AWS 秘密存取金鑰 | - |
記錄器級別 | 不 | debug | 將顯示哪些日誌 | [ silent 、 error 、 warn 、 info 、 http 、 verbose 、 debug ] |
記錄器_漂亮 | 不 | true | 用於啟用/停用日誌格式的布林值 | true , false |
記錄器_編輯 | 不 | '' | 從日誌中刪除指定的單字 | - |
對於 docker 本機 OpenSearch 實例,您需要做的就是:
export OS_CONNECTION_METHOD=local
對於規範的 AWS 連線方法,收據以及您的值將是:
export OS_HOST=
export OS_CONNECTION_METHOD=credentials
export AWS_REGION=
export AWS_ACCESS_KEY_ID=
export AWS_SECRET_ACCESS_KEY=
克隆存儲庫後:
cd os-cli
cp ./env/.env.development ./env
docker compose up -d
pnpm install
我個人更喜歡在終端機視窗中建置並在單獨的視窗中運行編譯後的版本,如下所示:
pnpm build --watch
pnpm start:prod
或node dist/os-cli.js
os-cli MIT 許可。