• 投稿日
  • IoT システムの運用自動化を支援するイベントハンドラーに、SIM のステータスに連動するルールとアクションを追加

    みなさまこんにちは、ソラコムエンジニアの中西 (kaz) です。このたび SORACOM のイベントハンドラー機能に「イベントハンドラーの実行条件(ルール)」「利用中断中のステータスへ変更するアクション」「アクション内で使用できる新たな変数」という3つの機能を追加しました。このブログでは、利用例と共に紹介します。

    イベントハンドラー機能は、あらかじめルールを指定しておくとそのルールにマッチした時に指定したアクションを実行するという機能で、概要は以下の通りです。こちらのブログにより詳細な説明がありますので、ご興味のある方はぜひそちらもご覧ください。

    イベントハンドラーとは、データ通信量、SIM のステータス変更や有効期限などを条件に通知やその他アクションを実行できる機能です。例えば、
    ・SIM の日次通信量が 5 MBを超えたらそれ以上は通信できないようにする。
    ・SIM が通信を開始して Active になったら、お客様の AWS Lambda を呼び出す
    といった設定ができます。

    SIM のステータスが変更されたらアクションを実行するルールの更新

    SIM の変更前ステータスの指定

    SIM のステータス変更ルールは、「SIM のステータスがこのステータスに変更された場合」というように、従来は変更後のステータスを条件として指定できました。具体的には「利用中断中になったらメールを送信する」といった使い方ができました。今回、新たに「SIM のステータスがこのステータスから変更された場合」というように、変更前のステータスも条件として指定できるようになります。

    使い方の例を示すため、SORACOM の SIM を製品に組み込んで出荷するケースを考えます。出荷から販売してエンドユーザーが使用開始するまでに数ヶ月掛かるような場合、以下のサイクルが考えられます。

    • 製品に SIM を組み込む
    • 製品をテストする(SIM のステータスは準備完了から使用中に変更)
    • SIM のステータスを利用開始待ちに設定して製品を出荷する(SIM のステータスは使用中から利用開始待ちに変更)
    • エンドユーザーが製品を使用開始する(SIM のステータスは利用開始待ちから使用中に変更)

    この時に例えば「エンドユーザーが使用開始したタイミングで AWS Lambda を呼び出す」といったアクションをしたい場合、従来だと「ステータスが使用中になった場合」という条件しか指定できなかったため、製品テストとエンドユーザー使用開始の両方のケースでアクションを実行することになりました。しかし、今回追加された変更前のステータスを指定して「変更前のステータスが利用開始待ちで、かつ変更後のステータスが使用中」とすることで、エンドユーザーが使用開始したタイミングでのみアクションを実行できるようになります。

    ちなみに、今回の機能追加前のように今まで通り設定したいという場合は変更前未設定を指定すれば良いのでご安心ください。この場合は従来通り、「変更前のステータスに関わらず、変更後のステータスが指定した状態になった場合」にアクションを実行します。また、変更前と変更後のステータスは今まで通りそれぞれ${oldStatus}${newStatus}という変数で取得することができますので、例えばメール本文などに変更前と変更後のステータスを示すこともできますので、必要に応じてご利用ください。

    利用開始待ちステータスの追加

    変更前と変更後に指定するステータスに「利用開始待ち」を追加しました。サブスクリプションによっては利用開始待ち状態にならないものもありますが、必要に応じてご利用ください。ステータスの詳細については、以下のページをご確認ください。

    利用中断中へ変更するアクションの追加

    従来より、イベントが発生した時に SIM のステータスを「利用開始待ち」にするアクションはあったのですが、「利用中断中」についても要望がありましたので追加しました。plan-D など一部のサブスクリプションでは、利用中断中になる際や、利用中断中から使用中または休止状態に戻す際に料金が発生します。料金の詳細については以下のページをご確認ください。

    SendMailAction などで使用できる変数の追加

    イベントハンドラー機能では、メールを送るアクションなどで利用できる変数があり、${operatorId}${simId}などを指定すると発生したイベントに関する具体的な値が取得できるのですが、今回新たに${coverage}という変数を追加しました。カバレッジによって、以下の値が取得できます。

    • 日本カバレッジ:jp
    • グローバルカバレッジ:g

    最後に

    今回はお客様のご要望にお応えした機能追加を中心にご紹介しましたがいかがだったでしょうか?イベントハンドラー機能は無料でお使いいただける機能ですので、ぜひご活用いただけますと幸いです。

    本機能は国内外のお客様のフィードバックが基となっております。今後も SORACOM はご利用の皆様のフィードバックを受けて機能改善を進めていきますので、こういった機能があったらもっと便利に使えるのにといった要望がありましたらぜひお聞かせください。みなさまの声を楽しみにしております!

    ― ソラコム 中西 (kaz)