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 |
LOGGER_REDACT | 不 | '' | 从日志中删除指定的单词 | - |
对于 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 许可。