OpenSearch CLI المدمج في Nest،
إطار عمل 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
في حالة استخدام صورة OpenSearch محلية (عامل إرساء) مثل تلك المضمنة في ملف
docker-compose
تأكد من تعيين خيارnetwork
ومتغيرOS_HOST
env (OS_HOST=http://opensearch:9200) بشكل صحيح في الأمر أعلاه (docker run --rm --env-file .env --network os-cli_default andreafspeziale/os-cli
)
إذا كنت تستخدم واجهة سطر الأوامر (CLI) التي تم إرساءها وتحتاج إلى استخدام حمولات json الخاصة بك كمدخلات، فستحتاج إلى تحميل المجلد في سياق تنفيذ واجهة سطر الأوامر (على سبيل المثال
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
)
لتذوق واجهة سطر الأوامر (CLI) بسرعة كبيرة باستخدام npx
أو بعد تثبيته، يمكنك نشر OpenSearch محليًا باستخدام ملف docker-compose
المضمن في المستودع:
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_REGION | فقط عندما لا يكون OS_CONNECTION_METHOD محليًا أو وكيلاً | - | منطقة اتصال OpenSearch AWS | - |
AWS_ROLE_ARN | فقط عندما يكون OS_CONNECTION_METHOD هو حساب الخدمة | - | دور AWS ARN لتولي اتصال الدور | - |
AWS_WEB_IDENTITY_TOKEN_FILE | فقط عندما يكون OS_CONNECTION_METHOD هو حساب الخدمة | - | ملف الرمز المميز لهوية ويب AWS | - |
AWS_ACCESS_KEY_ID | فقط عندما يكون OS_CONNECTION_METHOD عبارة عن بيانات اعتماد | - | معرف مفتاح وصول AWS للاتصال الأساسي | - |
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 | لا | '' | تمت إزالة الكلمات المحددة من السجلات | - |
بالنسبة لمثيل 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 مرخص من معهد ماساتشوستس للتكنولوجيا.