הרשמה לאירועים

האירועים הם אסינכרוניים ומנוהלים על ידי Google Cloud Pub/Sub, במסגרת נושא אחד לכל Projectאירועים מספקים עדכונים לכל המכשירים והמבנים, וקבלה של אירועים מובטחת, כל עוד אסימון הגישה לא מבוטל על ידי המשתמש והודעות האירוע פג תוקף.

אירועים הם תכונה אופציונלית של SDM API. הן יכולות שאפשר להטמיע ולאמת אותם בקלות באמצעות פרויקט.

הפעל אירועים

אפשר להפעיל אירועים Device Access במסוף. בחרו את הפרויקט שלכם במסוף, אם עדיין לא עשיתם זאת.

כניסה ל Device Access מסוף

אם כבר אתם מפעילים את האירועים (לדוגמה, במהלך הפרויקט יצירה), בשדה נושא Pub/Sub בקטע פרטי הפרויקט כבר צריכה להיות שנקרא 'מזהה נושא', בפורמט הבא:

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

אם לא הפעלתם את האירועים:

  1. לוחצים על הסמל בשביל Pub/Sub נושא ובוחרים באפשרות עריכה.
  2. מסמנים את התיבה הפעלת אירועים ולוחצים על שמירה.
  3. מזהה הנושא נוצר עבורך בפורמט שמוצג למעלה.

צריך להעתיק את מזהה הנושא כדי ליצור מינוי לנושא, ניתן לאחזר הודעות של אירועים.

יצירת מינוי pull

מינוי משיכה הוא המקום שבו מנוי יוזם בקשות ל-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'

אירועים של כל המבנים והמכשירים יתפרסמו אחרי הקריאה הזו ל-API.

יצירת אירועים

אירועים נוצרים לכל השינויים בשדה התכונה, שחלקם מתבצעים באופן אוטומטי, כמה ידניים.

לדוגמה, אם טמפרטורת הסביבה הקרובה שינויים ב-Nest Thermostat, אירוע של הערך שלהטמפרטורה יהיה יישלח באופן אוטומטי עם ערך ambientTemperatureCelsius חדש.

כדי ליצור תיעוד באופן ידני, אפשר:

  1. לשנות את מצב המכשיר באופן פיזי, כמו שינוי המצב של של Nest Thermostat.
  2. הפעלת אירוע, כמו תנועה, אדם או צליל Google Nest Cam בתוך הבית.
  3. ביצוע פקודה במכשיר באמצעות ממשק API של SDM.

הצגת הודעות

אפשר לראות הודעות לגבי אירועים בפרויקט שלך ב-Google Cloud, הקטע 'מינויים' ב-Pub/Sub:

מעבר לדף המינויים של Google Cloud Pub/Sub

  1. לוחצים על מזהה המינוי שיצרתם קודם.
  2. במסך פרטי המינוי אמורה להופיע פעילות של תרשים מספר ההודעות שלא הוצמדו. מצב זה מציין כי הודעות על אירוע הגיעו על המינוי שלך. אם לא מופיעה פעילות, צריך להמתין קצת בזמן או ליצור עוד כמה אירועים.
  3. לוחצים על הצגת ההודעות כדי פותחים את החלונית הודעות.
  4. לוחצים על PULL כדי להציג את ההודעות. הן צריכות להתאים לפעולות שבהם השתמשתם כדי ליצור אירועים.

אפשר לראות את ההודעות ב-Cloud Shell גם באמצעות פקודת pull בסיסית:

gcloud pubsub subscriptions pull subscription-id

למידע נוסף על סוגי מינויים ועל סוגי האירועים שנשלחו API של SDM ואיך להשתמש בהם, אירועים.

ניהול ההודעות

כדי להמשיך להשתמש במינוי, צריך לאשר הודעות באופן קבוע ולמחוק אותן באופן סופי נקייה ונמנעת משליחה כפולה של הודעות למנויים אחרים. הכול ניתן למחוק באופן ידני הודעות של מינויים באופן ידני במינויי Pub/Sub :

מעבר לדף המינויים של Google Cloud Pub/Sub

  1. לוחצים על מזהה המינוי.
  2. יש כמה דרכים לאשר ולמחוק באופן סופי:
    1. לוחצים על הצגת ההודעות כדי פותחים את החלונית הודעות. מסמנים את התיבה הפעלת הודעות ack. ולוחצים על PULL כדי להציג ולאשר את כל ההודעות.
    2. לוחצים על מחיקה Messages כדי למחוק באופן סופי את כל ההודעות הקיימות על ידי אישור בלי לצפות בהם. לוחצים על PURGE כדי לאשר.

ניתן גם למחוק הודעות ב-Cloud Shell באופן סופי באמצעות הדגל --auto-ack עם פקודת pull בסיסית:

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

ניהול מינויים

אפשר להגדיר מינויים במגוון דרכים, כפי שמתואר ב- שימוש במאפייני מינוי.

אתם קובעים איך לנהל את המינויים וההודעות, בסביבת הייצור, מומלץ להשתמש חשבונות שירות של אימות, במקום חשבון משתמש כמו שיש לכם עד עכשיו. להתחלת המדריך. חשבון שירות משמש אפליקציה או מכונה וירטואלית, ולא אדם מסוים, ויש לו מפתח חשבון ייחודי משלו.

למידע נוסף על אימות של חשבונות שירות באמצעות Device Accessאפשר לעיין במאמר בנושא אירועים.