Используемая ОС и версия: Ubuntu 18.04
Используемая версия SDK: Релиз 13 декабря 2018
Цель: ESP32.
Описание проблемы:
Я пытаюсь подключить ESP32 к моему хранилищу BLOB-объектов. Я получаю ошибку HTTP 401 (несанкционированный доступ).
Я использую пример: iothub_client_sample_upload_to_blob_mb.
Я попытался подключиться, используя только общий ключ доступа в строке подключения, но это не сработало (без подключения). После этого я сгенерировал токен SAS в Azure (учетные записи хранения -> -> подпись общего доступа) и подключил его к строке подключения.
Моя строка подключения выглядит так:
static const char* connectionString = "HostName=<Host name>;DeviceId=<Device ID>;SharedAccessSignature=<inserted here without the "?" at the beginning>";
Q1: Почему есть "?" перед жетоном? Когда я смотрю на строку подключения, SharedAccessSignature = .. Я не вижу "?".
Я также настроил конечную точку в Azure в разделе IoT -> Загрузка файлов.
В этом примере я использую опцию SET_TRUSTED_CERT_IN_SAMPLES.
Q2: Что это значит? Я не очень знаком с базовым шифрованием и, вероятно, должен прочитать об этом.
В3: Почему я получаю ошибку 401? Что может быть возможным решением?
Вход
Инициализация SNTP
На платформе ESP запущено sntp!
Время еще не установлено. Подключение к WiFi и получение времени по NTP. timeinfo.tm_year: 70
Ожидание установки системного времени ... tm_year: 0 [times: 1]
Запуск загрузки примера клиента IoTHub в blob с несколькими блоками ...
Информация: Ожидание соединения TLS
Информация: Ожидание соединения TLS
Информация: Ожидание соединения TLS
Информация: Ожидание соединения TLS
Ошибка: время: чт 17 января 22:06:00 2019 Файл: / home / julian / eclipse-workspace / chaze-esp32 / components / esp-azure / azure-iot-sdk-c / iothub_client / src / iothub_client_ll_uploadtoblob .c Func: send_http_request Строка: 142 HTTP-код был 401
Ошибка: время: чт 17 января 22:06:00 2019 Файл: / home / julian / eclipse-workspace / chaze-esp32 / components / esp-azure / azure-iot-sdk-c / iothub_client / src / iothub_client_ll_uploadtoblob .c Func: IoTHubClient_LL_UploadToBlob_step1and2 Строка: 494 не удалось HTTPAPIEX_ExecuteRequest
Ошибка: время: чт 17 января 22:06:00 2019 Файл: / home / julian / eclipse-workspace / chaze-esp32 / components / esp-azure / azure-iot-sdk-c / iothub_client / src / iothub_client_ll_uploadtoblob .c Func: IoTHubClient_LL_UploadMultipleBlocksToBlob_Impl Строка: ошибка 768 в IoTHubClient_LL_UploadToBlob_step1
Получен неожиданный результат FILE_UPLOAD_ERROR
hello world не удалось загрузить
Нажмите любую клавишу для продолжения
Здесь - ссылка на GitHub Repo.
Пример можно найти здесь .