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-compose
파일에 포함된 것과 같은 로컬OS_HOST
docker) OpenSearch 이미지를 사용하는 경우 위 명령( dockernetwork
docker run --rm --env-file .env --network os-cli_default andreafspeziale/os-cli
)
Docker화된 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_HOST | OS_CONNECTION_METHOD 로컬 또는 프록시가 아닌 경우 | http://localhost:(9200 or 8080) | OpenSearch 연결 호스트 | - |
OS_CONNECTION_METHOD | 예 | - | OpenSearch에 연결하려는 방법 | [ local , proxy , serviceAccount , credentials ] |
AWS_지역 | OS_CONNECTION_METHOD 로컬 또는 프록시가 아닌 경우에만 | - | OpenSearch AWS 연결 리전 | - |
AWS_ROLE_ARN | OS_CONNECTION_METHOD serviceAccount 인 경우에만 | - | 역할 연결 수임에 대한 AWS 역할 ARN | - |
AWS_WEB_IDENTITY_TOKEN_FILE | OS_CONNECTION_METHOD serviceAccount 인 경우에만 | - | AWS 웹 자격 증명 토큰 파일 | - |
AWS_ACCESS_KEY_ID | OS_CONNECTION_METHOD 가 자격 증명 인 경우에만 | - | 정식 연결을 위한 AWS 액세스 키 ID | - |
AWS_SECRET_ACCESS_KEY | OS_CONNECTION_METHOD 가 자격 증명 인 경우에만 | - | 정식 연결을 위한 AWS 보안 액세스 키 | - |
LOGGER_LEVEL | 아니요 | debug | 어떤 로그가 표시될지 | [ silent , error , warn , info , http , verbose , debug ] |
LOGGER_PRETTY | 아니요 | 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 라이센스.