IoT Platform のデータ転送機能を使用して、特定のトピックから別のトピックまたは Alibaba Cloud サービスにデータを転送できます。 このトピックでは、データ転送パーサーの設定方法について説明します。設定手順には、パーサーの作成、パーサーとデータソースおよびデータ転送先の関連付け、および解析スクリプトの設定が含まれます。
前提条件
データソースとデータ転送先が作成されていること。詳細については、以下のトピックをご参照ください。
パーサーの作成
- IoT Platform コンソール にログインします。
[概要] ページで、[すべての環境] をクリックします。 [すべての環境] タブで、管理するインスタンスを見つけ、インスタンス ID またはインスタンス名をクリックします。
- 左側のナビゲーションウィンドウで、 を選択します。
- [データ転送] ページで、右上隅にある [新しいバージョンに移動] をクリックして新しいバージョンに移動します。 説明 この手順を実行した場合、[ルール] > [データ転送] を選択すると、新しいバージョンの [データ転送] ページが表示されます。
[パーサー] タブで、[パーサーの作成] をクリックします。
[パーサー名] パラメーターと [パーサーの説明] パラメーターを設定し、[OK] をクリックします。
パーサー名は、1 ~ 30 文字で、文字、数字、アンダースコア(_)、およびハイフン(-)を含めることができます。
表示されるダイアログボックスで、[編集] をクリックして、パーサーの詳細ページに移動します。パーサーの詳細ページの右上隅にある [編集] をクリックして、パーサーの名前と説明を変更できます。
パーサーとデータソースおよびデータ転送先の関連付け
[パーサーの詳細] ページで、[データソースの関連付け] をクリックします。
表示されるダイアログボックスで、[データソース] ドロップダウンリストから作成したデータソースを選択し、[OK] をクリックします。

[パーサーの詳細] ページで、[データ転送先] をクリックします。

[データ転送先の関連付け] をクリックします。表示されるダイアログボックスで、[データ転送先] ドロップダウンリストから作成したデータ転送先を選択し、[OK] をクリックします。

[エラーデータ転送先] セクションで、[データ転送先の関連付け] をクリックして、エラーデータ転送先を指定します。データ転送の再試行が失敗した場合、エラーメッセージは指定されたエラーデータ転送先に送信されます。
重要データ転送ルールごとに追加できるエラー操作は 1 つだけです。
通常操作とエラー操作で同じ転送先にメッセージを転送することはできません。たとえば、通常データとエラーデータを同時に Tablestore に転送することはできません。
エラーメッセージの転送に失敗した場合、再試行は実行されません。
エラーメッセージは、解析スクリプトの障害が原因でルールエンジンがデータの転送に失敗した場合にのみ生成されます。
クラウドサービスへのメッセージの転送に失敗した場合、IoT Platform はメッセージの転送を再試行します。再試行が失敗した場合、データ転送に指定したエラー操作に基づいてエラーメッセージが転送されます。
エラーメッセージの例:
{ "ruleName":"", // ルール名 "topic":"", // トピック "productKey":"", // プロダクトキー "deviceName":"", // デバイス名 "messageId":"", // メッセージID "base64OriginalPayload":"", // Base64 エンコードされた生データ "failures":[ { "actionType":"OTS", // 操作タイプ "actionRegion":"cn-shanghai", // 操作リージョン "actionResource":"table1", // 操作リソース "errorMessage":"" // エラーメッセージ }, { "actionType":"RDS", // 操作タイプ "actionRegion":"cn-shanghai", // 操作リージョン "actionResource":"instance1/table1", // 操作リソース "errorMessage":"" // エラーメッセージ } ] }次の表に、エラーメッセージのパラメーターを示します。
パラメーター
説明
ruleName
モニタリングルール名。
topic
メッセージのソース Topic。
productKey
プロダクトの ProductKey。
deviceName
デバイスの DeviceName。
messageId
IoT Platform から送信されるメッセージの ID。
base64OriginalPayload
Base64 でエンコードされた生データ。
failures
エラーの詳細。複数のエラーが発生する可能性があります。
actionType
失敗した操作のタイプ。
actionRegion
エラーが発生したリージョン。
actionResource
エラーが発生した転送先サービス。
errorMessage
エラーメッセージ。
パーサーの設定と開始
[パーサーの詳細] ページで、[パーサースクリプト] をクリックします。
コードエディタで、スクリプトを入力します。スクリプトの変更方法については、「スクリプト構文」をご参照ください。
データ転送関数とスクリプトの使用方法については、「データ転送の例」をご参照ください。
[デバッグ] をクリックします。表示されるパネルで、プロダクトとデバイスを選択し、トピックを指定して、ペイロードデータを入力し、スクリプトが想定どおりに実行されるかどうかを確認します。
[トピック]: トピックのデータ形式は、スクリプトの解析ロジックと一致している必要があります。
[ペイロードデータ]: 入力データは、ルールエンジンのデータ形式に準拠している必要があります。次の点に注意してください。
カスタムトピックを使用する場合、ペイロードデータはデバイスから送信されるオリジナルデータです。
基本通信トピックおよび TSL (Thing Specification Language)通信トピックのデータ形式については、「データ形式」をご参照ください。
スクリプトで宣言されている変数と実行されるデータ転送関数は、[結果] タブに表示されます。
デバッグが成功した場合、データは転送先クラウドサービスに書き込まれます。転送先クラウドサービスのコンソールにログインして、転送されたデータを表示できます。
[公開] をクリックします。
すべて設定が完了したら、パーサー[データ転送] ページの 開始 タブに戻り、設定したパーサーの右側にある をクリックします。パーサーを開始すると、解析スクリプトに基づいてデータが転送されます。
既存ルールのインポート
古いバージョンのデータ転送機能で設定されているデータ転送ルールをインポートできます。その後、データソース、データ転送先、および解析スクリプトを再設定できます。データ転送ルールをインポートするには、次の手順を実行します。
[パーサー] タブで、[以前のルールのインポート] をクリックします。

右側のパネルで、インポートするルールを選択し、[OK] をクリックします。
インポートされたルールはパーサーリストに表示され、
"connector_"+${以前のルール名}形式で名前が変更されます。[パーサーの詳細] ページで、パーサーの名前を変更したり、データソース、データ転送先、および解析スクリプトを再設定したりできます。
重要デバイスのタグ値は文字列です。
attribute()関数は文字列を返します。返された結果を使用して数学的計算を実行する場合は、結果のデータ型を必要なデータ型に変換します。
追加操作
次の表に、[データ転送] ページの [パーサー] タブで実行できるその他の操作を示します。
パーサーを使用して転送されたデバイスデータがサービスで使用されている場合に、パーサーを削除または無効化したり、パーサーのデータ転送先を削除したりすると、サービスが利用できなくなったり、ビジネスに影響が及ぶ可能性があります。ご注意ください。
操作 | 説明 |
パーサーに関する情報の表示 | [パーサーの詳細] ページで、パーサーの設定を変更したり、パーサーのログをクエリしたりできます。たとえば、データソース Topic やデータ転送先を変更または削除できます。 説明 [実行中] 状態のパーサーのログのみを表示できます。 [パーサーの詳細] ページで、[パーサーの状態] の横にある [ログの表示] をクリックして、[デバイスログ] ページに移動し、パーサーログを表示します。 |
パーサーの削除 | [操作] 列の [削除] をクリックして、パーサーを削除します。 重要 実行中状態のパーサーは削除できません。 |
パーサーの無効化 | [操作] 列の [停止] をクリックして、パーサーを無効にします。 |