ОС и используемая версия: 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 в разделе «Центр Интернета вещей» -> «Загрузить файлы». В этом примере я использую параметр SET_TRUSTED_CERT_IN_SAMPLES.
Q2: Что это значит? Я не так хорошо знаком с базовым шифрованием и, вероятно, должен прочитать об этом.
Q3: Почему я получаю ошибку 401? Какое может быть возможное решение?
Журнал:
Инициализация SNTP платформы ESP начата! Время еще не установлено. Подключение к Wi-Fi и получение времени по NTP. timeinfo.tm_year: 70 Ожидание установки системного времени ... tm_year: 0 [раз: 1] Запуск загрузки образца клиента IoTHub в большой двоичный объект с несколькими блоками ...
Информация: Ожидание соединения 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
Привет, мир не удалось загрузить. Нажмите любую клавишу, чтобы продолжить.
Вот ссылка на репозиторий GitHub.
Пример можно найти .