#Flow –Analyzing images in #Sharepoint Lists using #CognitiveServices

Hi!

One of the examples of using Cognitive Services that I commented during the Global Azure Bootcamp was the automatic analysis of information on items in SharePoint lists. To achieve this we can create a Flow with the following steps

  • Trigger, Flow is triggered when a new Item is added to the SharePoint list
  • Get the contents of the file associated with the Item in the SharePoint list
  • Use Cognitive Services to obtain the tags and the description of the image
  • Update the Item Description with the information returned by CS

I1

After uploading a couple of images to the Sharepoint list we can see that the process works correctly

I11

If we see the description of each of the items we can see that the items have been updated correctly

 

The historical also shows us the correct step by step.

I2

However, in the history of 5 images, there are 2 that have failed. One of the advantages of working with Flow, is that, in the history of executions, it is easy to verify what step has failed. In this case, the last 2 images do not have the correct format to be analyzed with Cognitive Services

I3

Happy Coding!

Greetings @ Toronto

El Bruno

References

My posts on Flow

Advertisements

#Flow – Analizando imágenes en Listas de #Sharepoint utilizando #CognitiveServices

Buenas!

Uno de los ejemplos de utilización de Cognitive Services que comente durante el Global Azure Bootcamp consistía en el análisis automático de información en ítems de listas de SharePoint. Para lograr esto podemos crear un Flow con los siguientes pasos

  • Trigger, el Flow se dispara cuando se agrega un nuevo Item en la lista de SharePoint
  • Obtener el contenido del archivo asociado al Item de la lista de SharePoint
  • Utilizar Cognitive Services para obtener los tags y la descripción de la imagen
  • Actualizar la Descripción del Item con la información retornada por CS

I1

Luego de subir un par de imágenes a la lista de Sharepoint podremos ver que el proceso funciona correctamente

I11

Si vemos la descripción de cada uno de los ítems podremos ver que los ítems se han actualizado correctamente

 

El histórico también nos muestra el paso a paso correcto.

I2

Sin embargo, en el histórico de 5 imágenes, hay 2 que han fallado. Una de las ventajas de trabajar con Flow, es que, en el histórico de ejecuciones, es fácil comprobar que paso ha fallado. En este caso, las ultimas 2 imágenes no tienen el formato correcto para ser analizadas con Cognitive Services

I3

En próximos posts, otros escenarios donde utilizar CS puede ayudarnos con tareas del día a día.

Happy Coding!

Greetings @ Toronto

El Bruno

References

My posts on Flow

#Flow – New feature: Approval reassignment

Hi !

April arrives and one of the most required features in Microsoft Flow is released in Release mode

The ability to reassign an Approval task

 

I1

The scenarios where to use this type of feature are varied, and the operation is quite simple. In the advanced options of an Approval, you can see the option to redirect this task using the name or email address of the person.

I3

Once the task is reassigned, this person will see it in their pending list and will be able to work with it.

Happy Coding!

Greetings @ Toronto

El Bruno

References

My posts on Flow

#Flow – Reasignado una tarea de aprobación

Buenas!

Llega Abril y una de las Features mas requeridas en Microsoft Flow se libera en modo Release

La capacidad de reasignar una tarea de Approval

I1

Los escenarios donde utilizar este tipo de feature son variados, y el funcionamiento es bastante simple. En las opciones avanzadas de un Approval, se puede ver la opción de redirigir esta tarea utilizando el nombre o dirección de email de la persona.

I3

Una vez reasignada la tarea, esta persona la vera en su listado de pendientes y podrá trabajar con la misma.

Happy Coding!

Saludos @ Toronto

El Bruno

References

My posts on Flow

#Flow – Analyzing images in 3 steps with Microsoft Flow and Computer Vision #CognitiveServices

Hi!

Today I put on hole my posts on Project Malmo and Minecraft, because thanks to some new connectors in Microsoft Flow, I was able to create an image analysis Mobile App in a matter of minutes.

When we create a Flow triggered using a button, we have a new data type [File] for input data. If we use a File as the start of a Flow, and a Computer Vision activity, we can create a simple 3-step process for analyzing photos.

I1

As I commented earlier, in the Button we created an input field of the type File.

I2

Then we used the File Content of the previous step in a Computer Vision action to get the image description.

I3

And finally we show the description returned by the Cognitive Services action in a notification to the mobile device.

I4

If we launch our Flow, we will see that at the time of selecting a file we can take a photo using our smart phone or select one from the photo gallery

I5

For this sample, I’ll use a simple one: a couple of toys in my desk

I6

The process begins to work, uploading the photo to a temporary location so the Computer Vision process can analyze it

I7

And a few seconds later we have the result that in this case, is 100% correct!

I8

 

Happy Coding!

Saludos @ Burlington

El Bruno

References

My posts on Flow

#Flow – Analizando imágenes en 3 pasos con Microsoft Flow y Computer Vision #CognitiveServices

Hola!

