00 ตั้งค่า
เตรียม macOS หรือ WSL 2 สร้างบริการ ClickHouse Cloud และโหลดไฟล์สภาพแวดล้อมหนึ่งไฟล์
เลือก macOS หรือ Windows ที่ส่วนหัวของหน้า คำสั่งของ Windows รันใน Ubuntu บน WSL 2 ไม่ใช่ PowerShell ยกเว้นกรณีที่หน้านั้นระบุ PowerShell อย่างชัดเจน
ผลลัพธ์
คุณมี Docker, Git, Python, clickhousectl, ClickHouse client, บริการ Cloud
และ .env.polymarket ที่ source แล้ว preflight พิมพ์ READY
ขั้นที่ 1 — ตรวจสอบแล็ปท็อป
ติดตั้ง Docker Desktop for Mac แล้วรันใน Terminal:
docker version
docker compose version
git --version
python3 --versionขั้นที่ 2 — Clone repository ของเวิร์กช็อป
git clone https://github.com/ClickHouse/ClickHouse_Demos.git
cd ClickHouse_Demos
git switch build-workshop-v1
cd "$(git rev-parse --show-toplevel)/workshop_public/polymarket"
cp .env.polymarket.example .env.polymarketการสลับ branch เป็นสิ่งจำเป็น: build-workshop-v1 คือ snapshot ของเวิร์กช็อปโปรดักชันฉบับสมบูรณ์
รันคำสั่งต่อ ๆ ไปจาก ClickHouse_Demos/workshop_public/polymarket
ขั้นที่ 3 — ติดตั้ง clickhousectl และ ClickHouse client
curl https://clickhouse.com/cli | sh
export PATH="$HOME/.local/bin:$PATH"
clickhousectl --version
clickhousectl local use stable
clickhouse client --versionlocal use ติดตั้งเฉพาะไบนารีของ client เท่านั้น ไม่ได้เปิดเซิร์ฟเวอร์
ฐานข้อมูล ทุกคิวรีชี้ไปที่ ClickHouse Cloud
ขั้นที่ 4 — ยืนยันตัวตนและสร้างบริการ Cloud
การอบรมแบบพบตัว: ใช้ organization API key ที่เจาะจงต่อผู้เรียนซึ่งผู้สอนส่งให้ อย่างปลอดภัย
การล็อกอินแบบ interactive จะไม่ทิ้ง secret ไว้ในประวัติเชลล์:
clickhousectl cloud auth login --interactive
clickhousectl cloud auth status
clickhousectl cloud org listระบบอัตโนมัติที่เชื่อถือได้ใช้รูปแบบระบุค่าตรง ๆ ได้:
clickhousectl cloud auth login --api-key <key> --api-secret <secret>สร้างบริการหนึ่งตัว เปลี่ยน region เฉพาะเมื่อผู้สอนระบุที่อื่น:
clickhousectl cloud service create \
--name polymarket-workshop \
--provider aws \
--region ap-southeast-1 \
--min-replica-memory-gb 8 \
--max-replica-memory-gb 8 \
--num-replicas 1 \
--idle-scaling true \
--idle-timeout-minutes 15บันทึก service ID และรหัสผ่านของ default user ที่ให้ครั้งเดียวไว้ รอจนกว่าจะพร้อมใช้งาน:
clickhousectl cloud service list
clickhousectl cloud service get <service-id>ขั้นที่ 5 — กรอกและ source .env.polymarket
เปิดกล่องโต้ตอบ Connect ของบริการ ใส่ชื่อโฮสต์เปล่า ๆ และรหัสผ่านลงใน
.env.polymarket อย่าใส่ https:// หรือ :8443 ในค่าโฮสต์
${EDITOR:-vi} .env.polymarket
set -a; source ./.env.polymarket; set +aยืนยันว่าเชลล์โหลดค่าที่ไม่ใช่ความลับแล้ว:
printf 'host=%s database=%s mode=%s\n' \
"$CLICKHOUSE_HOST" "$CLICKHOUSE_DATABASE" "$POLYMARKET_MODE"ผลที่ควรได้: ชื่อโฮสต์ของ Cloud, polymarket และ live
ขั้นที่ 6 — รัน preflight
chmod +x ./preflight.sh
./preflight.shผลที่ควรได้:
READY: Docker, ClickHouse Cloud, Gamma, Data API, and CLOB REST are reachableในโหมด fixture บนเครือข่ายที่บล็อก Polymarket บรรทัดสุดท้ายจะเป็น:
READY: Docker and ClickHouse Cloud are reachable; fixture mode will supply dataหากมีเพียงการตรวจสอบ Polymarket API ที่ล้มเหลว ให้ใช้แผนสำรอง fixture ใน การแก้ปัญหา
ถือว่าเสร็จเมื่อ
clickhouse client --versionทำงานสำเร็จclickhousectl cloud service get <service-id>รายงานว่าบริการพร้อมใช้งานprintfแสดงค่า host/database/mode ตามที่คาด และ./preflight.shพิมพ์READY
ต่อไป: ค้นหาตลาดที่คุณจะเฝ้าดู