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

IoT Platform:IoT Platform SDKを使用します。NET

最終更新日:Feb 06, 2024

IoT Platformは開発者にSDKを提供します。NETを使用します。 このトピックでは、IoT Platform SDKをインストールおよび設定する方法について説明します。NETを使用します。 このトピックでは、SDKを使用してIoT PlatformのAPI操作を呼び出す方法についても説明します。

IoT Platform SDKをインストールします。NET

  1. インストール NET開発環境。

    IoT Platform SDK用。NETは次の開発環境をサポートしています。

    • . NET Framework 4.5以降

    • . NET Standard 2.0以降

    • C# 4.0以降

    • Visual Studio 2010以降

  2. IoT Platform SDKをインストールします。NuGetパッケージマネージャーを使用してNETを使用します。

    この例では、Visual Studioが使用されます。

    1. Visual Studioのソリューションエクスプローラーパネルで、プロジェクトを右クリックし、[NuGetパッケージの管理] を選択します。

    2. NuGetパッケージマネージャーパネルで、[参照] をクリックします。

    3. [参照] タブで、検索ボックスにaliyun-net-sdkと入力し、Alibaba Cloudが提供するaliyun-net-sdk-iotパッケージを選択します。

    4. [インストール] をクリックします。

C ++ 用のIoT Platform SDKの初期化

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

SDK初期化情報を格納するclientProfileオブジェクトを作成します。 次に、DefaultAcsClientからクライアントインスタンスを作成します。 DefaultAcsClient(clientProfile) メソッドを使用して、SDKの初期化情報を読み込みます。

Aliyun.Acs.Coreを使用した
;
Aliyun.Acs.Core.Exceptions; の使用
Aliyun.Acs.Core.Profileの使用

string accessKeyId = Environment.GetEnvironmentVariable("ALIYUN_ACCESS_KEYID");
string accessKeySecret = Environment.GetEnvironmentVariable("ALIYUN_ACCESS_KEY_SECRET");

IClientProfile clientProfile = DefaultProfile.GetProfile("cn-shanghai" 、accessKeyId、accessKeySecret);
DefaultAcsClientクライアント=新しいDefaultAcsClient(clientProfile); 

clientProfileオブジェクトは、SDKの初期化情報を格納するために使用されます。

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

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

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

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

    たとえば、response.Success() メソッドを呼び出して、Successパラメーターの値を取得できます。 このパラメーターは、呼び出しが成功したかどうかを示す一般的な応答パラメーターです。 一般的なレスポンスパラメーターには、RequestIdErrorMessage、および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.IotInstanceId = "<iotInstanceId>";
request.ProductKey = "<productKey>";
request.TopicFullName = "/<productKey>/<deviceName>/get";
byte[] payload = Encoding.Default.GetBytes("Hello World.");
String payloadStr = Convert.ToBase64String(payload);
request.MessageContent = payloadStr;
request.Qos = 0;
トライ
{
   PubResponse response = client.GetAcsResponse(request);
   Console.WriteLine("publish message result: " + response.Success);
   Console.WriteLine(response.ErrorMessage);
}
catch (ServerException e)
{
   Console.WriteLine(e.ErrorCode);
   Console.WriteLine(e.ErrorMessage);
}
catch (ClientException e)
{
   Console.WriteLine(e.ErrorCode);
   Console.WriteLine(e.ErrorMessage);
} 

付録: サンプルコード

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

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