Check out what’s new from Firebase at Google I/O 2022. Learn more

قم بإعداد منطق وتنبيهات الفواتير المتقدمة

على الرغم من أن رسائل البريد الإلكتروني البسيطة الخاصة بتنبيهات الميزانية هي طريقة سهلة نسبيًا لتلقي تحديثات الفواتير ، فقد تكون هناك أوقات تريد فيها إنشاء تنبيهات أكثر تعقيدًا تتضمن منطقًا أكثر تخصيصًا. فيما يلي طريقتان يجب مراعاتهما:

  • استخدم المراقبة السحابية لإنشاء تنبيهات أكثر تعقيدًا وفي الوقت المناسب

  • استخدم إشعار Pub / Sub للفوترة جنبًا إلى جنب مع وظيفة Cloud المقابلة لإنشاء سلوك مخصص استجابةً للتغييرات في إنفاقك

بينما تتطلب هاتان التقنيتان مزيدًا من العمل من جانبك ، إلا أنها تمنحك القدرة على التحكم بالضبط في أنواع التنبيهات التي تتلقاها وكيفية الرد عليها.

تقدم هذه الصفحة نظرة عامة على كل من هذه الأساليب.

قم بإنشاء تنبيهات أكثر تعقيدًا باستخدام المراقبة السحابية

تتيح لك رسائل البريد الإلكتروني الخاصة بتنبيهات الميزانية البسيطة معرفة متى وصل إجمالي الفواتير الخاصة بك إلى حدود معينة. ومع ذلك ، قد تكون مهتمًا أيضًا بمعرفة ما إذا كانت الخدمات الفردية تتزايد بشكل غير متوقع - قبل أن تتاح لها فرصة التأثير بشكل كبير على ميزانيتك. لحالات استخدام أكثر تعقيدًا مثل هذه ، نوصي بالتعرف على Cloud Monitoring ، وهي أداة Google Cloud متاحة لمشروع Firebase الخاص بك.

تعد المراقبة السحابية مفيدة لعدة أنواع مختلفة من التنبيهات:

  • إذا كان المورد الذي يعتمد عليه مشروعك غير متاح (لكل من خدمات Firebase و Google Cloud ، ولكن حتى للخدمات الخارجية ، مثل AWS)

  • إذا كانت خدمات مثل Cloud Functions تستغرق وقتًا أطول من المتوقع للاستجابة

  • إذا كانت حاوية Cloud Storage أو مثيل Realtime Database أو مثيل Cloud Firestore يرفض عددًا كبيرًا جدًا من الطلبات (إشارة إلى أن قواعد أمان Firebase قد تكون غير صحيحة).

  • إذا زاد مقدار الموارد المستخدمة بواسطة بعض منتجات Firebase عن حد معين

عادةً ما يتم إرسال التنبيهات التي يتم إنشاؤها من خلال المراقبة السحابية بسرعة أكبر من رسائل البريد الإلكتروني البسيطة لتنبيهات الميزانية ، والتي يتم إرسالها عادةً مرة واحدة يوميًا. يمكن أن تأخذ التنبيهات شكل رسائل SMS ورسائل قناة Slack وإشعارات PagerDuty وخطافات الويب والمزيد. تتيح لك هذه الخيارات إرسال تنبيهات بمستويات رؤية أعلى وأكثر قابلية للتنفيذ.

استخدام المراقبة السحابية

لبدء استخدام المراقبة السحابية ، نوصي بالبدء باستخدام Metrics Explorer ، والذي يسمح لك بإنشاء رسوم بيانية لمقاييس مخصصة ضمن مشروع Firebase / Google Cloud وتصور استخدامها.

على وجه التحديد ، يمكنك إلقاء نظرة على الموارد مثل Cloud Firestore أو Realtime Database أو مثيلات Cloud Function. يمكنك عرض معلومات الاستخدام حول هذه المنتجات (مثل عدد قراءات المستندات أو وحدات البايت المرسلة أو استدعاءات الوظائف) التي سيكون لها تأثير على الفواتير الخاصة بك.

