IoT Platformは開発者にSDKを提供します。NETを使用します。 このトピックでは、IoT Platform SDKをインストールおよび設定する方法について説明します。NETを使用します。 このトピックでは、SDKを使用してIoT PlatformのAPI操作を呼び出す方法についても説明します。
IoT Platform SDKをインストールします。NET
インストール NET開発環境。
IoT Platform SDK用。NETは次の開発環境をサポートしています。
. NET Framework 4.5以降
. NET Standard 2.0以降
C# 4.0以降
Visual Studio 2010以降
IoT Platform SDKをインストールします。NuGetパッケージマネージャーを使用してNETを使用します。
この例では、Visual Studioが使用されます。
Visual Studioのソリューションエクスプローラーパネルで、プロジェクトを右クリックし、[NuGetパッケージの管理] を選択します。
NuGetパッケージマネージャーパネルで、[参照] をクリックします。
[参照] タブで、検索ボックスにaliyun-net-sdkと入力し、Alibaba Cloudが提供するaliyun-net-sdk-iotパッケージを選択します。
[インストール] をクリックします。
C ++ 用のIoT Platform SDKの初期化
次の例は、IoT Platformサービスが中国 (上海) リージョンにある場合にSDKを初期化する方法を示しています。
SDK初期化情報を格納するclientProfileオブジェクトを作成します。 次に、DefaultAcsClientからクライアントインスタンスを作成します。 DefaultAcsClient(clientProfile)
メソッドを使用して、SDKの初期化情報を読み込みます。
;
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の初期化情報を格納するために使用されます。
: IoT Platformをアクティブ化したリージョンのID。
IoT Platformコンソールの左上隅にリージョンを表示できます。
リージョンIDの詳細については、「サポートされているリージョン」をご参照ください。
リクエストを開始する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パラメーターの値を取得できます。 このパラメーターは、呼び出しが成功したかどうかを示す一般的な応答パラメーターです。 一般的なレスポンスパラメーターには、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.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形式で表示できます。