Hoy pongo los posts sobre Project Malmo y Minecraft on Hold, ya que, gracias a algunos nuevos conectores en Microsoft Flow, he podido crear una App móvil para análisis de imágenes en cuestión de minutos.

Pues bien, si creamos un Flow que se inicie utilizando un Button, ahora tenemos el tipo de dato [File], que podemos utilizar cuando se lanza un Flow. Si utilizamos un File como inicio de un Flow, y una actividad de Computer Vision, podemos crear un proceso simple de 3 pasos para analizar fotos.

I1

Como comenté antes, en el Button creamos un input field del tipo File.

I2

Luego utilizamos el File Content del paso anterior en una acción de Computer Vision para describir esa imagen.

I3

Y finalmente mostramos la descripción que nos retorna Cognitive Services en una notificación.

I4

Si lanzamos nuestro Flow, veremos que al momento de seleccionar un archivo podemos sacar una foto o seleccionar una de la galería de fotos

I5

En mi caso, algo simple, 2 juguetes de mi escritorio

I6

El proceso comienza a trabajar, subiendo la foto a una ubicación temporal para que Computer Vision la pueda procesar

I7

Y pocos segundos después ya tenemos el resultado que en este caso, es 100% correcto!

I8

 

Happy Coding!

Saludos @ Burlington

El Bruno

References

My posts on Flow

#Flow – Using configuration information from an App using #OneDrive, #Excel, Microsoft Flow and HTTP Requests

 

Hi!

It is no news that Developers and Business Users speak different languages. This is why, sometimes when I ask a business User to update a configuration file, it usually does not ends well. It happened to me when sharing [.json], [.config], or [.xml] files,
these users do not know which tool to use to edit the values, and also happens that a plain text format, is often not intuitive for them.

That’s why a while ago, I took a different approach: I decided to adapt myself to their tools and ways to work. In a nutshell the working model with these files is as follows

 

  • Business Users: Microsoft Excel
  • Developers: Json

And as we are in a time where [Serverless] is the premise, I challenged myself to see if I could do it without writing a single line of code. To do this, use Microsoft Flow as the base integrating information store in OneDrive with Excel files and interacting with the flow using HTTP requests.

The first thing was to create a spreadsheet with information to share, in this case a list of users, email accounts and twitter.

I1

The, I saved the file in OneDrive and I grant access to the file to my Business Users. They can happily edit the file now.

I2

And then I created a Flow to access to this configuration file but in a developer mode. The Flow is using an HTTP Request as the trigger, then it reads the information from the Excel file and it closes with an standard HTTP Response including the content of the Excel file in Json format.

I3

There is only one tricky step here, and is when we need to build the Json response. To do this, I use a simple Flow Expression working with the main body of the Excel file.

I4

When we save the Flow, we can access to the public URL where the flow is published. This is the URL we can use in our Apps to access to this information. To test this without a full .Net App, we can use Postman (I wrote about this some time ago). 1 Url copy and 2 clicks later, and we can see the HTTP response with the configuration information in Json..

I5

As soon as Flow uses this Excel file, we will see a new column in the excel file [__PowerAppsId__]. We should not  delete this column. The easy way to explain this is: Flow uses this column as base to check where / when a file was accessed and to see the changes on this.

However we can add more information to the file, and if we want, an extra column with new information, in example:

I6

As soon as the changes are reflected and stored in OneDrive, a new request to our Flow will return a new complete Json response with the new column and the new rows.

I7

As a ZERO CODE solution, this rocks! and it rocks twice if you also gives your users the chance to use Excel as a edition tool for this.

Happy Coding!

Greetings @ Toronto

El Bruno

References

Tools

My posts on Logic Apps

My posts on Flow

 

#Flow – Manejando información de configuración de Apps con #OneDrive, #Excel, Microsoft Flow y peticiones HTTP

 

Hola!

No es ninguna novedad que los developers y los usuarios de negocios hablamos lenguajes diferentes. Es por esto, que en algunas ocasiones pedir a un usuario de negocio que actualice un archivo de configuración puede no ser una buena idea. Me ha sucedido que al compartir archivos [.json], [.config] o [.xml], estos usuarios no saben que herramienta utilizar para editar los valores, y también sucede que un formato de texto plano, suele no ser intuitivo para ellos.

Es por eso que hace un tiempo, tomé un enfoque diferente: decidí adaptarme a sus herramientas. En pocas palabras el modelo de trabajo con estos archivos es el siguiente

  • Business Users: Microsoft Excel
  • Developers: Json

Y como estamos en una época donde [Serverless] es la premisa, me desafié a mí mismo, para ver si podía hacerlo sin tocar una línea de código. Para esto utilice como base Microsoft Flow integrando los servicios de OneDrive, Excel e interactuando con peticiones HTTP.

Lo primero fue crear una hoja de cálculo con información a compartir, en este caso un listado de usuarios, cuentas de email y twitter.

I1

Luego almacene el archivo de Excel en OneDrive y compartir acceso con el usuario de Negocio que la editara.

I2

