Introducción

Las Aplicaciones Lógicas de Azure (Azure Logic Apps) son un servicio en la nube que permite a los desarrolladores automatizar flujos de trabajo y procesos empresariales sin necesidad de escribir código. Este servicio es ideal para integrar aplicaciones, datos, sistemas y servicios en diferentes entornos empresariales.

Objetivos del Módulo

  • Comprender qué son las Aplicaciones Lógicas de Azure y sus casos de uso.
  • Aprender a crear y configurar una Aplicación Lógica.
  • Conocer los componentes principales de una Aplicación Lógica.
  • Implementar flujos de trabajo básicos y avanzados.
  • Integrar Aplicaciones Lógicas con otros servicios de Azure y terceros.

¿Qué son las Aplicaciones Lógicas de Azure?

Las Aplicaciones Lógicas de Azure permiten la creación de flujos de trabajo automatizados que pueden integrar y coordinar diferentes servicios y aplicaciones. Estos flujos de trabajo se definen mediante una interfaz gráfica de usuario, lo que facilita su creación y mantenimiento.

Casos de Uso Comunes

  • Automatización de procesos empresariales: Automatizar tareas repetitivas como la aprobación de documentos, la gestión de pedidos, etc.
  • Integración de sistemas: Conectar diferentes sistemas y aplicaciones, tanto en la nube como on-premises.
  • Procesamiento de datos: Transformar y mover datos entre diferentes servicios y bases de datos.

Componentes Principales

  1. Conectores: Permiten la integración con diferentes servicios y aplicaciones. Existen conectores para servicios de Azure, aplicaciones SaaS, bases de datos, etc.
  2. Acciones: Tareas que se ejecutan dentro del flujo de trabajo, como enviar un correo electrónico, crear un registro en una base de datos, etc.
  3. Desencadenadores (Triggers): Eventos que inician el flujo de trabajo, como la recepción de un correo electrónico, la creación de un archivo en un almacenamiento, etc.
  4. Condiciones y bucles: Permiten la ejecución condicional y repetitiva de acciones dentro del flujo de trabajo.

Creación de una Aplicación Lógica

Paso 1: Crear una Aplicación Lógica

  1. Inicia sesión en el Portal de Azure.
  2. Navega a "Crear un recurso" y selecciona "Aplicación Lógica".
  3. Completa los detalles necesarios como el nombre, la suscripción, el grupo de recursos y la ubicación.
  4. Haz clic en "Crear".

Paso 2: Configurar el Desencadenador

  1. Una vez creada la Aplicación Lógica, abre el diseñador de aplicaciones lógicas.
  2. Selecciona un desencadenador adecuado para tu flujo de trabajo. Por ejemplo, "Cuando se recibe un correo electrónico" para iniciar el flujo cuando se recibe un correo en una cuenta específica.

Paso 3: Agregar Acciones

  1. Después de configurar el desencadenador, agrega acciones que se ejecutarán en respuesta al desencadenador.
  2. Por ejemplo, puedes agregar una acción para enviar un correo electrónico de respuesta, crear un registro en una base de datos, etc.

Ejemplo Práctico

A continuación, se muestra un ejemplo de cómo crear una Aplicación Lógica que envía un correo electrónico de bienvenida cuando se recibe un nuevo correo en una cuenta específica.

{
    "definition": {
        "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
        "actions": {
            "Send_an_email_(V2)": {
                "inputs": {
                    "body": {
                        "Content": "Bienvenido a nuestro servicio!",
                        "To": "[email protected]",
                        "Subject": "Bienvenido"
                    },
                    "host": {
                        "connection": {
                            "name": "@parameters('$connections')['office365']['connectionId']"
                        }
                    },
                    "method": "post",
                    "path": "/v2/Mail"
                },
                "runAfter": {},
                "type": "ApiConnection"
            }
        },
        "triggers": {
            "When_a_new_email_arrives_(V2)": {
                "inputs": {
                    "host": {
                        "connection": {
                            "name": "@parameters('$connections')['office365']['connectionId']"
                        }
                    },
                    "method": "get",
                    "path": "/v2/Mail"
                },
                "recurrence": {
                    "frequency": "Minute",
                    "interval": 1
                },
                "type": "ApiConnection"
            }
        }
    },
    "parameters": {
        "$connections": {
            "value": {
                "office365": {
                    "connectionId": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/connections/office365",
                    "connectionName": "office365",
                    "id": "/subscriptions/{subscription-id}/providers/Microsoft.Web/locations/{location}/managedApis/office365"
                }
            }
        }
    }
}

