2016-04-19 7 views
0

私はAzure IoT Hub経由でRaspberry Piに直接コマンドを送信するコンソールアプリケーションを持っています。それはすべて正常に動作します。IoTハブでDeviceClientをインスタンシエート

私は混乱しますが、DeviceClientをインスタンス化するには2つの方法があります。

例:

deviceClient = DeviceClient.Create(IOT_HUB_HOST_NAME, AuthenticationMethodFactory 
     .CreateAuthenticationWithRegistrySymmetricKey(IOT_HUB_DEVICE, IOT_DEVICE_KEY), TransportType.Http1); 

または

deviceClient = DeviceClient.CreateFromConnectionString(IOT_HUB_CONN_STRING); 

は同じことを行うように見えます。

なぜ私はもう一方を使用しますか?どちらの方法でもメッセージを受け取ることができます。

答えて

1

はい、最終結果は同じです。

https://github.com/Azure/azure-iot-sdks/blob/master/csharp/device/Microsoft.Azure.Devices.Client/DeviceClient.cs

(...)を作成する方法はIotHubConnectionStringBuilder.Create(...)をCreateFromConnectionString(...)を呼び出し、それが個々のパラメータからDeviceClientを作成する方法であって、記述されています。

私は、Createはパラメータを取得する何らかの種類のラッパーで、個々のパラメータから接続文字列を作成し、CreateFromConnectionString(...)に渡します。だから、主な違いは、私が思うに、パフォーマンスについてです。

+0

恐縮です、ありがとうございます! –