El Flow para consultar la información, se dispara con una petición HTTP Request, luego se lee la información de Excel desde OneDrive y se retorna la misma en una HTTP Response.

I3

El único paso donde se requiere una configuración especial es en la creación del Response, ya que utilizo una Expression del tipo String para crear el response con la información completa de las filas de Excel.

I4

Pues bien, al guardar el Flow, el mismo crea la Url donde podemos invocar al mismo. Como explique en un post anterior, podemos utilizar Postman para probar este tipo de Flows, en este caso un simple HTTP POST Request y ya tenemos nuestra información en formato Json.

I5

A partir de ahora, en nuestra hoja Excel ahora veremos una nueva columna llamada [__PowerAppsId__] que es la que utiliza Flow para tener un Track de los accesos y el trabajo con esta hoja de cálculo. Es importante explicar a nuestros usuarios que esta columna no debe ser modificada. Si por ejemplo agregamos una nueva columna y más información al archivo Excel podremos ver algo similar a la siguiente imagen.

I6

Si realizamos una nueva petición, podremos ver que el Response incluye los nuevos campos y los nuevos registros.

I7

Pues bien, como solución ZERO CODE para compartir y editar información de con usuarios de negocios, me parece que esto es suficiente.

Happy Coding!

Saludos @ Toronto

El Bruno

References

Tools

My posts on Logic Apps

My posts on Flow

 

#LogicApps – Introduction and main differences with Microsoft Flow #MSFlow

Hello!

After writing a lot about Microsoft Flow (see References), it’s time to move on with his older brother: Azure Logic Apps. To get an idea of the relationship between the two products, it’s best to start with

Microsoft Flow is built on the features and architecture provided by Azure Logic Apps.

Both tools give us the ability to define processes using a visual designer, they have hundreds of connectors for Microsoft tools and 3rd party services. And these processes are started by a trigger. The main advantage behind Microsoft Flow and Logic Apps is that complex processes can be approached quickly and simply.

Another important point is that there are many templates that solve the most common problems that we can find. And, we also have the option to use a template as a starting point for solving a problem.

If we get formal, both platforms would be part of

IPaaS, Integration Platform as a Service

Note: If with IaaS, PaaS and Saas you had no enough, then take IPaas!

Now, I return to the post title question; What is the difference between Microsoft Flow and Logic Apps? The following table of LogicApps’s official documentation explains it very clearly

I1

Well, now that we’ve seen that Logic Apps is Microsoft Flow on steroids, it’s time to start writing posts explaining a little more about advanced scenarios that we can implement with logic apps. Logic apps focuses on it role-oriented, mission-driven scenarios Criticizes and also supports advanced features like editing the code of a process.

This also guarantees that we will be able to define a development life cycle for the Logic Apps (ALM rules!) processes. And finally we will be able to integrate and use Azure services like Azure Security or azure Logs in our Logic Apps processes.

Happy Coding!

Greetings @ Toronto

El Bruno

References

My posts on Flow

 

#LogicApps – Intro y diferencias con Microsoft Flow #MSFlow

Hola!

Después de escribir bastante sobre Microsoft Flow (ver referencias), es momento de pasar a su hermano mayor: Azure Logic Apps. Para tener una idea de la relación entre ambos productos, lo mejor es empezar por

Microsoft Flow está construido sobre las funcionalidades y arquitectura que provee Azure Logic Apps.

Ambas herramientas nos brindan la capacidad de definir procesos utilizando un diseñador visual, poseen cientos de conectores para herramientas de Microsoft y de 3ras partes; y estos procesos se disparan por un trigger. La principal ventaja que se esconde detrás de Microsoft Flow y Logic Apps es que procesos complejos pueden ser abordados de manera rápida y simple.

Otro punto importante reside en que existen muchas plantillas que solucionan los problemas más comunes que podemos encontrar. Y, también tenemos la opción de utilizar una plantilla como un punto de partida para la solución de un problema.

Si nos ponemos formales, ambas plataformas serian parte de

iPaaS, Integration Platform as a Service

Nota: Si con IaaS, PaaS y Saas no tenías sufiente, pues toma iPaas!

Ahora bien, vuelvo a la pregunta título del post; ¿Qué diferencia existe entre Microsoft Flow y Logic Apps? La siguiente tabla de la documentación oficial de LogicApps lo explica muy claramente

I1

Pues bien, ahora que hemos visto que Logic Apps es MS Flow con esteroides, es momento de empezar a escribir posts explicando un poco más sobre escenarios avanzados que podemos implementar con Logic Apps.Logic Apps se enfoca en escenarios orientados a roles de IT, de misión critica y además soporta Features avanzadas como la edición del código de un proceso.

Esto también nos garantiza que podremos definir un ciclo de vida de desarrollo para los procesos de Logic Apps (ALM rules!). Y finalmente que podremos integrar y utilizar servicios de Azure como Azure Security o Azure Logs en nuestros procesos de Logic Apps.

Happy Coding!

Saludos @ Toronto

El Bruno

References

My posts on Flow