azure-iot-sdk-python を使用して Python で記述された小さなエッジ モジュールがあり、Mqtt を使用して IoT ハブにイベントを送信します。これはうまく機能します。
Websocket で Mqtt を使用するように切り替えると、イベントが配信されなくなりました ( IoTHubTransportProvider.MQTT_WS
)。
edgeHub のログに次の内容が表示されます。
2018-06-14 07:33:33.599 +00:00 [ERR] [Microsoft.AspNetCore.Server.Kestrel] - Uncaught exception from the OnConnectionAsync method of an IConnectionAdapter.
System.Security.Authentication.AuthenticationException: A call to SSPI failed, see inner exception. ---> Interop+OpenSsl+SslException: SSL Handshake failed with OpenSSL error - SSL_ERROR_SSL. ---> Interop+Crypto+OpenSslCryptographicException: error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol
EdgeHubConnectionString
挿入された( export EdgeHubConnectionString=...
) を Azure portal の IoT ハブ ブレードのページから取得したものに手動で更新するDevice Details
と、Websockets を介した Mqtt が機能し始めます。
EdgeHubConnectionString
[デバイスの詳細] ページから取得したものではなく、注入されたモジュール接続文字列で動作する Websocket を介して Mqtt を取得するにはどうすればよいですか?