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
และตัวแปร envOS_HOST
อย่างถูกต้อง (OS_HOST=http://opensearch:9200) ในคำสั่งด้านบน (docker run --rm --env-file .env --network os-cli_default andreafspeziale/os-cli
)
หากใช้ 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
)
หากต้องการลิ้มรส 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 เป็น serviceAccount | - | ARN บทบาท AWS สำหรับการเชื่อมต่อบทบาทสมมติ | - |
AWS_WEB_IDENTITY_TOKEN_FILE | เฉพาะเมื่อ OS_CONNECTION_METHOD เป็น serviceAccount | - | ไฟล์โทเค็นข้อมูลประจำตัวเว็บ 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
โดยส่วนตัวแล้วฉันชอบ build ในหน้าต่างเทอร์มินัลและรันเวอร์ชันที่คอมไพล์แล้วในเวอร์ชันแยกต่างหากดังนี้:
pnpm build --watch
pnpm start:prod
หรือ node dist/os-cli.js
os-cli MIT ได้รับใบอนุญาต