SendConnectorEvent API を使用してデバイスイベントを送信する - のマネージド統合 AWS IoT Device Management

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

SendConnectorEvent API を使用してデバイスイベントを送信する

デバイス開始イベントの概要

SendConnectorEvent API は AWS.SendCommandおよび AWS.DiscoverDevicesオペレーションに非同期で応答するために使用されますが、デバイス開始イベントをマネージド統合に通知するためにも使用されます。デバイス開始イベントは、ユーザーが開始したコマンドなしでデバイスによって生成されたイベントとして定義できます。これらのデバイスイベントには、デバイスの状態の変更、モーション検出、バッテリーレベルなどが含まれますが、これらに限定されません。これらのイベントは、 SendConnectorEvent API と オペレーション DEVICE_EVENT を使用してマネージド統合に送信できます。

次のセクションでは、ホームにインストールされたスマートカメラを例として使用して、これらのイベントのワークフローについて詳しく説明します。

デバイスイベントワークフロー
デバイスイベントワークフロー
  1. カメラは、リソースサーバーに送信されるイベントを生成するモーションを検出します。

  2. リソースサーバーはイベントを処理し、C2C コネクタに送信します。

  3. コネクタは、このイベントを AWS IoT Device Management DEVICE_EVENTインターフェイスのマネージド統合に変換します。

  4. C2C コネクタは、オペレーションが「DEVICE_EVENT」に設定されている SendConnectorEvent API を使用して、このデバイスイベントをマネージド統合に送信します。

  5. マネージド統合は、関連する顧客を識別し、このイベントを顧客に中継します。

  6. 顧客はこのイベントを受け取り、ユーザー識別子を介してユーザーに表示されます。

SendConnectorEvent API オペレーションの詳細については、AWS IoT Device Management API リファレンスガイドSendConnectorEventの マネージド統合の「」を参照してください。

デバイス開始イベントの要件

以下は、デバイス主導イベントの要件の一部です。

  • C2C コネクタリソースは、リソースサーバーから非同期デバイスイベントを受信できる必要があります

  • C2C コネクタリソースは、C2C コネクタの登録 AWS アカウント に使用される の AWS 認証情報を使用して、SigV4 経由で AWS IoT Device Management サービス API の マネージド統合を呼び出すことができる必要があります。

次の例は、SendConnectorEvent API を介してデバイス発信イベントを送信するコネクタを示しています。

AWS-API: /SendConnectorEvent URI: POST /connector-event/{Your-Connector-Id} { "UserId": "Your-End-User-ID", "Operation": "DEVICE_EVENT", "OperationVersion": "1.0", "StatusCode": 200, "Message": None, "ConnectorDeviceId": "Your_Device_Id", "MatterEndpoint": { "id": "1", "clusters": [{ "id": "0x0202", "attributes": [ { "0x0000": "3" } ] }] }] }

次の例から、次のようになります。

  • これは、ID が 1 のデバイスエンドポイントから取得されます。

  • このイベントに関連するデバイス機能は、ファンコントロールの問題クラスターに関連するクラスター ID が 0x0202 です。

  • 変更された属性の ID は 0x000 で、クラスター内のファンモード列挙型に関連しています。High の値に関する値 3 に更新されました。

  • connectorId は作成時にクラウドサービスから返されるパラメータであるため、コネクタは GetCloudConnector を使用してクエリを実行し、 でフィルタリングする必要がありますlambdaARN。Lambda 自体ARNLambda.get_function_url_config API を使用してクエリされます。これにより、Lambda で CloudConnectorIdに動的にアクセスでき、以前のように静的に設定されることはありません。