تحتوي أداة Looker Studio على نظام ذاكرة تخزين مؤقت خاص بها للتقارير. عند إنشاء موصل، يمكنك تنفيذ ذاكرة تخزين مؤقت مخصصة لتسهيل إعداد التقارير تجنُّب حدود معدل الفائدة المئوية السنوية
على سبيل المثال، في حال إنشاء موصِّل يوفّر بيانات الطقس السابقة خلال آخر 7 أيام لرمز بريدي معيّن. يبدو أن الموصل شائعة ولكن تخضع واجهة برمجة التطبيقات الخارجية التي تجلب البيانات منها بمعدل صارم الحدود. تقوم واجهة برمجة التطبيقات بتحديث بياناتها يوميًا فقط، لذا بالنسبة للرمز البريدي المحدد، ليست هناك حاجة لجلب البيانات نفسها عدة مرات خلال يوم واحد. استخدام هذا دليل الحلول، يمكنك تنفيذ ذاكرة تخزين مؤقت يومية لكل رمز بريدي.
المتطلبات
- قاعدة بيانات Firebase في الوقت الفعلي إذا لم يكن لديك إذن الوصول إليه، أنشئ Google Cloud Platform (GCP) وتتبع دليل البدء لإنشاء موقعك الإلكتروني على Firebase مثيل قاعدة البيانات في الوقت الفعلي.
- حساب خدمة Google Cloud Platform لقراءة البيانات وكتابتها من Firebase في الوقت الفعلي قاعدة البيانات.
- يشير ذلك المصطلح إلى موصِّل مجتمع يجلب البيانات من مصدر.
القيود
- لا يمكن استخدام هذا الحلّ مع الخدمات المتقدّمة في Looker Studio. فعندما استخدام خدمات Looker Studio المتقدمة، رمز الموصِّل في التطبيقات لا يمكن للنص البرمجي الوصول إلى البيانات. وبالتالي لا يمكنك تخزين البيانات باستخدام "برمجة تطبيقات Google".
- ولا يمكن لمحرِّري التقارير والمشاهدين إعادة ضبط ذاكرة التخزين المؤقت هذه.
الحل
تنفيذ حساب خدمة
- أنشِئ حساب خدمة في مشروعك على Google Cloud.
- تأكَّد من أنّ حساب الخدمة هذا لديه إذن الوصول إلى BigQuery في المشروع على السحابة الإلكترونية.
- أدوار "إدارة الهوية وإمكانية الوصول" (IAM) المطلوبة:
Firebase Admin
- أدوار "إدارة الهوية وإمكانية الوصول" (IAM) المطلوبة:
- نزِّل ملف JSON للحصول على مفاتيح حسابات الخدمة. تخزين
المحتوى في خصائص النصوص البرمجية لمشروع الموصِّل. بعد إضافة
من المفترض أن تبدو مشابهة لما يلي في واجهة مستخدم "برمجة تطبيقات Google":
- تضمين مكتبة OAuth2 لبرمجة التطبيقات في مشروع "برمجة تطبيقات Google"
- نفِّذ رمز OAuth2 المطلوب لحساب الخدمة:
تنفيذ الرمز البرمجي للقراءة والكتابة من Firebase
ستستخدم Firebase Database REST API لقراءة بيانات Firebase والكتابة إليها. قاعدة بيانات الوقت الفعلي. تنفذ التعليمة البرمجية التالية الطرق اللازمة بالوصول إلى واجهة برمجة التطبيقات هذه.
تنفيذ الطريقة getData()
من المفترض أن تظهر بنية رمز getData()
الحالي بدون تخزين مؤقت.
النحو التالي:
لاستخدام التخزين المؤقت في رمز getData()
، يُرجى اتّباع الخطوات التالية:
- حدد "الجزء" أو "الوحدة" من البيانات التي يجب تخزينها مؤقتًا.
إنشاء مفتاح فريد لتخزين الحد الأدنى من وحدة البيانات في ذاكرة التخزين المؤقت
بالنسبة إلى نموذج التنفيذ، يتم استخدامzipcode
منconfigparams
. كمفتاح.
اختياري: بالنسبة إلى ذاكرة التخزين المؤقت لكل مستخدم، يمكنك إنشاء مفتاح مركب باستخدام المفتاح الأساسي هوية المستخدم. مثال على عملية التنفيذ:
js var baseKey = getBaseKey(request); var userEmail = Session.getEffectiveUser().getEmail(); var hasheduserEmail = getHashedValue(userEmail); var compositeKey = baseKey + hasheduserEmail;
في حال توفّر بيانات مخزَّنة مؤقتًا، تحقّق مما إذا كانت ذاكرة التخزين المؤقت حديثة.
في المثال، يتم حفظ البيانات المخزنة مؤقتًا لرمز بريدي معين مع التاريخ الحالي. عند استرداد البيانات من ذاكرة التخزين المؤقت، يكون تاريخ ذاكرة التخزين المؤقت مقارنةً بالتاريخ الحالي.var cacheForZipcode = { data: <data being cached>, ymd: <current date in YYYYMMDD format> }
إذا لم تكن البيانات المخزّنة مؤقتًا أو لم تكن البيانات المخزّنة مؤقتًا حديثة، يمكنك جلب البيانات. من المصدر وتخزينها في ذاكرة التخزين المؤقت.
في المثال التالي، تتضمّن السمة main.js
الرمز البرمجي getData()
مع التخزين المؤقت.
تنفيذها.
مثال على الرمز
مراجع إضافية
يسهِّل موصل تجربة المستخدم من Chrome لوحة البيانات استنادًا إلى BigQuery بحجم يقارب 20 غيغابايت إلى آلاف المستخدمين. يستخدم هذا الموصِّل "قاعدة بيانات Firebase في الوقت الفعلي" بالإضافة إلى خدمة ذاكرة التخزين المؤقت لبرمجة التطبيقات لتوفير خيار التخزين المؤقت المكوّن من طبقتين. عرض للحصول على تفاصيل التنفيذ.