أداة لوحات المعلومات مع واجهات برمجة التطبيقات للطيور
البريد الإلكتروني
·
24/03/2022

النقاط الرئيسية
يمكن دمج واجهات برمجة تطبيقات الطيور مع بايثون و Plotly Dash لبناء لوحات معلومات قوية وتفاعلية دون الحاجة إلى واجهة المستخدم الكاملة لطيور.
يظهر المشروع كيفية تصوير المقاييس والأحداث باستخدام واجهة برمجة تطبيقات مقاييس الطيور وواجهة برمجة تطبيقات الأحداث داخل تطبيق ويب مخصص.
Plotly Dash يوفر إطار عمل سريع ومفتوح المصدر لبناء عناصر واجهة المستخدم مثل القوائم المنسدلة والمخططات والجداول.
يمكن للمطورين توسيع الأداة ب تحليلات القابلية للتسليم والتصفية والترقيم للحصول على لوحات معلومات أكثر ثراءً.
تشمل التحسينات المستقبلية التخزين المؤقت، وتحسين واجهة المستخدم، والتكامل مع منتجات الطيور الأخرى أو واجهات برمجة التطبيقات التابعة لأطراف ثالثة.
يوفر الكود (المتوفر على GitHub) نقطة انطلاق قوية لأي شخص يريد بناء لوحات معلومات مدعومة بطيور أو بوابات موجهة للعملاء.
أهم النقاط في الأسئلة والأجوبة
ما هو هدف مشروع إنشاء لوحات المعلومات هذا؟
يظهر كيف يمكن للمطورين استخدام واجهات برمجة التطبيقات الخاصة بـ Bird مع Python و Plotly Dash لإنشاء لوحات معلومات مدفوعة بالبيانات تعرض مقاييس الحملة والأحداث الأخيرة.
لماذا تستخدم Plotly Dash لواجهات برمجة تطبيقات الطيور؟
داش مفتوح المصدر، سهل التخصيص، ومثالي لإنشاء واجهات مستخدم تفاعلية دون الحاجة إلى خبرة في الواجهة الأمامية.
ماذا يعرض لوحة المعلومات؟
إنه يعرض مقاييس السلاسل الزمنية من واجهة برمجة تطبيقات Bird's Metrics وبيانات الأحداث الأخيرة من واجهة برمجة تطبيقات الأحداث، مع خيارات لتصفية وتحديد المقاييس على مدى زمني مخصص.
كيف يمكن توسيع الأداة أكثر؟
من خلال إضافة تحليلات التسليم، والفلاتر المتقدمة، وتخزين البيانات، والصفحات لمجموعات البيانات الكبيرة لتحسين الأداء وسهولة الاستخدام.
ما المهارات أو الأدوات المطلوبة لتشغيله؟
معرفة أساسية بـ Python وتثبيت المكتبات requests وdash وpandas. مطلوب مفتاح API من Bird لسحب البيانات.
كيف يتناسب هذا المشروع مع نظام طيور؟
يُظهر كيف يمكن استخدام واجهات برمجة التطبيقات المفتوحة من Bird لإنشاء لوحات معلومات مخصصة وأدوات تقارير للفرق أو العملاء الذين ليس لديهم وصول إلى النظام الأساسي الكامل.
هذا النص يتناول فقط لمحة عن ما هو ممكن باستخدام بايثون، بلوتلي داش، وواجهات برمجة التطبيقات الخاصة بنا.
API قياسات الطيور + لوحة التحكم باستخدام بايثون
قبل حوالي عام، كتب توم مارز، مدير نجاح العملاء في Bird، أداة للمراسلة تستخدم واجهات برمجة التطبيقات الخاصة بـ Bird. في هذه التدوينة، أستكمل ما بدأه. أداته تسمح بالإرسال المؤقت للوظائف، لكن ماذا لو أردنا إنشاء لوحات تحكم وسجلات أحداث خاصة بنا؟
ربما أريد إنشاء لوحة تحكم محددة لمجموعة أعمال أو لوحة تحكم موجهة للعملاء، دون منح المستخدمين وصولاً كاملاً إلى واجهة مستخدم Bird. هذه السكربت تلامس فقط سطح ما هو ممكن باستخدام بايثون، Plotly Dash، وواجهات برمجة التطبيقات الخاصة بنا. عند بناء لوحات تحكم تعالج بيانات واجهات برمجة التطبيقات ذات الحجم الكبير، كن على دراية بأن مكونات البنية التحتية مثل DNS يمكن أن تصبح اختناقات - لقد واجهنا تحديات توسيع DNS في AWS التي أثرت على قدرات معالجة البيانات لدينا. لعشاق التدفقات المرئية، يمكنك أيضاً استكشاف تكامل Flow Builder مع وظائف Google Cloud وواجهات برمجة التطبيقات الخاصة بالرؤية لإضافة أتمتة مدعومة بالذكاء الاصطناعي إلى خطوط معالجة البيانات الخاصة بك.
عندما بدأت بحثي عبر الإنترنت، كنت أرغب في العثور على أقل مسار مقاومة. كان بإمكاني إنشاء جميع لوحات التحكم وواجهة المستخدم بنفسي باستخدام HTML وpython، ومع ذلك، بعد بعض البحث في Google، وجدت Dash من Plotly، الذي يتكامل بسهولة مع بايثون. اخترت Dash لسببين: 1) إنه مفتوح المصدر، و2) بعد قراءة الوثائق بدا أنه سهل التخصيص لما كنت أحاول القيام به. Dash هو مكتبة مفتوحة المصدر مثالية لبناء ونشر تطبيقات البيانات مع واجهات مستخدم مخصصة. هذا جعل إنشاء واجهة مستخدم بسيطاً للغاية. ثم أصبح السؤال، كم هو معقد أريد أن أجعل هذا التطبيق؟ كلما قضيت المزيد من الوقت، كلما أردت إضافة المزيد من الميزات.
بالنسبة للمشروع الأولي، كنت أرغب في التأكد من أن لدي لوحة تحكم بمقاييس قابلة للتخصيص وإطار زمني قابل للاختيار. بدأت في البداية مع لوحة تحكم حيث يمكنك فقط اختيار مقياس واحد من القائمة المنسدلة. ثم، عندما حصلت على ملاحظات من زملاء العمل، قمت بتحسين لوحة التحكم قليلاً لإضافة الاختيار المتعدد وعناوين المحاور. كما قررت إضافة علامة تبويب إضافية لسجل الأحداث. وصلت إلى النقطة التي كنت راضياً فيها عما كان لدي كنقطة انطلاق جيدة لأي شخص يرغب في بناء لوحات تحكم خاصة بهم. بالنسبة للمطورين الذين يرغبون في تغذية بيانات الويب في الوقت الحقيقي إلى لوحات التحكم الخاصة بهم، تحقق من دليلنا حول بناء مستهلكي الويب باستخدام وظائف Azure. بالطبع، وضعت المشروع في Github لتقوم بعمل استنساخ أو فرع.
البدء
للوصول إلى هذا التطبيق، ستحتاج إلى التأكد من أنك تستخدم بايثون 3.10 أو أحدث وتثبيت المكتبات التالية:
مكتبة بايثون | الغاية |
|---|---|
requests | الاتصال بواجهة برمجة التطبيقات مع خدمات بيرد |
dash | عرض واجهة المستخدم ولوحة المعلومات |
pandas | معالجة البيانات وإنشاء الجداول |
ثم، أدخل مفتاح واجهة برمجة التطبيقات الخاص بك في App.py وقم بتشغيل التطبيق. سيعمل على http://localhost:8050. لمزيد من المعلومات حول نشر هذا على خادم موجه للجمهور (مثل AWS)، راجع الموارد التالية:
إنشاء صفحة لوحة القيادة
إنشاء صفحة تفاصيل الحدث
الخطوات التالية
لشخص يتطلع إلى إنشاء لوح معلومات أو سجل أحداث خاص به، هذه بداية جيدة. مع مستويات التخصيص هنا، السماء هي الحد.
كما تم مناقشته أعلاه، بعض التحسينات المستقبلية التي يمكن إجراؤها هي:
إضافة تحليلات القابلية للتوصيل إلى لوحة المعلومات
إضافة المزيد من المرشحات إلى لوحة المعلومات
خيارات التخزين المؤقت المحتملة حتى لا يتم استدعاء واجهة برمجة التطبيقات في كل مرة لعرض الصفحات
تحسينات واجهة المستخدم
إضافة التصفية والترقيم إلى صفحة تفاصيل الحدث
سأكون مهتمًا بـ سماع أي تعليقات أو اقتراحات لتوسيع هذا المشروع.
~ زاك صامويلز، مهندس حلول أول في بيرد





