ここでは、ルールを作成および設定する方法について説明します。

手順

  1. IoT Platform コンソールの [ルール] ページで、[ルールの作成] をクリックします。
  2. ルール名を指定し、データ型を選択します。
    • ルール名: ルールの識別に使用される一意のルール名を入力します。
    • データ型: JSON 形式とバイナリ形式がサポートされています。 ルールエンジンはトピックに基づきデータを処理します。 したがって、処理するトピックのデータの形式を選択する必要があります。
  3. 作成したルールを検索して、[管理] をクリックします。 [ルールの詳細] ページで、ルールを設定します。
    1. [SQL の記述] をクリックし、データ処理の詳細なルールとして SQL 文を記述します。

      たとえば、次の SQL 文は、カスタマイズトピックカテゴリから "deviceName" フィールドを抽出するために使用することができます。これは、プロダクト "Basic_Light_001" のデータラベルが貼られたレベルで終わります。

      to_base64(*) を使用して、バイナリデータを base64 文字列に変換できます。 組み込み機能と条件もサポートされています。

      次に、設定されるパラメーターを説明します。 詳細については、「SQL 文」および「関数」をご参照ください。

      • ルールクエリ式: フィールドトピック、および条件を定義する必要があります。 この後で、完全なルールクエリ式が自動生成されます。
      • フィールド: メッセージのコンテンツフィールド (例: deviceName() as deviceName)
      • トピック: メッセージを処理するトピックを選択します。
        • カスタマイズ: カスタマイズトピックであることを示します。 プロダクト選択後、カスタマイズトピックを入力できます。
        • sys: システム定義トピックであることを示します。 sys を選択した場合、プロダクト、デバイス、およびシステム定義トピックを選択する必要があります。
      • 条件: ルールが起動される条件
    2. [データ転送] の横にある [操作の追加] をクリックします。 処理されたデータを転送する Alibaba Cloud サービスを選択し、ページの指示に従ってパラメーターを設定します。 データ転送の例については、「使用例」のドキュメントをご参照ください。
    3. [エラーデータの転送] の横にある [誤操作の追加] をクリックし、指定した対象へのデータ転送の失敗に関するエラーメッセージを転送するアクションを作成します。
      • エラーメッセージとデバイスデータを同一のクラウドプロダクトに転送することはできません。 たとえば、エラーメッセージとデバイスデータの両方に、対象として "Table Store" を設定することはできません。
      • 対象へのメッセージ転送に失敗した場合、再試行されます。 再試行が失敗した場合、定義された対象にエラーメッセージが転送されます。
      • エラーメッセージが転送されるのは一度だけです。
      • ここで言う "エラーメッセージ" は、対象となるクラウドプロダクトインスタンスによって引き起こされた問題の結果となるエラーについてのメッセージのみを指します。
      • エラーメッセージ転送用に追加できる対象は 1 つだけです。
      • エラーメッセージ形式:
        {
        "ruleName":"",
        "topic":"",
        "productKey":"",
        "deviceName":"",
        "messageId":"",
        "base64OriginalPayload":"",
        "failures":[
                {
        "actionType":"OTS",
        "actionRegion":"cn-shanghai",
        "actionResource":"table1",
        "errorMessage":""
                },
                {
        "actionType":"RDS",
        "actionRegion":"cn-shanghai",
        "actionResource":"instance1/table1",
        "errorMessage":""
                }
              ]
        
        }

        パラメーターは次のように記述されます。

        パラメーター 説明
        ruleName ルールの名前
        topic メッセージのソーストピック
        productKey プロダクトキー
        deviceName デバイス名
        messageId このメッセージに対して IoT Platform によって生成されたメッセージ ID
        base64OriginalPayload Base64 でエンコードされた元データ
        failures エラーの説明
        actionType アクションのタイプ
        actionRegion アクションが実行されるリージョン
        actionResource アクションの対象リソース
        ErrorMessage エラーメッセージ
  4. [ルール] ページに戻ります。 [スタート] をクリックします。 その後、このルールに従ってデータが転送されます。
    次の操作を実行することもできます。
    • このルールの設定を変更するには、[管理]をクリックします。
    • このルールを削除するには、[削除]をクリックします。 稼働ステータスのルールは削除されません。
    • このルールを無効にするには、[停止]をクリックします。