Ejercicio: Integración de Azure Storage

Completado

En este módulo, aprenderá a guardar datos de entidad en Azure Table Storage e imágenes en miniatura en Azure Blob Storage. Esta característica nos permite almacenar y recuperar objetos con seguimiento en la nube usando datos como el id., el nombre, la imagen en miniatura, etc. entre sesiones y dispositivos.

Descripción del almacenamiento de Azure

Azure Storage es una solución de almacenamiento de Microsoft en la nube que puede abarcar muchos escenarios y requisitos. Se puede escalar de forma masiva y los desarrolladores pueden acceder a ella fácilmente. Todos los servicios pueden consumirse bajo el paraguas de una cuenta de almacenamiento de Azure. En nuestro caso de uso, usaremos Table Storage y Blob Storage.

Obtenga más información sobre los servicios de Azure Storage.

Azure Table Storage

Este servicio nos permite almacenar datos de forma NoSQL. En nuestro proyecto, lo usaremos para almacenar información sobre el objeto con seguimiento, como el nombre, la descripción, el anclaje espacial, el id., etc.

Para la aplicación de demostración, necesita dos tablas: una donde almacenar información sobre el proyecto con datos sobre el estado de los modelos entrenados (más información sobre esto en el ejercicio Integrar Azure Custom Vision que se encuentra más adelante en este módulo) y una segunda tabla para almacenar información sobre los objetos con seguimiento.

Obtenga más información sobre Azure Table Storage.

Azure Blob Storage

Este servicio permite almacenar archivos binarios de gran tamaño. Usará el almacenamiento de blobs de Azure para almacenar las fotos tomadas de los objetos con seguimiento en forma de miniaturas.

Para la aplicación de demostración, necesita un contenedor de blobs donde almacenar las imágenes.

Obtenga más información sobre Azure Blob Storage.

Preparación de Azure Storage

Para usar los servicios de almacenamiento de Azure, necesitará una cuenta de almacenamiento de Azure. Para crear una cuenta de almacenamiento, consulte Creación de una cuenta de almacenamiento. Para más información sobre las cuentas de almacenamiento, consulte la Información general acerca de la cuenta de almacenamiento.

Cuando tenga una cuenta de almacenamiento, podrá recuperar la cadena de conexión en Azure Portal. Puede encontrarlo en Seguridad y redes>Claves de acceso. Necesitará la cadena de conexión en la siguiente sección de esta lección.

Explorador de Azure Storage opcional

Aunque puede ver y comprobar todos los cambios de datos desde la interfaz de usuario de la aplicación, se recomienda instalar el Explorador de Azure Storage. Esta herramienta permite visualizar los datos que hay en Azure Storage y es de gran utilidad para tareas de depuración y aprendizaje.

Sugerencia

Para realizar pruebas en el editor de Unity, puede usar un emulador local:

Preparación de la escena

  1. En la ventana Hierarchy (Jerarquía), busque el objeto DataManager y selecciónelo.

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

    El componente DataManager (script) de la ventana Inspector contiene toda la configuración relacionada con Azure Storage. Todas las opciones pertinentes ya están configuradas, solo tiene que reemplazar el campo Connection String (Cadena de conexión) por el valor que recuperó en Azure Portal. Si usa una solución de emulador de Azure Storage local, puede mantener la cadena de conexión ya proporcionada o dejarla vacía.

    El DataManager (script) es responsable de comunicarse con el almacenamiento de tablas y el almacenamiento de blobs, y lo consumen otros scripts de controlador en los componentes de la interfaz de usuario.

Escritura y lectura de datos desde Azure Table Storage

Nota:

La creación y las pruebas de HoloLens 2 no son obligatorias. Si no tiene un dispositivo HoloLens, puede utilizar el Emulador de HoloLens 2 para realizar las pruebas. Puede adquirir dispositivos en HoloLens.com.

Una vez que todo está preparado, es el momento de crear un objeto con seguimiento.

  1. Abra la aplicación en el dispositivo HoloLens y seleccione Set Object (Establecer objeto). Aparecerá el objeto EnterObjectName activo en la jerarquía. Seleccione la Barra de búsqueda y escriba el nombre que desea darle al objeto con seguimiento. Después de proporcionar un nombre, seleccione el botón Establecer objeto. Esto crea el objeto con seguimiento en el almacenamiento de tablas de Azure. Se muestra la tarjeta del objeto.

    Esta tarjeta del objeto es una representación de la interfaz de usuario del objeto con seguimiento y tendrá un rol importante en esta serie de tutoriales.

  2. Ahora seleccione el cuadro de texto Descripción y escriba Car. Después, seleccione el botón Guardar para guardar los cambios. Detenga la aplicación y vuelva a ejecutarla.

  3. Seleccione Buscar objeto y escriba el nombre que escribió antes cuando creó el objeto con seguimiento en la barra de búsqueda. Verá la tarjeta del objeto con todos los datos recuperados de Azure Table Storage.

  4. Puede cerrar la tarjeta del objeto y seguir creando nuevos objetos con seguimiento y editando sus datos.

    Sugerencia

    Si ha instalado el Explorador de Azure Storage, encontrará el objeto con seguimiento en la tabla Objetos.

Carga y descarga de una imagen desde Azure Blob Storage

En esta sección, usará Azure Blob Storage para cargar y descargar imágenes que se usarán como miniaturas para los objetos con seguimiento.

Nota:

En este tutorial, la aplicación tomará fotos para cargar imágenes en Azure Blob Storage. Si lo ejecuta localmente desde el editor de Unity, asegúrese de que tiene una cámara web conectada al equipo.

  1. Abra la aplicación en el dispositivo HoloLens, seleccione Establecer objeto y escriba Car en la Barra de búsqueda. En la tarjeta del objeto, seleccione el botón Camera (Cámara). Se le indicará que haga una pulsación en el aire para tomar una foto. Después de tomar una foto, verá un mensaje que le informa sobre la carga activa y, al cabo de un momento, la imagen debe aparecer donde antes estaba el marcador de posición.

  2. Ahora, vuelva a ejecutar la aplicación y busque el objeto con seguimiento. La imagen cargada anteriormente debe aparecer como miniatura.

Eliminación de imágenes de Azure Blob Storage

En la sección anterior, cargó imágenes nuevas en Azure Blob Storage. En esta sección, eliminará la miniatura de una imagen de los objetos con seguimiento.

  1. Abra la aplicación en el dispositivo HoloLens, seleccione Establecer objeto y escriba Car en la Barra de búsqueda. En la tarjeta del objeto con la imagen en miniatura, seleccione el botón Delete (Eliminar). La imagen en miniatura se reemplaza por la imagen de un marcador de posición.

  2. Ahora vuelva a ejecutar la aplicación y busque el objeto con seguimiento de la miniatura que había eliminado. Solo debería ver la imagen del marcador de posición.