เริ่มต้นอย่างรวดเร็วบน Python
ในอีกไม่กี่นาที บริการ Python ของคุณจะประเมิน feature flag ในโปรเซส — ไม่มีการวิ่งข้ามเครือข่ายต่อการตรวจสอบ ไม่มีเวลาหน่วงในเส้นทางคำขอของคุณ การ poll หนึ่งครั้งรับใช้ทุกคำขอที่โปรเซสของคุณจัดการ
ไม่มี dependency SDK เป็น standard library ล้วน บน Python 3.11 ขึ้นไป มันทำงานเหมือนกันในแอป asyncio — การประเมินคือการอ่านในหน่วยความจำธรรมดา จึงไม่มีอะไรต้อง await
1. ติดตั้ง
หัวข้อที่มีชื่อว่า “1. ติดตั้ง”SDK อยู่ในรีโพซิทอรีสาธารณะบน GitHub — ติดตั้งจากตรงนั้นได้เลย โดยปักหมุดไว้ที่รีลีส
pip install "git+https://github.com/FortressFlag/FortressFlag_SDK_python@v1.0.0"ถ้าไม่ใส่ @v1.0.0 คุณจะตามสาขา development แทน — สะดวกสำหรับลองแก้ไข แต่ไม่ใช่สิ่งที่คุณต้องการใน production
2. คีย์เซิร์ฟเวอร์ — ความลับของแท้
หัวข้อที่มีชื่อว่า “2. คีย์เซิร์ฟเวอร์ — ความลับของแท้”SDK นี้ใช้ คีย์เซิร์ฟเวอร์ (ffs_…) และมันตรงข้ามกับคีย์ไคลเอนต์ที่ SDK มือถือและเว็บฝังไป มันดาวน์โหลด ruleset ทั้งชุดของคุณได้ รวมกฎการเจาะกลุ่ม ปฏิบัติกับมันเหมือนรหัสผ่านฐานข้อมูลทุกประการ — ตัวแปรสภาพแวดล้อมหรือ secret manager ไม่ใช่โค้ด ไม่ใช่รีโพซิทอรี ไม่ใช่ log เด็ดขาด คีย์สองคลาส เทียบกันข้าง ๆ
3. เริ่ม client
หัวข้อที่มีชื่อว่า “3. เริ่ม client”import os
import fortressflag
try: client = fortressflag.create( fortressflag.Configuration(key=os.environ["FF_SERVER_KEY"]) )except fortressflag.MalformedKeyError: # ที่เดียวที่ SDK raise คือคีย์ที่ผิดรูป ก่อนที่จะมีอะไรให้บริการ raise SystemExit(1)
client.start(timeout=15.0) # คืนค่าเมื่อ ruleset ชุดแรกมาถึง (หรือถึงกำหนดเวลา)
# ... บริการของคุณทำงาน การตรวจสอบ flag ตอนนี้คือการเรียกฟังก์ชันในหน่วยความจำstart ไม่มีวัน raise — ถ้าการดึงครั้งแรกมาไม่ทันเวลา client จะพยายามต่อบนเธรดเบื้องหลังของมัน และผู้เรียกของคุณได้ค่า fallback ไปพลาง ตัว poll เป็น daemon thread มันไม่มีวันขวางไม่ให้ interpreter ของคุณออก
4. ประเมิน flag
หัวข้อที่มีชื่อว่า “4. ประเมิน flag”enabled = client.bool_value( "new-checkout", fortressflag.Context( key="user-42", # คีย์บริบทที่คงที่ของคุณ จะเป็น user id หรือ session id ก็แล้วแต่คุณ tags={"cohort": "beta"}, ), False, # ค่า fallback ถ้าไม่รู้จัก flag หรือไม่เคยดึงอะไรมาเลย)client.string_value และ client.number_value ทำงานแบบเดียวกัน key ของบริบทคือสิ่งที่ rollout ตามเปอร์เซ็นต์ใช้จัดกลุ่ม — ส่งตัวระบุเดิมอย่างสม่ำเสมอ แล้วผู้ใช้แต่ละคนจะได้กลุ่มที่คงที่ มันคือข้อมูลของคุณ SDK ไม่มีวันตรวจสอบ เก็บ หรือ log มัน
แค่นั้น — บริการของคุณกำลังประเมิน flag ในเครื่องแล้ว การเปลี่ยนแปลงในแดชบอร์ดไปถึงทุกโปรเซสภายในราวหนึ่งนาที
การประเมินไม่มีวันล้มเหลว
หัวข้อที่มีชื่อว่า “การประเมินไม่มีวันล้มเหลว”bool_value string_value และ number_value ตอบเสมอและไม่มีวัน raise — ปัญหาเรื่อง flag ต้องไม่ทำให้บริการของคุณล่มเด็ดขาด โปรเซสที่รีสตาร์ตให้บริการค่า fallback ณ จุดเรียกของคุณจนกว่าการดึงครั้งแรกจะมาถึง (หรือตั้ง cache_path ในคอนฟิกเพื่อบันทึก ruleset ล่าสุดลงไฟล์ที่คุณเลือก แล้วการรีสตาร์ตจะกลับมาจากมันทันที) แม้แต่คีย์ที่ถูกเพิกถอนก็ไม่ทำให้อะไรพัง SDK ประเมินต่อด้วย ruleset ล่าสุดที่มันดาวน์โหลดมา จนกว่าคุณจะให้คีย์ใหม่
ไปต่อที่ไหนดี
หัวข้อที่มีชื่อว่า “ไปต่อที่ไหนดี”- Flag ไปถึงแอปของคุณอย่างไร — server plane อธิบายอย่างละเอียด
- คีย์ — สร้าง หมุนเวียน และเพิกถอนคีย์
ffs_ - การเจาะกลุ่ม — กฎที่บริการของคุณกำลังประเมินอยู่ตอนนี้