Упражнение. Интеграция службы хранилища Azure
В этом модуле вы узнаете, как сохранить данные сущности в хранилище таблиц Azure и эскизы изображений в хранилище BLOB-объектов Azure. Эта функция позволяет хранить и извлекать отслеживаемые объекты с такими данными, как идентификатор, имя, эскиз изображения и многое другое в сеансах и устройствах в облаке.
Общие сведения о службе хранилища Azure
хранилище Azure — это решение хранилища Майкрософт в облаке, которое может охватывать множество сценариев и требований. Он может значительно масштабироваться и легко воспринимается разработчиками. Все службы можно использовать под зонтиком учетной записи хранения Azure. В нашем случае мы будем использовать хранилище таблиц и хранилище BLOB-объектов.
Дополнительные сведения о службах хранилища Azure .
Хранилище таблиц Azure
Эта служба позволяет хранить данные в режиме NoSQL. В нашем проекте мы будем использовать его для хранения сведений об отслеживаемом объекте, таких как имя, описание, идентификатор пространственной привязки и многое другое.
В контексте демонстрационного приложения вам потребуются две таблицы: одна таблица для хранения сведений о проекте с информацией о состоянии обученных моделей (дополнительные сведения об этом в упражнении интеграции Пользовательского визуального распознавания Azure, далее в этом модуле), и вторая таблица для хранения сведений об отслеживаемых объектах.
Узнайте больше о хранилище таблиц Azure.
Хранилище BLOB-объектов Azure
Эта служба позволяет хранить большие двоичные файлы. Хранилище BLOB-объектов Azure будет использоваться для хранения фотографий, сделанных для отслеживаемых объектов, в качестве эскизов.
Для демонстрационной программы вам потребуется один контейнер для хранения изображений.
Дополнительные сведения о хранилище BLOB-объектов Azure.
Подготовка службы хранилища Azure
Чтобы использовать службы хранилища Azure, вам потребуется учетная запись хранения Azure. Сведения о создании учетной записи хранения см. в статье Создание учетной записи хранения. Чтобы узнать больше о счетах хранения, см. обзор учетных записей хранения.
Когда у вас есть учетная запись для хранения, вы можете получить строку подключения на портале Azure. Его можно найти в безопасности и сети>ключей доступа. Вам потребуется строка подключения в следующем разделе этого урока.
Необязательный обозреватель службы хранилища Azure
Хотя вы можете просматривать и проверять все изменения данных через пользовательский интерфейс в приложении, мы рекомендуем установить Azure Storage Explorer. Это средство позволяет визуализировать данные в хранилище Azure, и это очень удобно при отладке и обучении.
Совет
Для тестирования из редактора Unity можно использовать локальный эмулятор:
- В Windows можно использовать эмулятор Azurite.
- На MacOS и Linux можно использовать образ Azurite Docker для Docker.
Подготовка сцены
В окне иерархии найдите объект DataManager и выберите его.
Компонент DataManager (script) в окне Инспектора содержит все связанные параметры хранилища Azure. Все соответствующие параметры уже настроены, вам нужно просто заменить строку подключения в поле на ту, которую вы получили на портале Azure. Если вы используете локальное решение эмулятора хранилища Azure, вы можете сохранить уже указанную строку подключения или оставить ее пустой.
DataManager (скрипт) отвечает за общение с хранилищем таблиц и хранилищем BLOB-объектов и используется другими скриптами контроллера для компонентов пользовательского интерфейса.
Запись и чтение данных из хранилища таблиц Azure
Заметка
Создание и тестирование на HoloLens 2 не является обязательным. Вы можете использовать для тестирования эмулятор HoloLens 2, если у вас нет устройства HoloLens. Вы можете приобрести устройства на HoloLens.com.
Все готово, пришло время создать отслеживаемый объект.
Откройте приложение на HoloLens, а затем выберите выбрать объект. Объект EnterObjectName станет активным в иерархии. Выберите поле поиска и введите имя, которое вы хотите присвоить отслеживаемому объекту. После указания имени нажмите кнопку Задать объект. При этом создается отслеживаемый объект в хранилище таблиц Azure. Откроется карточка объекта.
Эта карточка объектов представляет пользовательский интерфейс отслеживаемого объекта и будет иметь важную роль в этом руководстве.
Теперь выберите текстовое поле описания и введите автомобиль, а затем нажмите кнопку Сохранить, чтобы сохранить изменения. Остановите приложение и повторно запустите его.
Выберите объект поиска и введите имя, введенное ранее при создании отслеживаемого объекта в строке поиска. Вы увидите, что карточка объекта со всеми данными, полученными из хранилища таблиц Azure.
Вы можете закрыть карточку объекта, создать отслеживаемые объекты и изменить их данные.
Совет
Если вы установили обозреватель службы хранилища Azure, вы можете найти ваш отслеживаемый объект в таблице объектов.
Отправка и скачивание образов из хранилища BLOB-объектов Azure
В этом разделе вы будете использовать хранилище BLOB-объектов Azure для отправки и скачивания изображений для использования в качестве эскизов для отслеживаемых объектов.
Заметка
В этом руководстве приложение будет снимать фотографии для загрузки изображений в хранилище Azure Blob. Если вы работаете локально из редактора Unity, убедитесь, что у вас есть веб-камера, подключенная к компьютеру.
Откройте приложение на вашем HoloLens, выберите Задать объекти введите Car в панель поиска. На карточке объекта нажмите кнопку Камера. Вам будет поручено сделать AirTap, чтобы сфотографироваться. После съемки вы увидите сообщение, которое информирует вас о активной загрузке, и через некоторое время изображение должно появиться на месте, где раньше был заполнитель.
Теперь повторно запустите приложение и найдите отслеживаемый объект. Ранее отправленное изображение должно отображаться как эскиз.
Удаление изображений из хранилища BLOB-объектов Azure
В предыдущем разделе вы добавили новые образы в хранилище BLOB-объектов Azure. В этом разделе вы удалите эскиз изображения для отслеживаемых объектов.
Откройте приложение в HoloLens, выберите Задать объекти введите Car в панели поиска. На карточке объекта с миниатюрным изображением нажмите кнопку Удалить. Изображение эскиза заменяется изображением заполнителя.
Теперь перезапустите приложение и найдите «Отслеживаемый объект» из ранее удалённого эскиза. Вы увидите только изображение заполнителя.