Я использую azure -iot-sdk- java lib в приложении Android, с kotlin. Я хочу отправить Direct Method на модуль iot edge, но получаю несанкционированную ошибку.
У нас есть веб-сервис, использующий azure -iot-sdk-node, который работает нормально, я пытался сделать то же самое код в java, но он не работает. Мы используем точно такие же ConnectionString, DeviceId, ModuleId и Имя метода.
Я использую эту библиотеку
implementation 'com.microsoft.azure.sdk.iot:iot-device-client:1.19.0'
Я использую этот код
private val moduleClient by lazy {
ModuleClient(CONNECTION_STRING, IotHubClientProtocol.AMQPS).also { it.open() }
}
fun sendMessage() {
val payload = "/* some payload */"
moduleClient.invokeMethod(DEVICE_ID, MODULE_ID, MethodRequest(METHOD_NAME, payload))
}
Я пытался с IotHubClientProtocol.MQTT. Я попытался с примером java о прямом методе и нашей собственной строке подключения. Возвращаемая ошибка:
{"Message": "{\" errorCode \ ": 401002, \" trackingId \ ": \" 2d829ee7a3044dd28d496e512def06ca-G: метка времени 11: 07/07/2020 16 : 06: 57 \ ", \" message \ ": \" Unauthorized \ ", \" timestampUtc \ ": \" 2020-01-07T16: 06: 57.0613027Z \ "}", "ExceptionMessage": ""}