すべてのプロダクト
Search
ドキュメントセンター

IoT Platform:IoT Platform SDK for Javaを使用する

最終更新日:Feb 06, 2024

IoT Platform SDK for Javaを使用すると、Javaプログラムを使用してIoT Platformリソースを効率的に管理できます。 SDKを依存関係としてMavenプロジェクトに追加できます。 インストールパッケージをローカルディレクトリにダウンロードし、SDKをインストールすることもできます。

SDK のインストール

  1. Java 開発環境をインストールします。

    公式Java WebサイトからJavaインストールパッケージをダウンロードし、指示に従ってJavaをインストールします。

  2. IoT Platform SDK for Javaをインストールします。

    1. 公式Apache Maven WebサイトからMavenインストールパッケージをダウンロードします。

    2. 次の依存関係をMavenプロジェクトに追加します。

      • 最新バージョンのIoT Platform SDK for Javaの依存関係:

        <!-https://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-iot->
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-iot</artifactId>
            <version>7.41.0</version>
        </dependency> 
      • Alibaba Cloud SDK for Javaの依存関係:

        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <version>4.5.6</version>
        </dependency> 

SDKの初期化

SDK初期化情報を格納するためのIClientProfileクラスのプロファイルオブジェクトを作成します。 次に、DefaultAcsClientクラスのクライアントインスタンスを作成します。 DefaultAcsClient(profile) メソッドを呼び出して、SDKの初期化情報を読み込みます。

文字列accessKey = System.getenv("ACCESS_KEY_ID");
String accessSecret = System.getenv("ACCESS_KEY_SECRET");
IClientProfile profile = DefaultProfile.getProfile("${RegionId}", accessKey, accessSecret);
DefaultAcsClient client = new DefaultAcsClient(profile); // SDKクライアントを初期化します。

パラメーター

説明

profile

SDKの初期化情報を格納するために使用されるオブジェクト。 ${RegionId} は、IoT Platformサービスが存在するリージョンのIDを示します。

IoT Platformコンソールの左上隅にリージョンを表示できます。

リージョンIDの詳細については、「リージョンとゾーン」をご参照ください。

次の例は、IoT Platformサービスが中国 (上海) リージョンにある場合にSDKを初期化する方法を示しています。

文字列accessKey = System.getenv("ACCESS_KEY_ID");
String accessSecret = System.getenv("ACCESS_KEY_SECRET");
IClientProfile profile = DefaultProfile.getProfile("cn-shanghai" 、accessKey、accessSecret);
DefaultAcsClient client = new DefaultAcsClient(profile); // SDKクライアントを初期化します。

リクエストを開始するInitiate a request

SDKは、API操作ごとに2つのクラスをカプセル化します。 クラス名は、${API操作名} + "リクエスト" および ${API操作名} + "レスポンス" 形式です。

  • ${API操作名} + "リクエスト": このクラスは、API操作を呼び出すために使用されます。 このクラスのrequestインスタンスを作成し、set +${request parameter} メソッドを呼び出してリクエストパラメーターを指定できます。

  • ${API operation name}+ "Response": DefaultAcsClientから作成されたクライアントインスタンスのgetAcsResponse(request) メソッドを呼び出して、レスポンスを取得できます。 ${API操作名} + "response" クラスのレスポンスインスタンスのget +${response parameter} メソッドを呼び出して、レスポンスパラメーターの値を取得できます。

    たとえば、response.getSuccess() メソッドを呼び出して、Successパラメーターを取得できます。 このパラメーターは、リクエストが成功したかどうかを示す共通のレスポンスパラメーターです。 一般的な応答パラメータには、RequestId、ErrorMessage、およびCodeも含まれます。

IoT PlatformのAPI操作の詳細については、「関数別の操作のリスト」をご参照ください。 各API操作のrequestおよびresponseパラメーターの詳細については、APIのドキュメントをご参照ください。

次の例は、Pub操作を呼び出してメッセージをトピックに公開する方法を示しています。 リクエストパラメーターの詳細については、「Pub」をご参照ください。

重要

次のサンプルコードでは、${iotInstanceId} にインスタンスのIDを指定します。 インスタンスのIDは、IoT Platformコンソールの [概要] ページで確認できます。

  • インスタンスにIDがある場合は、このパラメーターにIDを指定する必要があります。 それ以外の場合、要求は失敗します。

  • インスタンスに対して [概要] ページまたはIDが生成されていない場合、このパラメーターを指定する必要はありません。 IotInstanceIdパラメーターに関連するリクエストコードを削除するか、パラメーターに空の文字列 ("") を指定する必要があります。 それ以外の場合、要求は失敗します。

IoT Platformインスタンスの詳細については、「概要」をご参照ください。 インスタンスの購入方法の詳細については、「Enterprise Editionインスタンスの購入」をご参照ください。 よくある質問の詳細については、「IoT Platformインスタンスに関するFAQ」をご参照ください。

PubRequest request = new PubRequest();
request.setIotInstanceId("${iotInstanceId}");
request.setProductKey("${productKey}");
request.setMessageContent(Base64.encodeBase64String("hello world".getBytes()));
request.setTopicFullName("/${productKey}/${deviceName}/user/get");
request.setQos(0); // QoS 0とQoS 1がサポートされています。  
トライ
{ 
   PubResponse response = client.getAcsResponse(request); 
   System.out.println(response.getSuccess()); 
   System.out.println(response.getCode());
   System.out.println(response.getErrorMessage());
}
catch (ServerException e)
{
   e.printStackTrace();
}
catch (ClientException e)
{
   System.out.println("ErrCode:" + e.getErrCode());
   System.out.println("ErrMsg:" + e.getErrMsg());
   e.printStackTrace();
} 

付録: サンプルコード

のAPI操作のサンプルコードを表示またはダウンロードできます。 IoT Platform SDKサンプルセンター Java、Python、PHPなどのSDKのサンプルコード。NETおよびGoが提供されます。

Alibaba Cloud OpenAPI Explorerは、API操作用のオンラインデバッグツールを提供します。 [APIデバッグ] ページでは、API操作の検索、API操作の呼び出し、およびさまざまなSDKのAPI操作のサンプルコードの生成ができます。 ページの右側で、SDKのサンプルコードを [サンプルコード] タブに表示できます。 [デバッグ結果] タブでは、実際のリクエストURLとレスポンスをJSON形式で表示できます。