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 は環境変数を利用して、接続とログのオプションを 1 回だけ設定します。
名前 | 必須 | デフォルト | 説明 | 価値観 |
---|---|---|---|---|
OS_ホスト | OS_CONNECTION_METHOD がローカルまたはプロキシではない場合 | http://localhost:(9200 or 8080) | OpenSearch 接続ホスト | - |
OS_接続_方法 | はい | - | 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 ID トークン ファイル | - |
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ライセンス。