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

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

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

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

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

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

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

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

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

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

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

إنشاء اشتراك سحب

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

افتح 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].

بدء الأحداث

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

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 Outdoor.
  3. تنفيذ أمر جهاز باستخدام SDM API

عرض الرسائل

يمكن عرض رسائل الأحداث في مشروع Google Cloud، ضمن قسم "الاشتراكات/الاشتراكات".

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

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

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

gcloud pubsub subscriptions pull subscription-id

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

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

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

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

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

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

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

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

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

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

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