

サポート終了通知: 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-error-messages"></a>

次のセクションを参照して、エラーのトラブルシューティングを行い、問題を解決するための考えられる解決策を見つけます AWS IoT Events。

**Topics**
+ [ディテクターモデルの作成エラー](#create-detector-model)
+ [削除されたディテクターモデルからの更新](#update-detector-model)
+ [アクショントリガーの障害 (条件を満たす場合)](#no-action)
+ [アクショントリガーの障害 (しきい値を超えた場合)](#trigger-action)
+ [誤った状態の使用法](#wrong-state)
+ [接続メッセージ](#connection-aborted-error)
+ [InvalidRequestException メッセージ](#invalid-request)
+ [Amazon CloudWatch Logs `action.setTimer` エラー](#cw-logs-timer)
+ [Amazon CloudWatch ペイロードエラー](#cw-logs-payload)
+ [互換性のないデータ型](#troubleshoot-expressions-incompatible-data-types)
+ [へのメッセージの送信に失敗しました AWS IoT Events](#failed-to-send-to-iot-events)

## ディテクターモデルの作成エラー
<a name="create-detector-model"></a>

ディテクターモデルを作成しようとする時にエラーが発生します。

### ソリューション
<a name="w2aac42c11b7b5b1b1"></a>

 ディテクターモデルを作成する時は、次の制限を考慮する必要があります。
+ 各 `action` フィールドで許可されるアクションは 1 つだけです。
+ `transitionEvents` には `condition` が必要です。`OnEnter`、`OnInput`、および `OnExit` イベントではオプションです。
+ `condition` フィールドが空の場合、条件表現の評価結果は `true` と同等です。
+ 条件表現の評価結果はブール値である必要があります。結果がブール値でない場合、`false` と同等であり、`actions` をトリガーしたり、イベントで指定された `nextState` に移行したりすることはありません。

詳細については、「[AWS IoT Events ディテクターモデルの制限と制限](iotevents-restrictions-detector-model.md)」を参照してください。

## 削除されたディテクターモデルからの更新
<a name="update-detector-model"></a>

数分前にディテクターモデルを更新または削除しましたが、MQTT メッセージまたは SNS アラートを介して古いディテクターモデルから状態の更新を取得しています。

### ソリューション
<a name="w2aac42c11b9b5b1b1"></a>

ディテクターモデルを更新、削除、または再作成する場合 ([UpdateDetectorModel](https://docs.aws.amazon.com/iotevents/latest/apireference/API_UpdateDetectorModel.html)を参照)、すべてのディテクターインスタンスが削除されて新しいモデルが使用されるまでに遅延が発生します。この間、入力は以前のバージョンのディテクターモデルのインスタンスによって処理され続ける可能性があります。以前のディテクターモデルで定義されたアラートを引き続き受信する場合があります。更新を再確認するか、エラーを報告する前に、少なくとも 7 分間待ちます。

## アクショントリガーの障害 (条件を満たす場合)
<a name="no-action"></a>

条件が満たされた場合、ディテクターはアクションのトリガーまたは新しい状態への移行に失敗します。

### ソリューション
<a name="w2aac42c11c11b5b1b1"></a>

ディテクターの条件表現の評価結果がブール値であることを確認します。結果がブール値でない場合、`false` と同等であり、`action` をトリガーしたり、イベントで指定された `nextState` に移行したりすることはありません。詳細については、「[条件表現の構文](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-conditional-expressions.html)」を参照してください。

## アクショントリガーの障害 (しきい値を超えた場合)
<a name="trigger-action"></a>

条件表現の可変が指定された値に達した場合、ディテクターはアクションまたはイベント移行をトリガーしません。

### ソリューション
<a name="w2aac42c11c13b5b1b1"></a>

`onInput`、`onEnter`、または `onExit` の `setVariable` を更新する場合、現在の処理サイクル中に `condition` を評価するときに、新しい値は使用されません。代わりに、現在のサイクルが完了するまで元の値が使用されます。この動作は、ディテクターモデル定義で `evaluationMethod` パラメータを設定することで変更できます。`evaluationMethod` が `SERIAL` に設定されている場合、可変が更新され、イベントが定義された順序でイベント条件が評価されます。`evaluationMethod` が `BATCH` (デフォルト) に設定されている場合、可変が更新され、すべてのイベント条件が評価された後にのみイベントが実行されます。

## 誤った状態の使用法
<a name="wrong-state"></a>

`BatchPutMessage` を使用して入力にメッセージを送信しようとすると、ディテクターが間違った状態になります。

### ソリューション
<a name="w2aac42c11c15b5b1b1"></a>

 [BatchPutMessage](https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_BatchPutMessage.html) を使用して複数のメッセージを入力に送信する場合、メッセージまたは入力が処理される順序は保証されません。順序付けを保証するには、一度に 1 つずつメッセージを送信し、`BatchPutMessage` が成功を確認するたびに待ちます。

## 接続メッセージ
<a name="connection-aborted-error"></a>

API を呼び出したり呼び出したりしようとすると、`('Connection aborted.', error(54, 'Connection reset by peer'))` エラーが発生します。

### ソリューション
<a name="w2aac42c11c17b5b1b1"></a>

OpenSSL が TLS 1.1 以降のバージョンを使用して接続を確立していることを確認します。これは、ほとんどの Linux ディストリビューションまたは Windows バージョン 7 以降ではデフォルトになっているはずです。macOS のユーザーは、OpenSSL をアップグレードする必要があるかもしれません。

## InvalidRequestException メッセージ
<a name="invalid-request"></a>

`CreateDetectorModel` および `UpdateDetectorModel` API を呼び出そうとすると、InvalidRequestException が発生します。

### ソリューション
<a name="w2aac42c11c19b5b1b1"></a>

問題の解決に役立つように、以下をチェックしてください。詳細については、「[CreateDetectorModel](https://docs.aws.amazon.com/iotevents/latest/apireference/API_CreateDetectorModel.html)」および「[UpdateDetectorModel](https://docs.aws.amazon.com/iotevents/latest/apireference/API_UpdateDetectorModel.html)」を参照してください。
+ `SetTimerAction` のパラメータとして `seconds` と `durationExpression` の両方を同時に使用しないように注意してください。
+ `durationExpression` の文字列表現が有効であることを確認してください。文字列表現には、数値、可変 (`$variable.<variable-name>`)、または入力値 (`$input.<input-name>.<path-to-datum>`) を含めることができます。

## Amazon CloudWatch Logs `action.setTimer` エラー
<a name="cw-logs-timer"></a>

 AWS IoT Events ディテクターモデルインスタンスをモニタリングするように Amazon CloudWatch Logs を設定できます。以下は、 を使用する場合 AWS IoT Eventsに によって生成される一般的なエラーです`action.setTimer`。
+ **エラー:** `{{<timer-name>}}` という名前のタイマーの期間表現を数値に評価できませんでした。

### ソリューション
<a name="w2aac42c11c21b5b1b3b1b1"></a>

   `durationExpression` の文字列表現を数値に変換できることを確認してください。ブール値などの他のデータ型は許可されていません。
+ **エラー:** `{{<timer-name>}}`という名前のタイマーの期間表現の評価結果が 31,622,440 を超えています。精度を確保するために、期間表現が 60〜31,622,400 の値を参照していることを確認してください。

### ソリューション
<a name="w2aac42c11c21b5b3b3b1b1"></a>

   タイマーの持続時間が 31,622,400 秒以下であることを確認してください。期間の評価結果は、最も近い整数に切り捨てられます。
+ **エラー:** `{{<timer-name>}}` という名前のタイマーの期間表現の評価結果は 60 未満です。精度を確保するために、期間表現が 60〜31,622,400 の値を参照していることを確認してください。

### ソリューション
<a name="w2aac42c11c21b5b5b3b1b1"></a>

   タイマーの持続時間が 60 秒以上であることを確認してください。期間の評価結果は、最も近い整数に切り捨てられます。
+ **エラー:** `{{<timer-name>}}`という名前のタイマーの期間表現を評価できませんでした。可変名、入力名、およびデータへのパスをチェックして、既存の可変と入力を参照していることを確認してください。

### ソリューション
<a name="w2aac42c11c21b5b7b3b1b1"></a>

   文字列表現が既存の可変と入力を参照していることを確認してください。文字列表現には、数値、可変 (`$variable.{{variable-name}}`)、および入力値 (`$input.{{input-name}}.{{path-to-datum}}`) を含めることができます。
+ **エラー:** `<timer-name>`という名前のタイマーを設定できませんでした。持続時間の表現をチェックして、再試行してください。

### ソリューション
<a name="w2aac42c11c21b5b9b3b1b1"></a>

   [SetTimerAction](https://docs.aws.amazon.com/iotevents/latest/apireference/API_SetTimerAction.html)アクションを参照して、正しいパラメータを指定したことを確認してから、タイマーを再設定してください。

詳細については、「ディ[AWS IoT Events テクターモデルの開発時に Amazon CloudWatch ログ記録を有効にする](https://docs.aws.amazon.com/iotevents/latest/developerguide/best-practices.html#best-practices-cw-logs)」を参照してください。

## Amazon CloudWatch ペイロードエラー
<a name="cw-logs-payload"></a>

 AWS IoT Events ディテクターモデルインスタンスをモニタリングするように Amazon CloudWatch Logs を設定できます。以下は、アクションペイロードを設定するときに AWS IoT Eventsによって生成される一般的なエラーと警告です。
+ **エラー:** アクションの表現を評価できませんでした。可変名、入力名、およびデータへのパスが既存の可変と入力値を参照していることを確認してください。また、ペイロードのサイズが、ペイロードの最大許容サイズである 1 KB 未満であることを確認してください。

### ソリューション
<a name="w2aac42c11c23b5b1b3b1b1"></a>

   正しい可変名、入力名、およびデータへのパスを入力していることを確認してください。アクションペイロードが 1 KB より大きい場合にも、このエラーメッセージが表示されることがあります。
+ **エラー:** `{{<action-type>}}` のペイロードのコンテンツ表現を分析できませんでした。正しい構文でコンテンツ表現を入力してください。

### ソリューション
<a name="w2aac42c11c23b5b3b3b1b1"></a>

   コンテンツ表現には、文字列 (`'{{string}}'`)、可変 (`$variable.{{variable-name}}`)、入力値 (`$input.{{input-name}}.{{path-to-datum}}`)、文字列の連結、および `${}` を含む文字列を含めることができます。
+ **エラー:** ペイロード表現 {{{表現}}} が無効です。定義されたペイロードタイプは JSON であるため、文字列に対して評価 AWS IoT Events される式を指定する必要があります。

### ソリューション
<a name="w2aac42c11c23b5b5b5b1b1"></a>

   指定されたペイロードタイプが JSON の場合、 AWS IoT Events は最初に、サービスが式を文字列に評価できるかどうかをチェックします。評価結果をブール値または数値にすることはできません。検証が失敗した場合、このエラーが発生する可能性があります。
+ **警告:** アクションは実行されましたが、有効な JSON に対するアクションペイロードのコンテンツ表現を評価できませんでした。定義されたペイロードタイプは JSON です。

### ソリューション
<a name="w2aac42c11c23b5b7b3b1b1"></a>

   ペイロードタイプを として定義した場合、 AWS IoT Events がアクションペイロードのコンテンツ式を有効な JSON に評価できることを確認します`JSON`。 AWS IoT Events がコンテンツ式を有効な JSON に評価できない場合でも、 AWS IoT Events はアクションを実行します。

詳細については、「ディ[AWS IoT Events テクターモデルの開発時に Amazon CloudWatch ログ記録を有効にする](https://docs.aws.amazon.com/iotevents/latest/developerguide/best-practices.html#best-practices-cw-logs)」を参照してください。

## 互換性のないデータ型
<a name="troubleshoot-expressions-incompatible-data-types"></a>

メッセージ: 互換性のないデータ型 [`<inferred-types>`] が次の表現の `<reference>` で見つかりました: `<expression>`

### ソリューション
<a name="w2aac42c11c25b5b1b1"></a>

 次のいずれかの理由でこのエラーが発生する可能性があります。
+ リファレンスの評価結果は、表現の他のオペランドと互換性がありません。
+ 関数に渡される引数の型はサポートされていません。

表現でリファレンスを使用する場合は、以下をチェックしてください。<a name="expression-reference-type-compatibility"></a>
+ 1 つ以上の演算子でオペランドとしてリファレンスを使用する場合は、参照するすべてのデータ型に互換性があることを確認してください。

  例えば、次の表現では、整数 `2` は `==` 演算子と `&&` 演算子の両方のオペランドです。オペランドに互換性があることを確認するには、`$variable.testVariable + 1` と `$variable.testVariable` は整数または 10 進数をリファレンスする必要があります。

  また、整数 `1` は `+` 演算子のオペランドです。したがって、`$variable.testVariable` は整数または 10 進数をリファレンスする必要があります。

  ```
  ‘$variable.testVariable + 1 == 2 && $variable.testVariable’
  ```
+ 関数に渡される引数としてリファレンスを使用する場合は、関数が参照するデータ型をサポートしていることを確認してください。

  例えば、次の `timeout("{{time-name}}")` 関数では、引数として二重引用符を含む文字列が必要です。{{timer-name}} 値のリファレンスを使用する場合は、二重引用符で囲まれた文字列を参照する必要があります。

  ```
  timeout("{{timer-name}}")
  ```
**注記**  
`convert({{type}}, {{expression}})` 関数の場合、{{タイプ}}値にリファレンスを使用する場合、リファレンスの評価結果は `String`、`Decimal`、または `Boolean` である必要があります。

詳細については、「[AWS IoT Events 式の入力と変数の リファレンス](iotevents-expressions.md#expression-reference)」を参照してください。

## へのメッセージの送信に失敗しました AWS IoT Events
<a name="failed-to-send-to-iot-events"></a>

メッセージ: IoT イベントにメッセージを送信できませんでした

### ソリューション
<a name="w2aac42c11c27b5b1b1"></a>

このエラーは、次の理由で発生する場合があります。
+ 入力メッセージのペイロードに `Input attribute Key` が含まれていない。
+ `Input attribute Key` が、入力の定義で指定されているのと同じ JSON パス にない。
+ 入力メッセージは、 AWS IoT Events 入力で定義されているスキーマと一致しません。

**注記**  
他のサービスからのデータインジェストにも障害が発生します。

**Example**  
たとえば、 では AWS IoT Core、 AWS IoT ルールは次のメッセージで失敗します。 `Verify the Input Attribute key.`

これを解決するには、入力ペイロードメッセージスキーマが AWS IoT Events 入力定義に準拠し、`Input attribute Key`場所が一致していることを確認します。詳細については、[でモデルの入力を作成する AWS IoT Events](create-input-overview.md)「」を参照して、 AWS IoT Events 入力を定義する方法を確認してください。