Упражнение. Интеграция службы хранилища Azure

Завершено

В этом модуле вы узнаете, как сохранить данные сущности в хранилище таблиц Azure и эскизы изображений в хранилище BLOB-объектов Azure. Эта функция позволяет хранить и извлекать отслеживаемые объекты с такими данными, как идентификатор, имя, эскиз изображения и многое другое в сеансах и устройствах в облаке.

Общие сведения о службе хранилища Azure

Служба хранилища Azure — это решение Майкрософт для хранения данных в облаке, которое может охватывать множество сценариев и требований. Оно может быстро масштабироваться, а также быть легкодоступным для разработчиков. Все службы можно использовать под зонтиком учетной записи хранения Azure. В нашем случае мы будем использовать хранилище таблиц и хранилище BLOB-объектов.

Дополнительные сведения о службах хранилища Azure.

Хранилище таблиц Azure

Эта служба позволяет хранить данные в стиле NoSQL. В нашем проекте мы будем использовать его для хранения сведений об отслеживаемом объекте, таких как имя, описание, идентификатор пространственной привязки и многое другое.

В контексте демонстрационного приложения вам потребуется две таблицы; один для хранения сведений о проекте с информацией о состоянии обученных моделей (дополнительные сведения об этом в упражнении интеграции Azure Пользовательское визуальное распознавание далее в этом модуле) и второй таблицей для хранения сведений об отслеживаемых объектах.

Дополнительные сведения о хранилище таблиц Azure.

Хранилище BLOB-объектов Azure

Эта служба позволяет хранить большие двоичные файлы. Хранилище BLOB-объектов Azure используется для хранения фотографий, сделанных для отслеживаемых объектов в качестве эскизов.

Для демонстрационной версии приложения необходим один BLOB-контейнер для хранения изображений.

Дополнительные сведения о Хранилище BLOB-объектов Azure.

Подготовка службы хранилища Azure

Чтобы использовать службы хранилища Azure, потребуется учетная запись хранения Azure. Чтобы создать учетную запись хранения, см. раздел Создайте учетную запись хранения. Дополнительные сведения о учетных записях хранения см. в служба хранилища обзоре.

После создания учетной записи хранения можно получить строку подключения на портале Azure. Его можно найти в ключах доступа "Безопасность и сеть>". В следующем разделе этого урока вам потребуется строка подключения.

Обозреватель службы хранилища Azure (необязательно)

Хотя вы можете просматривать и проверять все изменения данных из пользовательского интерфейса в приложении, рекомендуем установить Обозреватель службы хранилища Azure. Это средство позволяет визуализировать данные в хранилище Azure, и это очень удобно при отладке и обучении.

Совет

Для тестирования в редакторе Unity можно использовать локальный эмулятор:

  • В Windows можно использовать эмулятор Azurite.
  • В MacOS или Linux можно использовать образ Docker Azurite для Docker.

Подготовка сцены

  1. В окне Hierarchy (Иерархия) найдите и выберите объект DataManager.

    Screenshot of Unity with DataManager script component configuration fields shown in Inspector.

    Компонент DataManager (скрипт) в окне инспектора содержит все параметры, связанные со службой хранилища Azure. Все соответствующие параметры уже заданы; Необходимо просто заменить поле строки Подключение ion строкой, полученной из портал Azure. Если вы используете локальное решение эмулятора хранилища Azure, вы можете сохранить уже предоставленные строка подключения или оставить его пустым.

    DataManager (скрипт) отвечает за общение с хранилищем таблиц и хранилищем BLOB-объектов и используется другими скриптами контроллера для компонентов пользовательского интерфейса.

Запись и чтение данных из хранилища таблиц Azure

Примечание.

Выполнять сборку и тестирование на HoloLens 2 не обязательно. Для тестирования можно использовать HoloLens 2 Emulator, если нет устройства HoloLens. Устройства можно приобрести на сайте HoloLens. com.

Когда все будет готово, можно создать отслеживаемый объект.

  1. Откройте приложение на устройстве HoloLens, затем выберите Объект набора. Объект EnterObjectName будет активирован в окне иерархии. Выберите строку поиска и введите имя, которое вы хотите предоставить отслеживаемой объект. После указания имени нажмите кнопку "Задать объект ". При этом создается отслеживаемый объект в хранилище таблиц Azure. Отобразится Карточка объекта.

    Эта Карточка объекта представляет собой представление пользовательского интерфейса для отслеживаемого объекта и будет играть важную роль в этой серии руководств.

  2. Теперь выберите текстовое поле "Описание " и введите " Автомобиль", а затем нажмите кнопку "Сохранить ", чтобы сохранить изменения. Остановите работу приложения и запустите его повторно.

  3. Выберите "Объект поиска" и введите имя, введенное ранее при создании отслеживаемого объекта в строке поиска. Вы увидите Карточку объекта со всеми данными, полученными из хранилища таблиц Azure.

  4. Карточку объекта можно закрыть, создать другие отслеживаемые объекты и изменить их данные.

    Совет

    Если вы установили служба хранилища Azure Обозреватель, вы можете найти отслеживаемый объект в таблице "Объекты".

Отправка и загрузка изображений из Хранилища BLOB-объектов Azure

В этом разделе вы будете использовать Хранилище BLOB-объектов Azure для отправки и загрузки изображений, чтобы использовать их в качестве эскизов для отслеживаемых объектов.

Примечание.

В этом учебнике приложение будет делать фотографии для отправки изображений в Хранилище BLOB-объектов Azure. Если запуск выполняется локально из редактора Unity, убедитесь, что у вас есть веб-камера, подключенная к компьютеру.

  1. Откройте приложение в HoloLens, выберите "Задать объект" и введите "Автомобиль " на панели поиска. В Карточке объекта нажмите кнопку Камера. Вам будет предложено выполнить AirTap для получения фотографии. После создания фотографии вы увидите сообщение об активной отправке, и через некоторое время изображение должно отобразиться там, где ранее был заполнитель.

  2. Теперь повторно запустите приложение и найдите отслеживаемый объект. Ранее отправленное изображение должно отображаться как эскиз.

Удаление изображений из Хранилища BLOB-объектов Azure

В предыдущем разделе вы отправили новые изображения в Хранилище BLOB-объектов Azure. В этом разделе вы удалите эскиз изображения для отслеживаемых объектов.

  1. Откройте приложение в HoloLens, выберите "Задать объект" и введите "Автомобиль " на панели поиска. В Карточке объекта с эскизом нажмите кнопку Удалить. Эскиз изображения заменяется изображением-заполнителем.

  2. Теперь повторно запустите приложение и найдите отслеживаемый объект ранее удаленного эскиза. Должно отобразиться только изображение заполнителя.