このトピックでは、データ解析ワークスペースでソースノードを構成する手順の概要を説明します。ソースノードは、後続の解析タスクのデータソースとして機能します。
前提条件
データ解析タスクが作成済みであることを確認します。詳細については、「データ解析ジョブの作成」をご参照ください。
背景情報
データ解析機能の概要については、「使用上の注意」をご参照ください。
データ解析ワークスペースの操作方法については、「データ解析ワークスペースの操作手順」をご参照ください。
手順
ワークスペース内で、キャンバス上のデフォルトの [ソースノード] をシングルクリックします。
右側にある構成パネルで、作業対象の [データソースの種類] に従って [基本情報] を設定します。
[iot インスタンストピック] タイプの場合は、カスタムまたは Thing Specification Language 通信トピックを使用してデバイスからのデータを処理するために、以下のパラメーターを構成します。
パラメーター名
説明
参照
関連付けられているインスタンス
ドロップダウンリストに、現在の Alibaba Cloud アカウントにあるすべてのインスタンスが表示されます。
関連付けられているプロダクト
ドロップダウンリストには、選択したインスタンスにあるすべてのプロダクト名が表示されます。
関連付けられているデバイス
選択したプロダクトにあるデバイスから選択します。[すべてのデバイス] オプションのみ使用可能です。
トピックタイプ
オプション:[システムトピック]、カスタムトピック、Thing Specification Language 通信トピック。
詳細な手順については、以下の「トピックタイプの説明表」を参照してください。
トピック名
このトピックの通信データは、解析タスクのソースとなります。
クラウドゲートウェイプロダクトのカスタムトピックの場合:[トピック名] フィールドにトピック名を手動で入力します(例:
/${productKey}/${deviceName}/user/update)。その他のシナリオの場合:[トピック名] リストから分析対象のトピックを選択します。
[トピックタイプ] の説明表:
デバイス
システムトピック
カスタムトピック
Thing Specification Language トピック
クラウドゲートウェイデバイス:MQTT
サポートされていません。
サポートされています。
詳細については、「カスタムトピックカテゴリの追加」をご参照ください。
プロパティ タイプと イベント タイプをサポートします。
詳細については、「デバイスがプロパティデータを IoT Platform に送信する」をご参照ください。
クラウドゲートウェイデバイス:NB-IoT
クラウドゲートウェイデバイス:JT/T 808
デバイスレポートデータトピックをサポート:
$JT808/${manufacturer}/${deviceModel}/${deviceId}/up。詳細については、「デバイスデータの送信」をご参照ください。
サポートされていません。
クラウドゲートウェイデバイス:GB/T 32960
デバイスレポートデータトピックをサポート:
$GB23960/${VIN}/up。詳細については、「デバイスデータの送信」をご参照ください。
クラウドゲートウェイ以外のデバイス
デバイスシャドウパブリッシュトピックをサポート:
/shadow/update/${YourProductKey}/${YourDeviceName}。詳細については、「デバイスシャドウデータの転送」をご参照ください。
サポートされています。
詳細な手順については、「カスタムトピックカテゴリの追加」をご参照ください。
[API データソース] タイプの場合は、API を介してインポートされた外部データを処理するために、特定の API データソースを選択します。
詳細については、「API データソースの構成」をご参照ください。
[次へ] をクリックし、[トピックフォーマット] を選択して、フォーマット解析を設定します。
JSON、ProtoBuf、Base64(to_JSON)
選択したトピックフォーマットに基づいて、サンプルデータを構成します。
説明過去 7 日間にデータが報告されている場合は、オンライン データをプルする をクリックすると、サンプルデータが自動的に入力されます。
トピックフォーマット
サンプルの構成
JSON
[サンプルデータ] フィールドにサンプルデータを直接入力します。コンテンツサイズは 16 KB を超えないようにしてください。
ProtoBuf
.desc ファイルをアップロードする
.descをクリックして、ProtoBuf フォーマットデータの解析に必要な ファイルをアップロードします。.desc ファイルの生成方法については、付録:.desc ファイルの生成 を参照してください。
メッセージタイプを選択した後、バイナリデータファイルのアップロード をクリックしてサンプルデータを入力します。
Base64(to_JSON)
Base64 データファイルをアップロードする をクリックして、サンプルデータをアップロードします。
サンプルデータが構成されたら、解析の検証 をクリックします。
解析に成功すると、データ構造が [解析プレビュー] に表示されます。
解析に失敗した場合は、提案に従ってサンプルデータを修正し、再検証します。
[パススルー] オプションを選択します。
いいえ(デフォルト)。
はい:このオプションを選択すると、解析されたデータのみがトピックを通過し、カスタムデータストレージと SQL オフライン分析はサポートされません。
[保存] をクリックします。
解析されたフィールドの構造(名前とデータ型を含む)は、キャンバスの下にある [データ構造] の下に一覧表示されます。
説明[パススルー] が [はい] に設定されている場合、[ソースノード] に続くノードはすべて削除され、[ターゲットノード] が自動的に追加および接続されます。この場合、[ソースノード] と [ターゲットノード] の間に他のノードを挿入することはできません。
生データ
[パススルー] を選択します。
いいえ(デフォルト)。
はい:選択すると、解析されたデータのみがトピックを介して送信されます。カスタムデータストレージと SQL オフライン分析はサポートされません。
[保存] をクリックします。
[カスタム] ノードが自動的に作成され、キャンバス上の [ソースノード] にリンクされます。
[ソースノード] と [カスタム] ノードの間にノードを挿入することはできません。[ソースノード] の後に接続されていたノードはすべて、[カスタム] ノードに再ルーティングされます。
説明[パススルー] が [はい] に設定されている場合、[ソースノード] に続くノードはすべて削除され、[ターゲットノード] が [カスタム] ノードの後に自動的に追加および接続されます。この場合、[カスタム] ノードと [ターゲットノード] の間にノードを配置することはできません。
生データを処理するために [カスタム] ノードのスクリプトを設定します。
キャンバス上の [カスタム] ノードをクリックします。
カスタムスクリプトパネルで、スクリプト言語を選択し、スクリプトの編集 にスクリプトを入力します。
サポートされているスクリプト言語
定義する関数
コード例
JavaScript (ECMAScript 5)
executeScript()
Python 2.7
execute_script()
PHP 7.2
executeScript()
[アナログ入力] タブで、シミュレートされたデバイスから報告されたデータを入力します。
[実行] をクリックします。
実行に成功すると、処理されたデータが [実行結果] タブに表示されます。スクリプト実行ログを表示するには、[実行ログ] タブをクリックします。
ソースノードの構成を完了するには、データ分析ワークベンチの右上隅にある [保存] をシングルクリックします。
次の手順
ソースノードの構成が完了したら、データ解析用の追加処理ノードを設定するか、ターゲットノードを構成して解析タスクの構成を完了します。
付録:.desc ファイルの生成
ProtoBuf 形式でサンプルデータを構成する前に、データ解析用の対応する
.descファイルをアップロードすることが不可欠です。この機能を使用するには、Protocol Buffers の基本的な理解が必要です。
Protocol Buffers をダウンロードしてインストールすることから始めます。
以下のコマンドを実行して、
.descファイルを生成します。protoc -I=/filepath1/ --descriptor_set_out=/filepath2/proto.desc /filepath3/proto.protoコマンドパラメーターの説明:
パラメーター
説明
-I--proto_pathの省略形は、.protoファイルのコンパイル中にimportファイルの依存関係を検索する必要があるディレクトリパスを示します。/filepath1/を、依存関係が存在するディレクトリに置き換えます。依存関係がない場合は、任意のローカルディレクトリに設定します。--descriptor_set_outこのパラメーターは、生成される
.descファイルの出力ディレクトリを指定します。/filepath2/proto.descを、ファイル名を含む目的の出力パスに変更します。/filepath3/proto.protoソース
.protoファイルの名前とパスを示します。複数のファイルから.descファイルを生成するには、複数のパスとファイル名をカンマ(,)で区切って入力します。これを、ソース
protoファイルの名前を含むパスに変更します。
DataService Studio を初めて使用する場合、データソースの初期化、スクリプトの作成、データソースの構成という操作を行う必要があります。これらの手順を実行すると、DataService Studio を使用してデータ分析タスクとデータ管理タスクを効率的に実行できます。