الاشتراك في الأحداث

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

الأحداث هي ميزة اختيارية في واجهة برمجة تطبيقات SDM. يمكنه تنفيذها والتحقق منها بسهولة باستخدام Google Cloud مشروعك.

تفعيل الأحداث

يمكن تفعيل الأحداث في Device Access وحدة التحكّم. حدد مشروعك في إذا لم يسبق لك إجراء ذلك باستخدام وحدة التحكم.

الانتقال إلى Device Access وحدة التحكّم

في حال سبق لك تفعيل الأحداث (مثلاً، أثناء المشروع) إنشاء البيانات)، يجب أن يحتوي الحقل موضوع النشر/الاشتراك في قسم معلومات المشروع على علامة تُعرف باسم "رقم تعريف الموضوع" وتكون بالتنسيق التالي:

projects/sdm-prod/topics/enterprise-project-id

في حال عدم تفعيل الأحداث:

  1. انقر على رمز للنشر/الاشتراك الموضوع واختَر تعديل.
  2. ضَع علامة في المربّع تفعيل الأحداث وانقر على حفظ.
  3. يتم إنشاء رقم تعريف الموضوع بالتنسيق الموضّح أعلاه.

انسخ معرّف الموضوع، وستحتاج إليه لإنشاء اشتراك في الموضوع يمكن استرداد رسائل الأحداث.

إنشاء اشتراك Pull

اشتراك السحب هو المكان الذي يقدم فيه المشترك طلبات إلى النشر/الاشتراك الخادم لرسائل الأحداث الموضوعة في قائمة الانتظار. هذه طريقة سريعة وسهلة للتحقق من يجري إنشاء الأحداث لأجهزتك المُصرَّح بها.

افتح Cloud Shell لمشروعك على Google Cloud:

الانتقال إلى Google Cloud Shell

في موجه Cloud Shell، شغّل الأمر التالي لإنشاء سحب في موضوعك، باستخدام أي subscription-id تريده ورقم تعريف الموضوع الفريد:

gcloud pubsub subscriptions create subscription-id --topic=projects/sdm-prod/topics/enterprise-project-id
Created subscription [projects/gcp-project-name/subscriptions/subscription-id].

بدء الأحداث

لبدء الأحداث لأول مرة بعد إلغاء الاشتراك في خدمة "النشر/الاشتراك" إنشاء، يمكنك إجراء مكالمة لإدراج أجهزتك كمشغل لمرة واحدة:

curl -X GET 'https://smartdevicemanagement.googleapis.com/v1/enterprises/project-id/devices' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer access-token'

سيتم نشر الأحداث لجميع البُنى والأجهزة بعد طلب البيانات من واجهة برمجة التطبيقات هذا.

إنشاء أحداث

يتم إنشاء أحداث لجميع تغييرات حقول السمات، والتي يكون بعضها تلقائيًا، يدويًا.

على سبيل المثال، إذا كانت درجة الحرارة المحيطة بالقرب من تغييرات Nest Thermostat، وهي فعالية ستكون سمةدرجة الحرارة يتم إرساله تلقائيًا مع قيمة ambientTemperatureCelsius جديدة.

لإنشاء سجلّ يدويًا، عليك اتّخاذ أحد الإجراءَين التاليَين:

  1. تغيير حالة الجهاز فعليًا، مثل تغيير وضع Nest Thermostat.
  2. تشغيل حدث، مثل حركة أو شخص أو صوت على كاميرا Google Nest Cam داخل المنزل
  3. تنفيذ طلب جهاز باستخدام واجهة برمجة تطبيقات SDM.

عرض الرسائل

يمكن الاطّلاع على رسائل الأحداث في مشروعك على Google Cloud في صفحة قسم اشتراكات النشر/الاشتراك:

الانتقال إلى اشتراكات Google Cloud Pub/Sub

  1. انقر على رقم تعريف الاشتراك الذي أنشأته سابقًا.
  2. على شاشة تفاصيل الاشتراك، من المفترض أن ترى نشاط الرسم البياني عدد الرسائل التي لم تتم مصادقتها يشير ذلك إلى أنّ رسائل الحدث قد وصلت من خلال اشتراكك. في حال عدم ظهور أي نشاط، يُرجى الانتظار قليلاً. أثناء أو إنشاء بعض الأحداث الإضافية
  3. انقر على عرض الرسائل من أجل ستظهر لوحة الرسائل.
  4. انقر على PULL لعرض الرسائل. يجب أن تتوافق مع الإجراءات التي استخدمتها لإنشاء الأحداث

يمكن أيضًا عرض الرسائل في Cloud Shell باستخدام أمر pull أساسي:

gcloud pubsub subscriptions pull subscription-id

لمزيد من المعلومات حول أنواع الاشتراكات وأنواع الأحداث المُرسَلة واجهة برمجة تطبيقات SDM وكيفية استخدامها، راجع الأحداث:

إدارة الرسائل

يجب الموافقة على الرسائل بانتظام وإزالتها نهائيًا للاحتفاظ باشتراك. تنظيف الرسائل وتجنب تسليم الرسائل المكررة إلى المشتركين الآخرين. الكل يمكن إزالة رسائل الاشتراك نهائيًا يدويًا من خلال اشتراكات النشر/الاشتراك. :

الانتقال إلى اشتراكات Google Cloud Pub/Sub

  1. انقر على معرّف الاشتراك.
  2. هناك بعض الطرق للإقرار والإزالة نهائيًا:
    1. انقر على عرض الرسائل من أجل ستظهر لوحة الرسائل. ضَع علامة في المربّع تفعيل رسائل ack. وانقر على سحب لعرض جميع الرسائل والإقرار بها.
    2. انقر على إزالة. MESSAGE لإزالة جميع الرسائل الحالية نهائيًا من خلال الإقرار بدون مشاهدتها. انقر على إزالة للتأكيد.

يمكن أيضًا إزالة الرسائل نهائيًا في Cloud Shell باستخدام علامة --auto-ack مع أمر pull أساسي:

gcloud pubsub subscriptions pull subscription-id --auto-ack

إدارة الاشتراكات

يمكن إعداد الاشتراكات بطرق مختلفة، كما هو موضّح في استخدام خصائص الاشتراك:

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

لمزيد من المعلومات حول مصادقة حساب الخدمة باستخدام " Device Access"، يُرجى الاطّلاع على الأحداث.