訂閱活動

事件由 Google Cloud Pub/Sub 非同步管理,各主題位於單一主題 Project。「事件」提供所有裝置和結構的更新,且會收到事件: 只要使用者沒有撤銷存取權杖,且事件訊息未遭到系統撤銷,即可放心 已過期。

事件是 SDM API 的選用功能。他們可以 就能透過 Google Cloud 輕鬆實作及驗證 專案。

啟用活動功能

你可以在管理中心啟用 Device Access 事件。在 控制台 (如果尚未操作的話)。

前往 Device Access Console

如果您在專案 建立), 在專案資訊區段中,Pub/Sub 主題欄位應該已有 值稱為主題 ID,格式為:

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

如果尚未啟用事件:

  1. 按一下 Pub/Sub 的 圖示 「主題」,然後選取「編輯」編輯
  2. 勾選「啟用事件」並按一下「儲存」
  3. 系統會為您產生主題 ID,格式如上所示。

複製主題 ID。您必須複製主題 ID,才能為該主題建立訂閱項目。 可擷取事件訊息。

建立提取訂閱項目

提取訂閱項目是訂閱者向 Pub/Sub 發出要求的位置 佇列事件。這個方法快速又簡單 但正在為授權裝置產生事件。

開啟 Google Cloud 專案的 Cloud Shell:

前往 Google Cloud Shell

在 Cloud Shell 提示中執行下列指令,建立提取 訂閱您的主題,隨心所欲使用任意subscription-id 和您的專屬主題 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 Indoor。
  3. 執行裝置指令 建構應用程式

查看訊息

您可以在 Google Cloud 專案的 「Pub/Sub 訂閱」區段:

前往 Google Cloud Pub/Sub 訂閱項目

  1. 按一下您先前建立的訂閱 ID。
  2. 訂閱詳細資料畫面上,您應該會看到 「未確認訊息數量」圖表。這表示事件訊息 持續獲得收益如果沒有看到任何活動,請稍待片刻 或產生更多事件
  3. 按一下 查看訊息即可執行以下操作: 開啟「訊息」面板。
  4. 按一下「PULL」即可查看訊息。需對應動作

您也可以在 Cloud Shell 中使用基本的 pull 指令查看訊息:

gcloud pubsub subscriptions pull subscription-id

如要進一步瞭解訂閱類型以及傳送的事件類型, 及其使用方式 事件

管理訊息

為保留訂閱,應定期確認並清除訊息 保持簡潔明瞭,避免將訊息重複傳送給其他訂閱者。所有語言 您可以在 Pub/Sub 訂閱項目中手動清除訂閱訊息 區段:

前往 Google Cloud Pub/Sub 訂閱項目

  1. 按一下訂閱 ID。
  2. 您可以透過以下幾種方式確認並清除資料:
    1. 按一下 查看訊息即可執行以下操作: 開啟「訊息」面板。勾選「啟用確認訊息」。 核取方塊並按一下「PULL」,即可查看並確認所有訊息。
    2. 按一下「 PURGE MESSAGES 藉此清除所有現有訊息,而不清除 檢視這些專案按一下「PURGE」確認操作。

您也可以在 Cloud Shell 中清除訊息,方法是使用 --auto-ack 旗標並加上 基本的 pull 指令:

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

管理訂閱項目

此外,您也可以利用多種方式設定訂閱項目,詳情請參閱 使用訂閱屬性

管理訂閱項目和訊息的方式完全由您決定, 建議您在 API 中 服務帳戶 而不是像您其他一樣使用者帳戶 請參閱入門指南服務帳戶是由應用程式或虛擬機器所使用 也會擁有專屬帳戶金鑰

如要進一步瞭解 Device Access的服務帳戶驗證,請參閱 「事件」。