はじめに 現在担当しているシステムで下記の項目を全て満たすAWS IoTルールを作る必要があり、嵌ったため記事にしました。 シャドウには配列を持つフィールドがある 前述の配列には値に数字型を持つフィールドを有したオブジェクトが添字の0〜2のいずれか1つに存在 前述の数字がカウントアップしたら、アクション(Lambda)を実行する 詳しくは後述しますが、AWS IoT ルールでは、ロギングを有効化していると、存在しない配列の添字に対してget関数を利用すると、isUndefinedでチェックをしていてもERRORがロギングされます。 上記を回避する手段として正規表現を扱う関数を利用するという方法があります。 存在しない添字に対してgetしてエラーが発生することを確認 下記のようなシャドウとAWS IoTルールを作ります。 シャドウ { "desired": { "array": [ { "o
![AWS IoT ルールで配列操作が安全に出来ず、正規表現で解決した話 | DevelopersIO](https://cdn-ak-scissors.b.st-hatena.com/image/square/d9fdf277e5e3da9b9ad5eb3751b2220bf7849aa7/height=288;version=1;width=512/https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2F2019%2F05%2Faws-iot-core.png)