In Nest integrierte OpenSearch-CLI,
ein fortschrittliches Node.js-Framework zum Erstellen effizienter und skalierbarer serverseitiger Anwendungen.
Die offizielle opensearch-cli ist ebenfalls verfügbar
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
Wenn Sie ein lokales (Docker-)OpenSearch-Image wie das in der
docker-compose
Datei enthaltene verwenden, stellen Sie sicher, dass Sie dienetwork
und die UmgebungsvariableOS_HOST
(OS_HOST=http://opensearch:9200) im obigen Befehl (docker run --rm --env-file .env --network os-cli_default andreafspeziale/os-cli
korrekt festlegen.docker run --rm --env-file .env --network os-cli_default andreafspeziale/os-cli
)
Wenn Sie die Docker-CLI verwenden und Ihre JSON-Nutzlasten als Eingaben verwenden müssen, müssen Sie den Ordner in den CLI-Ausführungskontext einbinden (z. B.
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
)
Um die CLI sehr schnell mit npx
auszuprobieren oder nach der Installation, können Sie OpenSearch lokal starten, indem Sie die im Repository enthaltene docker-compose
Datei verwenden:
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
oder os-cli il
Wie die docker-compose
Datei sind auch einige Rezepte im Repository enthalten:
npx @andreafspeziale/os-cli i cr -i books -f ./recipes/create-index.json
oder os-cli i cr -i books -f ./recipes/create-index.json
npx @andreafspeziale/os-cli d cr -i books -f ./recipes/create-documents.json
oder os-cli d cr -i books -f ./recipes/create-documents.json
npx @andreafspeziale/os-cli dq -i books -f ./recipes/query.json
oder os-cli dq -i books -f ./recipes/query.json
Überprüfen Sie für den Proxy-Modus aws-sigv4-proxy
Die CLI nutzt Umgebungsvariablen, um Verbindungs- und Protokollierungsoptionen nur einmal festzulegen.
Name | Erforderlich | Standard | Beschreibung | Werte |
---|---|---|---|---|
OS_HOST | wenn OS_CONNECTION_METHOD NICHT lokal oder Proxy ist | http://localhost:(9200 or 8080) | OpenSearch-Verbindungshost | - |
OS_CONNECTION_METHOD | Ja | - | Wie Sie eine Verbindung zu OpenSearch herstellen möchten | [ local , proxy , serviceAccount , credentials ] |
AWS_REGION | Nur wenn OS_CONNECTION_METHOD NICHT lokal oder Proxy ist | - | OpenSearch AWS-Verbindungsregion | - |
AWS_ROLE_ARN | Nur wenn OS_CONNECTION_METHOD serviceAccount ist | - | AWS-Rollen-ARN für die Übernahme einer Rollenverbindung | - |
AWS_WEB_IDENTITY_TOKEN_FILE | Nur wenn OS_CONNECTION_METHOD serviceAccount ist | - | AWS-Web-Identitäts-Token-Datei | - |
AWS_ACCESS_KEY_ID | Nur wenn OS_CONNECTION_METHOD Anmeldeinformationen sind | - | AWS-Zugriffsschlüssel-ID für kanonische Verbindung | - |
AWS_SECRET_ACCESS_KEY | Nur wenn OS_CONNECTION_METHOD Anmeldeinformationen sind | - | Geheimer AWS-Zugriffsschlüssel für kanonische Verbindung | - |
LOGGER_LEVEL | NEIN | debug | Welche Protokolle werden angezeigt? | [ silent , error , warn , info , http , verbose , debug ] |
LOGGER_PRETTY | NEIN | true | Boolescher Wert zum Aktivieren/Deaktivieren der Protokollformatierung | true , false |
LOGGER_REDACT | NEIN | '' | Bestimmte Wörter aus Protokollen entfernt | - |
Für eine lokale Docker-OpenSearch-Instanz müssen Sie lediglich Folgendes tun:
export OS_CONNECTION_METHOD=local
Stattdessen wäre für eine kanonische AWS-Verbindungsmethode eine Quittung zusammen mit Ihren Werten:
export OS_HOST=
export OS_CONNECTION_METHOD=credentials
export AWS_REGION=
export AWS_ACCESS_KEY_ID=
export AWS_SECRET_ACCESS_KEY=
Nach dem Klonen des Repositorys:
cd os-cli
cp ./env/.env.development ./env
docker compose up -d
pnpm install
Ich persönlich bevorzuge es, ein Terminalfenster einzubauen und die kompilierte Version in einem separaten Fenster auszuführen, etwa so:
pnpm build --watch
pnpm start:prod
oder node dist/os-cli.js
os-cli MIT-lizenziert.