このトピックでは、IoT PlatformをAlibaba Cloudビッグデータプラットフォームと統合する方法について説明します。 これにより、Alibaba Cloudビッグデータプラットフォームを使用して、デバイスデータの計算と分析、デバイスの統計の収集、デバイスデータ、統計、分析結果のリアルタイム表示を行うことができます。
前提条件
- 関連するAlibaba Cloudサービスが有効化され、必要なインスタンスとコンピューティングリソースが購入されます。 Alibaba Cloudビッグデータプラットフォームを使用してIoT platformのデバイスデータを処理する場合、などの複数のAlibaba Cloudサービスを使用する必要がある場合があります。 ApsaraDB RDS for MySQLと IoTプラットフォーム
- Alibaba Cloudサービスの設定手順と使用状況の注意事項については、よく知っています。
背景情報
- シナリオ: DataVダッシュボードを使用して、IoT Platform製品のデバイスのデータをリアルタイムで表示します。
- プロセス:
- IoT Platformはデバイスデータを収集します。
- IoT Platformは、ルールエンジンを使用して製品のデバイスデータをDataHubに転送します。
- DataHubは、デバイスデータをRealtime Compute for Apache Flinkに送信して処理し、処理したデータをApsaraDB RDS for MySQLに書き込みます。 デバイスデータを処理する必要がない場合は、DataConnectorを使用して、DataHubからApsaraDB RDS for MySQLにデータを同期できます。
- DataVは、ApsaraDB RDS for MySQLデータベーステーブルをデータソースとして使用し、データベーステーブルにデバイスデータをリアルタイムで表示します。
手順
- ApsaraDB RDS for MySQLデータベースを作成して、デバイスデータを保存します。 詳細については、「ApsaraDB RDS For MySQL」をご参照ください。
- ApsaraDB RDSコンソールにログインします。
- [インスタンス] ページで、[インスタンスの作成] をクリックして、ApsaraDB RDS for MySQLインスタンスを購入します。 説明 ApsaraDB RDS for MySQLインスタンスが存在するリージョンは、IoT PlatformデバイスとDataHubプロジェクトが存在するリージョンと同じである必要があります。
- [インスタンス] ページで、購入したインスタンスを見つけ、[操作] 列の [管理] をクリックします。
- 左側のナビゲーションウィンドウで、[アカウント] をクリックします。 [アカウント] ページで、[アカウントの作成] をクリックし、パラメーターを設定します。
- 左側のナビゲーションウィンドウで、[データベース] をクリックします。 [データベース] ページで、[データベースの作成] をクリックし、パラメーターを設定します。
- 左側のナビゲーションウィンドウで、[データセキュリティ] をクリックします。 [データセキュリティ] ページで、[ホワイトリストの作成] をクリックして、ApsaraDB RDS for MySQLインスタンスのIPアドレスホワイトリストを設定します。 詳細については、「IPアドレスホワイトリストの設定」をご参照ください。
- 左側のナビゲーションウィンドウで、[基本情報] をクリックして、インスタンスに関する基本情報を表示します。
DataHub、DataV、またはRealtime Compute for Apache Flinkにデータを同期する場合は、インスタンス情報が必要です。
- [基本情報] ページの上部ナビゲーションバーで、[データベースにログイン] をクリックします。 [ログインインスタンス] ダイアログボックスで、データベースにログインするアカウントに関する情報を入力します。
- テーブルはデータベースに作成されます。 この例では、mytableという名前のデータベーステーブルが作成されます。 データベーステーブルは2つのフィールドを含む。 次の表では、フィールドについて説明します。
表1. mytable フィールド タイプ 説明 d_data varchar (32) 時間だ device_num int アクティブなデバイスの数。
- IoT Platformコンソールで、プロダクト、デバイス、およびデータ転送ルールを作成します。
- IoT Platformコンソールにログインします。
[概要] ページで、[すべての環境] をクリックします。 [すべての環境] タブで、管理するインスタンスを見つけ、インスタンスIDまたはインスタンス名をクリックします。
- 左側のナビゲーションウィンドウで、 を選択します。 [製品] ページで、[製品の作成] をクリックし、パラメーターを設定します。 詳細については、「プロダクトの作成」をご参照ください。
- 製品を作成したら、製品の [製品の詳細] ページに移動し、ビジネス要件に基づいて製品を構成できます。 たとえば、トピックカテゴリを作成したり、Thing Specification Language (TSL) モデルを定義したりできます。 詳細については、「トピックとは」をご参照ください。 またはTSLモデルとは何ですか?
- 左側のナビゲーションウィンドウで、 を選択します。 [デバイス] ページで、[デバイスの追加] をクリックし、パラメーターを設定します。 詳細については、「デバイスの作成」をご参照ください。
- 左側のナビゲーションウィンドウで、 を選択します。 [データ転送] ページで、[ルールの作成] をクリックし、パラメーターを設定します。
- [データ転送] ページでルールを見つけ、[操作] 列の [表示] をクリックします。
- [データ転送ルール] ページの [データ処理] セクションで、[SQLの書き込み] をクリックします。 [SQLの書き込み] ダイアログボックスで、ルールのSQL文を書き込みます。 次に、SQL文をデバッグします。 詳細は、「SQL文」をご参照ください。

- [データ転送] セクションで、[操作の追加] をクリックします。 [操作の追加] ダイアログボックスで、パラメーターを設定します。 この操作は、デバイスデータをDataHubのトピックに転送するために使用されます。 詳細については、「データ転送ルールの設定」をご参照ください。
- 設定が完了したら、[データ転送] ページに移動します。 ルールを見つけ、[操作] 列の [開始] をクリックしてルールを有効にします。
ルールを有効にした後、シミュレートされたデバイスを使用してメッセージを送信し、メッセージをDataHubに転送できるかどうかを確認します。 [デバイスログ] ページで、シミュレートされたデバイスのログを表示できます。 DataHubコンソールで、デバイスデータが転送されるトピックのシャードのデータサイズの変更を表示できます。 データサンプリング機能を使用して、シャード内のメッセージコンテンツを表示することもできます。 - デバイスを構成し、デバイスをIoT Platformに接続します。 この例では、Link SDK for Javaを使用してデバイスを設定する方法を示します。 [Demo SDK for Java] をクリックしてサンプルコードをダウンロードします。
デバイスSDKを開発したら、デバイスSDKを物理デバイスにインストールします。 デバイスの電源を入れてデバイスをIoT Platformに接続すると、デバイスはIoT Platformにデータを報告できます。 IoT Platformは、ルールエンジンを使用してデータをDataHubに転送します。 Realtime Compute for Apache Flinkがデータを処理した後、処理されたデータはApsaraDB RDS for MySQLに書き込まれます。
- テストを実行します。 設定が完了すると、デバイスがIoT Platformに接続してメッセージを送信するたびに、ダッシュボード上でアクティブなデバイスの数がリアルタイムで更新されます。