بعد أن تشعر بالراحة عند تصور استخدامك لمواردك في Metrics Explorer ، نوصي بإنشاء سياسة تنبيه للمقاييس التي تهتم بها كثيرًا. فيما يلي بعض الأمثلة على سياسات التنبيه:

  • إذا كان عدد المستندات التي تمت قراءتها في فترة زمنية مدتها 30 دقيقة أكبر من قيمة معينة

  • إذا كان استخدام مورد معين (مثل استدعاء الوظيفة) يبدو أنه يتزايد بسرعة كبيرة في إطار زمني معين

إنشاء منطق فوترة إضافي

ترسل تنبيهات الميزانية رسائل بريد إلكتروني تلقائيًا عندما تصل ميزانيتك إلى حدود معينة ، ولكن لمزيد من التنبيهات المعقدة أو ردود الفعل الآلية على زيادة الإنفاق ، قد تفكر في إعداد منطق مخصص إضافي بناءً على رسائل Google Cloud Pub / Sub.

على سبيل المثال ، يمكنك إرسال تنبيهات إلى قنوات Slack أو عبر رسالة نصية ، أو يمكنك إجراء تغييرات برمجية على تطبيقك أو مشروعك اعتمادًا على مستويات الإنفاق.

Pub / Sub هي خدمة لتمرير الرسائل تسمح للخدمات الأخرى بإرسال الرسائل - عادةً في شكل بيانات JSON - بطريقة غير متزامنة من خلال القنوات المعروفة باسم موضوعات Pub / Sub. يمكنك إعداد الخدمات المصرح بها ، مثل وظائف السحابة ، للاستماع إلى الرسائل في هذه الموضوعات والعمل على البيانات بشكل مناسب.

لاحظ أنه يتم إرسال إشعارات Pub / Sub للفوترة مرة واحدة كل 20 دقيقة تقريبًا سواء تم تغيير استخدام الفوترة أم لا ، وهي بلا حالة (بمعنى أنها لا تقدم أي سياق لما سبقها). إذا كنت ترغب في تتبع الزيادات غير العادية في الإنفاق بمرور الوقت ، أو مقارنة إنفاقك بالدورة السابقة ، فستحتاج إلى إدارة تلك البيانات التاريخية بنفسك باستخدام قاعدة بيانات مثل Cloud Firestore أو Realtime Database.

استخدام موضوعات Pub / Sub مع وظائف السحابة

يمكنك إعداد موضوع Pub / Sub لبيانات الفوترة الخاصة بك عن طريق زيارة الميزانية المرتبطة بمشروع Firebase في Google Cloud Console (ضمن الفوترة > الميزانيات والتنبيهات ) ، ثم النقر فوق مربع الاختيار لـ Connect a Pub / Sub موضوع بهذه الميزانية . سيؤدي هذا إلى إنشاء موضوع Pub / Sub يمكنك الاستماع إليه لاحقًا. للحصول على خطوات مفصلة ، راجع الوثائق الكاملة .

بعد إنشاء موضوع فوترة Pub / Sub ، يمكنك كتابة وظيفة Cloud للاستماع إلى هذا الموضوع والعمل على البيانات وفقًا لذلك. يتم إرسال البيانات كبيانات JSON وتتضمن معلومات مفيدة مثل المبلغ الذي أنفقته حتى الآن ومبلغ ميزانيتك وتاريخ بدء دورة الفوترة الحالية.

تحتوي وثائق Google Cloud على تفاصيل كاملة حول كيفية تلقي هذه البيانات باستخدام وظيفة السحاب. ومع ذلك ، إذا كنت تستخدم Cloud Functions لـ Firebase لنشر وظائفك ، فإن العملية العامة تكون أبسط قليلاً (راجع وثائق Firebase ). يمكنك أيضًا الرجوع إلى هذا الفيديو للحصول على عينة تجول للعملية.

بمجرد تلقيك لهذه البيانات ، هناك عدد من الطرق المختلفة التي يمكنك من خلالها الرد عليها. فيما يلي بعض الخيارات: