

サポート終了通知: 2026 年 5 月 20 日、 AWS は のサポートを終了します AWS IoT Events。2026 年 5 月 20 日以降、 AWS IoT Events コンソールまたは AWS IoT Events リソースにアクセスできなくなります。詳細については、[AWS IoT Events 「サポート終了](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-end-of-support.html)」を参照してください。

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

# でディテクターへの入力としてメッセージを送信する AWS IoT Events
<a name="iotevents-batch-put-messages"></a>

これで、デバイスから送信されるメッセージの重要なフィールドを識別する入力が定義されました ([デバイスデータをキャプチャする AWS IoT Events 入力を作成する](iotevents-create-input.md) を参照)。前のセクションでは、モーターの過圧イベントに応答する `detector model` を作成しました ([でデバイスの状態を表すディテクターモデルを作成する AWS IoT Events](iotevents-create-detector.md) を参照)。

例を完了するには、デバイス (この場合は AWS CLI がインストールされているコンピュータ) からのメッセージをディテクターへの入力として送信します。

**注記**  
ディテクターモデルを作成するか、既存のモデルを更新する場合、新しいディテクターモデルまたは更新されたディテクターモデルがメッセージの受信とディテクター (インスタンス) の作成を開始するまでに数分かかります。ディテクターモデルを更新すると、この間、以前のバージョンに基づく動作が引き続き表示される場合があります。

次の AWS CLI コマンドを使用して、しきい値を超えるデータを含むメッセージを送信します。

```
aws iotevents-data batch-put-message --cli-input-json file://highPressureMessage.json --cli-binary-format raw-in-base64-out
```

ファイル「`highPressureMessage.json`」には以下が含まれています。

```
{
  "messages": [
    {
      "messageId": "00001",
      "inputName": "PressureInput",
      "payload": "{\"motorid\": \"Fulton-A32\", \"sensorData\": {\"pressure\": 80, \"temperature\": 39} }"
    }
  ]
}
```

送信される各メッセージの `messageId` を変更する必要があります。変更しない場合、 AWS IoT Events システムはメッセージを重複排除します。過去 5 分以内に送信された別のメッセージ`messageID`と同じメッセージがある場合は、メッセージ AWS IoT Events を無視します。

この時点で、モーター `"Fulton-A32"` のイベントをモニタリングするためのディテクター (インスタンス) が作成されます。このディテクターは、作成時に `"Normal"` 状態になります。ただし、しきい値を超える圧力値を送信したため、すぐに `"Dangerous"` 状態に移行します。その際、ディテクターは、ARN が `arn:aws:sns:us-east-1:123456789012:underPressureAction` である Amazon SNS エンドポイントにメッセージを送信します。

次の AWS CLI コマンドを実行して、圧力しきい値を下回るデータを含むメッセージを送信します。

```
aws iotevents-data batch-put-message --cli-input-json file://normalPressureMessage.json --cli-binary-format raw-in-base64-out
```

ファイル `normalPressureMessage.json` には次のものが含まれています。

```
{
  "messages": [
    {
      "messageId": "00002",
      "inputName": "PressureInput",
      "payload": "{\"motorid\": \"Fulton-A32\", \"sensorData\": {\"pressure\": 60, \"temperature\": 29} }"
    }
  ]
}
```

5 分以内に `BatchPutMessage` コマンドを呼び出すたびに、ファイル内の `messageId` を変更する必要があります。メッセージをさらに 2 回送信します。メッセージが 3 回送信された後、モーター「`Fulton-A32`」のディテクター (インスタンス) がAmazon SNS エンドポイント `"arn:aws:sns:us-east-1:123456789012:pressureClearedAction"` にメッセージを送信し、`"Normal"` 状態に戻ります。

**注記**  
`BatchPutMessage` を使用すると、一度に複数のメッセージを送信できます。ただし、これらのメッセージが処理される順序は保証されません。メッセージ (入力) が順番に処理されることを保証するには、メッセージを一度に 1 つずつ送信し、API が呼び出されるたびに正常なレスポンスを待ちます。

以下は、このセクションで説明するディテクターモデルの例によって作成された SNS メッセージペイロードの例です。

**イベント「圧力しきい値違反」**

```
IoT> {
  "eventTime":1558129816420,
  "payload":{
    "actionExecutionId":"5d7444df-a655-3587-a609-dbd7a0f55267",
    "detector":{
      "detectorModelName":"motorDetectorModel",
      "keyValue":"Fulton-A32",
      "detectorModelVersion":"1"
    },
    "eventTriggerDetails":{
      "inputName":"PressureInput",
      "messageId":"00001",
      "triggerType":"Message"
    },
    "state":{
      "stateName":"Dangerous",
      "variables":{
        "pressureThresholdBreached":3
      },
      "timers":{}
    }
  },
  "eventName":"Pressure Threshold Breached"
}
```

**イベント「通常の圧力が回復しました」**

```
IoT> {
  "eventTime":1558129925568,
  "payload":{
    "actionExecutionId":"7e25fd38-2533-303d-899f-c979792a12cb",
    "detector":{
      "detectorModelName":"motorDetectorModel",
      "keyValue":"Fulton-A32",
      "detectorModelVersion":"1"
    },
    "eventTriggerDetails":{
      "inputName":"PressureInput",
      "messageId":"00004",
      "triggerType":"Message"
    },
    "state":{
      "stateName":"Dangerous",
      "variables":{
        "pressureThresholdBreached":0
      },
      "timers":{}
    }
  },
  "eventName":"Normal Pressure Restored"
}
```

タイマーを定義した場合、それらの現在の状態は SNS メッセージペイロードにも表示されます。

メッセージペイロードには、メッセージが送信されたとき (つまり、SNS アクションが実行されたとき) のディテクター (インスタンス) の状態に関する情報が含まれています。[https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_DescribeDetector.html](https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_DescribeDetector.html) オペレーションを使用して、ディテクターの状態に関する同様の情報を取得できます。