Отправка файлов с устройств в облако
IoT Central позволяет отправлять мультимедийные и другие файлы с подключенных устройств в облачное хранилище. Возможность отправки файлов настраивается в приложении IoT Central, а механизм отправки файлов реализуется в коде устройства.
При необходимости вы можете управлять и просматривать файлы, отправленные устройствами в приложении IoT Central.
Сведения о настройке отправки файлов с помощью REST API IoT Central см. в статье "Добавление конфигурации учетной записи хранения для отправки файлов".
Необходимые компоненты
Чтобы настроить отправку файлов, вам нужны права администратора в приложении IoT Central.
Для хранения отправленных файлов требуется учетная запись хранения и контейнер Azure. Если у вас еще нет учетной записи и (или) контейнера, создайте учетную запись хранения на портале Azure.
Настройка отправки файлов с устройства
Чтобы настроить отправку файлов с устройства, выполните следующие действия:
Перейдите в раздел "Приложение " в приложении.
Выберите хранилище файлов устройств.
Выберите учетную запись хранения и контейнер, которые нужно использовать. Если учетная запись хранения находится не в той же подписке Azure, где размещается приложение, введите строку подключения к этой учетной записи хранения.
При желании измените время ожидания отправки, которое определяет срок действия запроса на отправку. Допускаются значения от 1 до 24 часов.
Чтобы пользователи могли просматривать загруженные файлы в IoT Central и управлять ими, установите для него доступ к on.
Выберите Сохранить. Когда отобразится состояние Настроено, все готово к отправке файлов с устройств.
Отключение отправки файлов с устройства
Если вы хотите отключить отправку файлов с устройства в приложение IoT Central, выполните следующие действия:
Перейдите в раздел "Приложение " в приложении.
Выберите хранилище файлов устройств.
Выберите команду Удалить.
Управление доступом к загруженным файлам
Используйте роли и разрешения для управления тем, кто может просматривать и удалять отправленные файлы. Дополнительные сведения см. в статье "Управление пользователями и ролями" на устройствах управления приложениями > IoT Central.
Отправка файла с устройства
IoT Central использует функциональную возможность отправки файлов, предоставляемую Центром Интернета вещей, чтобы обеспечить поддержку для отправки файлов с устройств. Пример кода, который демонстрирует отправку файлов с устройства, см. в документе Пример отправки файлов с устройства в IoT Central.
Просмотр загруженных файлов и управление ими
Если вы включили доступ к файлам в конфигурации отправки файлов, пользователи с правильными разрешениями могут просматривать и удалять отправленные файлы.
Внимание
Все файлы в папке контейнера BLOB-объектов, связанной с устройством, отображаются в представлении "Файлы " для этого устройства. К ним относятся все файлы, которые не были отправлены устройством.
Чтобы просмотреть и удалить отправленные файлы, перейдите в представление "Файлы " для устройства. На этой странице можно просмотреть эскизы отправленных файлов и переключиться между коллекцией и представлением списка. Каждый файл имеет параметры для скачивания или удаления:
Совет
Тип файла определяется типом mime, назначенным файлу при отправке в хранилище BLOB-объектов. Значение по умолчанию — binary/octet-stream
.
Представление списка можно настроить, отфильтровав по имени файла и выбрав отображаемые столбцы.
Чтобы просмотреть содержимое файла и получить дополнительные сведения о файле, выберите его. IoT Central поддерживает предварительные версии распространенных типов файлов, таких как текст и изображения:
Проверка отправки файла
После настройки отправки файлов в приложении IoT Central его можно протестировать с помощью примера кода. Если вы еще не клонировали репозиторий для отправки файла, используйте следующие команды, чтобы клонировать его в подходящее расположение на локальном компьютере и установить зависимые пакеты:
git clone https://github.com/azure-Samples/iot-central-file-upload-device
cd iotc-file-upload-device
npm i
npm build
Создание шаблона устройства и импорт модели
Чтобы проверить отправку файла, выполните пример приложения устройства. Создайте шаблон устройства для используемого примера устройства.
Откройте приложение в пользовательском интерфейсе IoT Central.
Перейдите на вкладку "Шаблоны устройств" в левой области и нажмите кнопку "Создать":
Выберите устройство Интернета вещей в качестве типа шаблона.
На странице настройки мастера введите имя, например пример устройства отправки файлов для шаблона устройства.
На странице Отзыв выберите Создать.
Выберите " Импортировать модель " и отправьте файл модели FileUploadDeviceDcm.json из папки
iotc-file-upload-device\setup
в скачанный ранее репозиторий.Щелкните Опубликовать, чтобы опубликовать шаблон устройства.
Добавить устройство
Чтобы добавить устройство в приложение Azure IoT Central, сделайте следующее:
Выберите Устройства на панели слева.
Выберите шаблон устройства "Отправка файла", созданный ранее.
Нажмите кнопку "+ Создать " и нажмите кнопку "Создать".
Выберите созданное устройство и нажмите кнопку " Подключиться"
Скопируйте значения для ID scope
, Device ID
и Primary key
. Эти значения используются в примере кода устройства.
Запуск примера кода
Откройте репозиторий Git, скачанный в VS Code. Создайте файл .env в корне проекта и добавьте скопированные ранее значения. Файл должен выглядеть как приведенный ниже пример со значениями, которые вы записали ранее.
scopeId=<YOUR_SCOPE_ID>
deviceId=<YOUR_DEVICE_ID>
deviceKey=<YOUR_PRIMARY_KEY>
modelId=dtmi:IoTCentral:IotCentralFileUploadDevice;1
Откройте репозиторий Git, скачанный в VS Code. Нажмите клавишу F5, чтобы запустить и отладить пример. В окне терминала вы увидите, что устройство зарегистрировано и подключено к IoT Central:
Starting IoT Central device...
> Machine: Windows_NT, 8 core, freemem=6674mb, totalmem=16157mb
Starting device registration...
DPS registration succeeded
Connecting the device...
IoT Central successfully connected device: 7z1xo26yd8
Sending telemetry: {
"TELEMETRY_SYSTEM_HEARTBEAT": 1
}
Sending telemetry: {
"TELEMETRY_SYSTEM_HEARTBEAT": 1
}
Sending telemetry: {
"TELEMETRY_SYSTEM_HEARTBEAT": 1
}
Пример проекта поставляется с примером файла с именем datafile.json. Этот файл отправляется при использовании команды "Отправить файл " в приложении IoT Central.
Чтобы проверить отправку, откройте приложение и выберите созданное устройство. Перейдите на вкладку "Команда" и нажмите кнопку с именем "Выполнить". При нажатии этой кнопки приложение IoT Central вызывает прямой метод на устройстве для отправки файла. Этот прямой метод можно увидеть в примере кода в файле /device.ts. Метод называется uploadFileCommand.
Перейдите на вкладку "Необработанные данные", чтобы проверить состояние отправки файла.
Можно также вызвать REST API , чтобы проверить состояние отправки файла в контейнере хранилища.