イベントは非同期で、Google Cloud Pub/Sub によって管理され、 Project。イベントは、すべてのデバイスとストラクチャの更新を提供します。イベントの受信は、 ユーザーによってアクセス トークンが取り消されておらず、イベント メッセージが 期限切れになりました。
イベントは、SDM API のオプション機能です。ユーザーは、 Google Cloud インフラストラクチャを使用して簡単に実装、検証できる できます。
イベントを有効にする
イベントはコンソールで Device Access 有効にできます。[プロジェクト] セクションでプロジェクトを選択します。 Google Cloud コンソールに表示されます。
すでにイベントを有効にしている場合は、 作成)、 [プロジェクト情報] セクションの [Pub/Sub トピック] フィールドには、すでに トピック ID と呼ばれます。次の形式になります。
projects/sdm-prod/topics/enterprise-project-id
イベントを有効にしていない場合:
- Pub/Sub の アイコンをクリックします。 トピックを選択し、[編集] を選択します。
- [イベントを有効にする] をオンにして、[保存] をクリックします。
- 上記の形式でトピック ID が生成されます。
トピック ID をコピーします。この ID は、トピックへのサブスクリプションを作成してから イベント メッセージを取得できます。
pull サブスクリプションを作成する
pull サブスクリプションでは、サブスクライバーが Pub/Sub へのリクエストを開始します。 サーバーでイベント メッセージを処理できます。この方法では、 イベントが生成されます。
Google Cloud プロジェクトの Cloud Shell を開きます。
Cloud Shell プロンプトで、次のコマンドを実行して pull ジョブを作成します。 任意の 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 サブスクリプションが完了した後に初めてイベントを開始する場合。 呼び出しを行って、1 回限りのトリガーとしてデバイスを一覧表示します。
curl -X GET 'https://smartdevicemanagement.googleapis.com/v1/enterprises/project-id/devices' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer access-token'
すべてのストラクチャとデバイスのイベントは、この API 呼び出しの後に公開されます。
イベントを生成する
イベントはすべてのトレイト フィールドの変更に対して生成されます。変更の一部は自動的に生成され、 あります。
たとえば、ユーザーの周囲の温度が
Google Nest Thermostat の変更は、
温度 トレイトの
新しい ambientTemperatureCelsius
値で自動的に送信されます。
手動で生成するには、次のいずれかを行います。
- デバイスのモードを変更するなど、デバイスの状態を物理的に変更する 操作できます。
- デバイスでの動き、人物、音などのイベントを Google Nest Cam Indoor。
- デバイス コマンドを実行する SDM API を使用します
メッセージを表示する
イベント メッセージは、Google Cloud プロジェクトの Pub/Sub の [サブスクリプション] セクション:
Google Cloud Pub/Sub の [サブスクリプション] に移動
- 先ほど作成したサブスクリプション ID をクリックします。
- [Subscription detail](定期購入の詳細)画面に、定期購入のアクティビティが表示されます。 未確認メッセージ数グラフ。これは、イベント メッセージが をご確認ください。アクティビティが表示されない場合は、少しお待ちください。 さらにいくつかのイベントを生成できます
- [ メッセージを表示] をクリックすると、 [メッセージ] パネルが表示されます。
- [PULL] をクリックしてメッセージを表示します。アクションに対応する イベントの生成に使用したものと同じです
メッセージは、Cloud Shell で基本的な pull
コマンドを使用して表示することもできます。
gcloud pubsub subscriptions pull subscription-id
サブスクリプションの種類と送信されるイベントの種類について詳しくは、 その使用方法については、 イベント。
メッセージを管理する
サブスクリプションを維持するには、メッセージの確認とパージを定期的に行う必要があります。 他のサブスクライバーへの重複メッセージ配信を回避しますすべて サブスクリプション メッセージは、Pub/Sub サブスクリプション内で手動で削除できます。 セクション:
Google Cloud Pub/Sub の [サブスクリプション] に移動
- サブスクリプション ID をクリックします。
- 確認応答とパージを行うには、いくつかの方法があります。
<ph type="x-smartling-placeholder">
- </ph>
- [ メッセージを表示] をクリックすると、 [メッセージ] パネルが表示されます。[確認応答メッセージを有効にする] をオンにします。 チェックボックスをオンにして [PULL] をクリックすると、すべてのメッセージを表示して確認応答できます。
- [削除] をクリックします。 MESSAGES: 確認応答によって既存のすべてのメッセージをパージします。メッセージを 表示されます。[PURGE] をクリックして確定します。
Cloud Shell で --auto-ack
フラグを使用してメッセージを削除することもできます。
基本的な pull
コマンド:
gcloud pubsub subscriptions pull subscription-id --auto-ack
サブスクリプションを管理
サブスクリプションはさまざまな方法で構成できます。詳しくは、 サブスクリプション プロパティの使用
サブスクリプションとメッセージの管理方法はご自由にお決めいただけますが、 使用することをおすすめします。 サービス アカウント ユーザー アカウントではなく、ユーザー アカウントを使用した スタートガイドをご覧ください。サービス アカウントはアプリケーションや仮想マシンで使用され、 固有のアカウントキーを持ちます。
Device Accessによるサービス アカウント認証について詳しくは、以下をご覧ください。 イベント。