Explicación del Código

  • Desencadenador: When_a_new_email_arrives_(V2) se configura para verificar la llegada de nuevos correos electrónicos cada minuto.
  • Acción: Send_an_email_(V2) envía un correo electrónico de bienvenida al nuevo usuario.

Ejercicio Práctico

Ejercicio 1: Crear una Aplicación Lógica para Notificar Nuevos Archivos en Blob Storage

Objetivo: Crear una Aplicación Lógica que envíe una notificación por correo electrónico cuando se cargue un nuevo archivo en un contenedor de Azure Blob Storage.

Pasos:

  1. Crear una Aplicación Lógica en el Portal de Azure.
  2. Configurar el desencadenador "Cuando se agregue un blob" para el contenedor de Blob Storage.
  3. Agregar una acción para enviar un correo electrónico utilizando el conector de Office 365.

Solución:

{
    "definition": {
        "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
        "actions": {
            "Send_an_email_(V2)": {
                "inputs": {
                    "body": {
                        "Content": "Se ha cargado un nuevo archivo en el contenedor de Blob Storage.",
                        "To": "[email protected]",
                        "Subject": "Nuevo archivo cargado"
                    },
                    "host": {
                        "connection": {
                            "name": "@parameters('$connections')['office365']['connectionId']"
                        }
                    },
                    "method": "post",
                    "path": "/v2/Mail"
                },
                "runAfter": {},
                "type": "ApiConnection"
            }
        },
        "triggers": {
            "When_a_blob_is_added_or_modified_(V2)": {
                "inputs": {
                    "host": {
                        "connection": {
                            "name": "@parameters('$connections')['azureblob']['connectionId']"
                        }
                    },
                    "method": "get",
                    "path": "/v2/datasets/default/triggers/onupdatedfile"
                },
                "recurrence": {
                    "frequency": "Minute",
                    "interval": 1
                },
                "type": "ApiConnection"
            }
        }
    },
    "parameters": {
        "$connections": {
            "value": {
                "azureblob": {
                    "connectionId": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/connections/azureblob",
                    "connectionName": "azureblob",
                    "id": "/subscriptions/{subscription-id}/providers/Microsoft.Web/locations/{location}/managedApis/azureblob"
                },
                "office365": {
                    "connectionId": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/connections/office365",
                    "connectionName": "office365",
                    "id": "/subscriptions/{subscription-id}/providers/Microsoft.Web/locations/{location}/managedApis/office365"
                }
            }
        }
    }
}

Explicación del Código

  • Desencadenador: When_a_blob_is_added_or_modified_(V2) se configura para verificar la adición o modificación de blobs en el contenedor de Blob Storage cada minuto.
  • Acción: Send_an_email_(V2) envía una notificación por correo electrónico cuando se detecta un nuevo archivo.

Conclusión

Las Aplicaciones Lógicas de Azure son una herramienta poderosa para automatizar flujos de trabajo y procesos empresariales sin necesidad de escribir código. Con una amplia variedad de conectores y acciones, puedes integrar fácilmente diferentes servicios y aplicaciones para crear soluciones eficientes y escalables.

En el siguiente módulo, exploraremos los Servicios Cognitivos de Azure, que te permitirán agregar capacidades de inteligencia artificial a tus aplicaciones.

© Copyright 2024. Todos los derechos reservados