Este escenario es pertinente para las empresas que necesitan procesar imágenes.
Algunas aplicaciones posibles son clasificar las imágenes de un sitio web de moda, analizar texto e imágenes para reclamaciones de seguros o reconocer los datos de telemetría de capturas de pantalla de juegos. Tradicionalmente, las empresas necesitaban convertirse en expertos en modelos de aprendizaje automático, entrenar los modelos y, por último, ejecutar las imágenes en su proceso personalizado para extraer los datos de las imágenes.
Con los servicios de Azure tales como Computer Vision API y Azure Functions, las empresas pueden eliminar la necesidad de administrar servidores individuales, al tiempo que reducen los costos y aprovechan los conocimientos que Microsoft ya ha desarrollado alrededor del procesamiento de imágenes con Cognitive Services. En concreto, este es un escenario de ejemplo de procesamiento de imágenes. Si tiene distintas necesidades de inteligencia artificial, tenga en cuenta el conjunto completo de Cognitive Services.
Casos de uso pertinentes
Otros casos de uso pertinentes incluyen:
- Clasificar las imágenes en un sitio web de moda.
- Clasificar los datos de telemetría de las capturas de pantalla de juegos.
- Clasificar imágenes para las reclamaciones de seguros.
Architecture

Este escenario trata los componentes de back-end de una aplicación web o móvil. Los datos fluyen por el escenario de la siguiente manera:
- El nivel de API se ha creado con Azure Functions. Estas API permiten que la aplicación carguen imágenes y recuperen datos de Cosmos DB.
- Cuando se carga una imagen mediante una llamada API, se almacena en Blob Storage.
- Al agregar nuevos archivos a Blob Storage, se desencadena el envío de una notificación de Event Grid a Azure Functions.
- Azure Functions envía un vínculo al nuevo archivo cargado a Computer Vision API para su análisis.
- Una vez que hayan obtenido los datos de Computer Vision API, Azure Functions crea una entrada en Cosmos DB para conservar los resultados del análisis junto con los metadatos de la imagen.
Componentes
- Computer Vision API es parte del conjunto de productos Cognitive Services y se usa para recuperar información acerca de cada imagen.
- Azure Functions proporciona la API de back-end para la aplicación web, así como el procesamiento de eventos de las imágenes cargadas.
- Event Grid desencadena un evento cuando se carga una nueva imagen en Blob Storage. A continuación, la imagen se procesa con Azure Functions.
- Blob Storage almacena todos los archivos de imagen que se cargan en la aplicación web, así como también los archivos estáticos que consume la aplicación web.
- Cosmos DB almacena los metadatos de cada imagen que se haya cargado, incluidos los resultados del procesamiento de Computer Vision API.
Alternativas
- Custom Vision Service. Computer Vision API devuelve un conjunto de categorías basadas en la taxonomía. Si necesita procesar la información que Computer Vision API no devuelve, considere la posibilidad de usar Custom Vision Service, que permite crear clasificadores de imágenes personalizados.
- Cognitive Search (anteriormente Azure Search). Si su caso de usuario implica consultar los metadatos para buscar las imágenes que cumplen determinados criterios, considere la posibilidad de usar Cognitive Search. Actualmente en versión preliminar, Cognitive Search se integra sin problemas en este flujo de trabajo.
- Logic Apps. Si no necesita reaccionar en tiempo real a los archivos agregados a un blob, puede considerar el uso de Logic Apps. Una aplicación lógica que puede comprobar si se ha agregado un archivo podría iniciarse con el desencadenador de periodicidad o el desencadenador de ventana deslizante.
Consideraciones
Escalabilidad
La mayoría de los componentes usados en este escenario de ejemplo son servicios administrados que escalan automáticamente. Hay un par de excepciones destacables: Azure Functions tiene un límite máximo de 200 instancias. Si necesita escalar más allá de este límite, considere la posibilidad de usar varias regiones o planes de aplicación.
Solo puede aprovisionar Cosmos DB a escalado automático para la API de SQL únicamente. Si tiene pensado usar otras API, consulte unidades de solicitud en nuestra documentación para obtener instrucciones sobre cómo calcular los requisitos. Para aprovechar al máximo el escalado en Cosmos DB, sepa cómo funcionan las claves de partición en CosmosDB.
Las bases de datos NoSQL suelen renunciar a la coherencia (en el sentido del teorema CAP) frente a la disponibilidad, escalabilidad y creación de particiones. En este escenario de ejemplo, se usa un modelo de datos de pares clave-valor y la coherencia de la transacción rara vez es necesaria porque, por definición, la mayoría de las operaciones son atómicas. Para más información sobre cómo elegir el almacén de datos correcto, consulte el Centro de arquitectura de Azure. Si su implementación requiere una coherencia alta, puede elegir su nivel de coherencia en CosmosDB.
Para obtener instrucciones generales sobre cómo diseñar soluciones escalables, consulte la lista de comprobación de eficiencia del rendimiento en el Centro de arquitectura de Azure.
Seguridad
Managed Service Identities para recursos de Azure (MSI) se utiliza para proporcionar a otros recursos internos acceso a su cuenta y, a continuación, se asigna a Azure Functions. Permita el acceso solo a los recursos necesarios en esas identidades para evitar exponer nada que no sea necesario a las funciones (y, potencialmente, a sus clientes).
Para instrucciones generales de diseño de soluciones seguras, consulte Documentación de Azure Security Center.
Resistencia
En este escenario, todos los componentes son administrados, por lo que, en un nivel regional, son resistentes de forma automática.
Para obtener instrucciones generales sobre el diseño de soluciones resistentes, consulte Diseño de aplicaciones resistentes de Azure.
Precios
Para explorar el costo de ejecutar este escenario, todos los servicios están preconfigurados en la calculadora de costos. Para ver cómo cambiarían los precios en su caso concreto, cambie las variables pertinentes para que coincidan con el tráfico esperado.
Hemos proporcionado tres ejemplos de perfiles de costo según la cantidad de tráfico (hemos dado por hecho que todas las imágenes tienen un tamaño de 100 KB):
- Pequeño: se corresponde con un procesamiento de menos de 5000 imágenes al mes.
- Mediano: se corresponde con un procesamiento de 500 000 imágenes al mes.
- Grande: se corresponde con un procesamiento de 50 millones de imágenes al mes.
Recursos relacionados
Para conocer una ruta de aprendizaje guiado, consulte:
- Compilación de una aplicación web sin servidor en Azure.
- Clasificación de imágenes con el servicio Custom Vision
- Uso de IA para reconocer objetos en imágenes con el servicio Custom Vision
- Clasificación de especies de pájaros en peligro con Custom Vision
- Clasificar imágenes con Microsoft Custom Vision Service
- Detección de objetos en imágenes con el servicio Custom Vision
Antes de implementar este escenario de ejemplo en un entorno de producción, consulte los procedimientos recomendados para optimizar el rendimiento y confiabilidad de Azure Functions.