Compartir a través de


Conexión a bases de datos SQL desde flujos de trabajo en Azure Logic Apps

Se aplica a: Azure Logic Apps (consumo + estándar)

En esta guía se muestra cómo acceder a la base de datos SQL desde un flujo de trabajo de Azure Logic Apps mediante el conector de SQL Server. A continuación, puede crear flujos de trabajo automatizados que se ejecuten cuando se desencadenen mediante eventos en la base de datos SQL o en otros sistemas, y ejecutar acciones para administrar los datos y recursos de SQL.

Por ejemplo, el flujo de trabajo puede ejecutar acciones que obtienen, insertan y eliminan datos o que pueden ejecutar consultas y procedimientos almacenados SQL. El flujo de trabajo puede comprobar si hay registros nuevos en una base de datos que no es SQL, realizar algún trabajo de procesamiento, usar los resultados para crear nuevos registros en la base de datos SQL y enviar alertas por correo electrónico sobre los nuevos registros.

Si no está familiarizado con Azure Logic Apps, consulte los artículos siguientes para empezar:

Ediciones compatibles de SQL

El conector de SQL Server admite las siguientes ediciones de SQL:

Referencia técnica del conector

El conector de SQL Server tiene diferentes versiones, en función del tipo de aplicación lógica y del entorno de host.

Aplicación lógica Entorno Versión del conector
Consumo Azure Logic Apps multiinquilino Conector administrado, que aparece en la galería de conectores en Compartido. Para más información, revise la siguiente documentación:

- Referencia del conector administrado por SQL Server
- Conectores administrados en Azure Logic Apps
Estándar Azure Logic Apps de inquilino único y App Service Environment v3 (solo planes de Windows) Conector administrado, que aparece en la galería de conectores en Compartido, y conector integrado, que aparece en la galería de conectores en Integrado y que se basa en el proveedor de servicios. El conector integrado difiere de las siguientes maneras:

: el conector integrado puede conectarse directamente a una base de datos SQL y acceder a redes virtuales de Azure mediante una cadena de conexión sin una puerta de enlace de datos local.

Para más información, revise la siguiente documentación:

- Referencia del conector administrado por SQL Server
- Referencia del conector integrado de SQL Server
- Conectores integrados en Azure Logic Apps

Limitaciones

Para obtener más información, revise la referencia del conector administrado de SQL Server o la referencia del conector integrado de SQL Server.

Requisitos previos

  • Una cuenta y una suscripción de Azure. Si aún no tiene una, regístrese para obtener una cuenta de Azure gratuita.

  • Una base de datos SQL Server o Azure SQL Database o, alternativamente, una instancia de SQL Managed Instance.

    Para que las operaciones del conector puedan devolver resultados cuando se las llama, el conector de SQL Server es necesario que las tablas contengan datos. Por ejemplo, si usa Azure SQL Database, puede usar las bases de datos de ejemplo incluidas para probar las operaciones del conector de SQL Server.

  • La información necesaria para crear una conexión a una base de datos SQL, como el nombre del servidor SQL y el nombre de la base de datos. Si usa la autenticación de Windows o SQL Server para autenticar el acceso, también necesitará el nombre de usuario y la contraseña. Normalmente, podrá encontrar esta información en la cadena de conexión.

    Importante

    Si usa una cadena de conexión de SQL Server que copió directamente desde Azure Portal, debe agregar manualmente la contraseña a la cadena de conexión. Para la información confidencial, como esta cadena, asegúrese de usar el flujo de autenticación más seguro disponible. Microsoft recomienda autenticar el acceso a los recursos de Azure con una identidad administrada siempre que sea posible y asignar un rol que tenga los privilegios mínimos necesarios.

    Si esta capacidad no está disponible, asegúrese de proteger las cadenas de conexión mediante otras medidas, como Azure Key Vault, que puede usar con la configuración de la aplicación en los flujos de trabajo estándar. De ese modo, puede hacer referencia directamente a cadenas seguras, como claves y cadenas de conexión. De forma similar a las plantillas de ARM, donde puede definir variables de entorno en el momento de la implementación, puede definir la configuración de la aplicación dentro de la definición de flujo de trabajo estándar de la aplicación lógica. A continuación, puede capturar valores de infraestructura generados dinámicamente, como puntos de conexión, cadenas de almacenamiento, etc. Para más información, consulte Tipos de aplicaciones para la Plataforma de identidad de Microsoft.

    • En las bases de datos SQL en Azure, las cadenas de conexión tienen el siguiente formato:

      Server=tcp:{your-server-name}.database.windows.net,1433;Initial Catalog={your-database-name};Persist Security Info=False;User ID={your-user-name};Password={your-password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;

      1. Para buscar esta cadena en Azure Portal, abra la base de datos.

      2. En el menú de la base de datos, vaya a Propiedades y seleccione Cadenas de conexión.

    • En los servidores SQL locales, las cadenas de conexión tienen el siguiente formato:

      Server={your-server-address};Database={your-database-name};User Id={your-user-name};Password={your-password};

  • En flujos de trabajo Estándar, para usar los desencadenadores integrados de SQL, debe habilitar el seguimiento de cambios en la tabla donde desea usar el desencadenador. Para obtener más información, consulte Habilitar y deshabilitar el seguimiento de cambios.

  • El flujo de trabajo de la aplicación lógica desde donde quiere acceder a la base de datos SQL. Para iniciar el flujo de trabajo mediante un desencadenador de SQL Server, deberá empezar con un flujo de trabajo en blanco. Para usar una acción de SQL Server, inicie el flujo de trabajo con cualquier desencadenador.

  • Para conectarse a una instancia de SQL Server local, se aplican los siguientes requisitos adicionales, en función de si tiene un flujo de trabajo de aplicación lógica de consumo o estándar.

    • Flujo de trabajo de consumo:

      En escenarios con el modelo multiinquilino de Azure Logic Apps, necesitará haber instalado la puerta de enlace de datos local en un equipo local y un recurso de puerta de enlace de datos que ya se haya creado en Azure.

    • Flujo de trabajo estándar:

      Puede usar el conector integrado SQL Server o el conector administrado.

      • Para usar la autenticación de Microsoft Entra o la autenticación de identidad administrada con la aplicación lógica, debe configurar SQL Server para que funcione con estos tipos de autenticación. Para más información, consulte Autenticación: referencia del conector administrado de SQL Server.

      • Para usar el conector integrado, puede autenticar la conexión con una identidad administrada, Microsoft Entra ID o una cadena de conexión. Puede ajustar la agrupación de conexiones especificando parámetros en la cadena de conexión. Para obtener más información, revise Connection Pooling (Agrupación de conexiones).

      • Para usar el conector administrado de SQL Server, siga los mismos requisitos que para los flujos de trabajo de aplicaciones lógicas de consumo en la modalidad multiinquilino de Azure Logic Apps. Para conocer otros requisitos del conector, revise la referencia del conector administrado de SQL Server.

Adición de un desencadenador de SQL Server

Aunque en los siguientes pasos se usa Azure Portal, también puede usar las siguientes herramientas para crear flujos de trabajo de aplicaciones lógicas si usa la extensión Azure Logic Apps adecuada:

  1. En Azure Portal, abra el recurso de la aplicación lógica de consumo.

  2. En el menú de la barra lateral del recurso, en Herramientas de desarrollo, seleccione el diseñador para abrir el flujo de trabajo en blanco.

  3. Agregue el desencadenador administrado de SQL Server que desee para su escenario siguiendo los pasos generales para agregar un desencadenador.

    Este ejemplo continúa con el desencadenador de SQL Server denominado Cuando se crea un elemento.

  4. Si se le solicita, proporcione la información para la conexión. Cuando haya terminado, seleccione Crear nuevo.

  5. Una vez que aparezca el cuadro de información del desencadenador, proporcione la información necesaria requerida por el desencadenador seleccionado.

    En este ejemplo, en el desencadenador denominado Cuando se crea un elemento, proporcione los valores para el nombre de la base de datos y el nombre del servidor de SQL, si no los proporcionó anteriormente. De lo contrario, seleccione la tabla que desea usar en la lista Nombre de tabla. Seleccione la Frecuencia e Intervalo para establecer la programación del desencadenador para comprobar si hay nuevos elementos.

    Captura de pantalla que muestra el diseñador de flujo de trabajo de Consumo y la acción administrada denominada Cuando se crea un elemento.

  6. Agregue cualquier otro parámetro disponible que desee de la lista Parámetros avanzados .

    Este desencadenador solo devuelve una fila de la tabla seleccionada. Para realizar otras tareas, agregue una Acción del conector de SQL Server u otra acción que realice la siguiente tarea que desee en el flujo de trabajo de la aplicación lógica.

    Por ejemplo, para ver los datos de esta fila, puede agregar otras acciones que creen un archivo que incluya los campos de la fila devuelta y, luego, que luego envíen alertas por correo electrónico. Para información sobre otras acciones disponibles para este conector, consulte la página de referencia del conector administrado por SQL Server.

  7. Cuando haya terminado, guarde el flujo de trabajo. En la barra de herramientas del diseñador, seleccione Save (Guardar).

Al guardar el flujo de trabajo, este paso publica automáticamente las actualizaciones en la aplicación lógica implementada, que se encuentra en Azure. Con solo un desencadenador, el flujo de trabajo solo comprueba la base de datos SQL en función de la programación especificada. Tiene que añadir una acción que responda al desencadenador.

Adición de una acción de SQL Server

Aunque en los siguientes pasos se usa Azure Portal, también puede usar las siguientes herramientas para crear flujos de trabajo de aplicaciones lógicas si usa la extensión de Azure Logic Apps adecuada:

En el siguiente ejemplo, el flujo de trabajo de la aplicación lógica empieza con el desencadenador de periodicidad y llama a una acción que obtiene una fila de una base de datos SQL.

  1. En Azure Portal, abra el recurso de la aplicación lógica de consumo.

  2. En el menú de la barra lateral del recurso, en Herramientas de desarrollo, seleccione el diseñador para abrir el flujo de trabajo.

  3. Agregue la acción administrada de SQL Server que desee siguiendo los pasos generales para agregar una acción.

    Este ejemplo continúa con la acción de SQL Server denominada Obtener fila, que obtiene un único registro.

  4. Si se le solicita, proporcione la información para la conexión. Seleccione Crear cuando haya terminado.

  5. Una vez que aparezca el cuadro de información de acción, en la lista Nombre de tabla, seleccione la tabla que desea usar. En la propiedad Id. de fila, escriba el id. del registro que desee usar.

    En este ejemplo, el nombre de la tabla es SalesLT.Customer.

    Captura de pantalla que muestra el diseñador de flujo de trabajo de Consumo y la acción denominada Obtener fila con el nombre de la tabla de ejemplo y el identificador de fila vacío.

    Esta acción únicamente devuelve una fila de la tabla seleccionada. Para ver los datos de esta fila, agregue otras acciones. Por ejemplo, estas acciones pueden crear un archivo, incluir los campos de la fila devuelta y almacenar el archivo en una cuenta de almacenamiento en la nube. Para información sobre otras acciones disponibles para este conector, consulte la página de referencia del conector.

  6. Cuando haya terminado, guarde el flujo de trabajo. En la barra de herramientas del diseñador, seleccione Save (Guardar).

Conectarse a la base de datos

Cuando agrega un desencadenador o una acción que se conecta a un servicio o sistema, y no tiene una conexión existente o activa, Azure Logic Apps le pide que proporcione la información de conexión, que varía en función del tipo de conexión, por ejemplo:

  • Las credenciales de la cuenta
  • El nombre que se va a usar para la conexión
  • Nombre del sistema o servidor
  • Tipo de autenticación que se debe usar
  • Una cadena de conexión

Después de proporcionar esta información, continúe con los pasos siguientes en función de la base de datos de destino:

Conexión a instancias de Azure SQL Database o SQL Managed Instance

Para acceder a una instancia administrada de SQL sin usar la puerta de enlace de datos local, debe configurar puntos de conexión públicos en Instancia administrada de Azure SQL. El punto de conexión público usa el puerto 3342, por lo que debe asegurarse de especificar este número de puerto al crear la conexión desde la aplicación lógica.

En el cuadro de información de conexión, realice los pasos siguientes:

  1. En la configuración Nombre de la conexión, especifique el nombre que desea darle a la conexión.

  2. En la configuración Tipo de autenticación, seleccione el proceso de autenticación necesario y habilitado en la base de datos ubicada en la instancia de Azure SQL Database o en SQL Managed Instance:

    Autenticación Descripción
    Cadena de conexión Solo se admite en flujos de trabajo estándar con el conector integrado de SQL Server.

    Requiere la cadena de conexión al servidor SQL Server y a la base de datos.
    Active Directory OAuth Solo se admite en flujos de trabajo estándar con el conector integrado de SQL Server. Para más información, consulte la siguiente documentación:

    - Autenticación del conector SQL Server
    - Habilitación de OAuth 2.0 con el identificador de Entra de Microsoft
    Identidad administrada de Logic Apps Compatible con el conector administrado de SQL Server. En flujos de trabajo estándar, este tipo de autenticación está disponible para el conector integrado SQL Server, pero la opción se denomina Identidad administrada.

    Requiere los siguientes elementos:

    Una identidad administrada válida que esté habilitada en el recurso de la aplicación lógica y tenga acceso a su base de datos.

    - Acceso del rol de colaborador de base de datos SQL al recurso de SQL Server

    --- Acceso al rol Colaborador en el grupo de recursos en que se incluye el recurso de SQL Server.

    Para más información, consulte la siguiente documentación:

    - Autenticación de identidad administrada para el conector de SQL Server
    - Roles de nivel de servidor
    Entidad de servicio (aplicación Microsoft Entra) Compatible con el conector administrado de SQL Server.

    Requiere una aplicación de Microsoft Entra y una entidad de servicio. Para obtener más información, consulte Creación de una aplicación y una entidad de servicio de Microsoft Entra que pueden acceder a los recursos mediante Azure Portal.
    Integrado con Microsoft Entra Compatible con el conector administrado de SQL Server.

    Requiere una identidad administrada válida en Microsoft Entra que esté habilitada en el recurso de la aplicación lógica y tenga acceso a la base de datos. Para obtener más información, consulte estos artículos:

    - Información general sobre seguridad de Azure SQL: autenticación
    - Autorización del acceso de bases de datos a Azure SQL: autenticación y autorización
    - Autenticación de Microsoft Entra para Azure SQL
    Autenticación de SQL Server Compatible con el conector administrado de SQL Server.

    Requiere los siguientes elementos:

    - Un recurso de puerta de enlace de datos que se creó anteriormente en Azure para la conexión, independientemente de si la aplicación lógica está en Azure Logic Apps multiinquilino.

    - Un nombre de usuario válido y una contraseña segura que se crean y almacenan en la base de datos de SQL Server. Para más información, consulte los siguientes artículos.

    - Información general sobre seguridad de Azure SQL: autenticación
    - Autorización del acceso de bases de datos a Azure SQL: autenticación y autorización

    En el ejemplo siguiente se muestra cómo puede aparecer el cuadro de información de conexión si usa el conector administrado de SQL Server y selecciona Autenticación integrada de Microsoft Entra :

    Captura de pantalla que muestra la información de conexión en la nube de SQL Server con el tipo de autenticación seleccionado.

  3. Después de seleccionar Microsoft Entra integrado, seleccione Iniciar sesión. Seleccione las credenciales de usuario para la autenticación en función de si usa Azure SQL Database o SQL Managed Instance.

  4. Seleccione estos valores para la base de datos:

    Propiedad Obligatorio Descripción
    Nombre del servidor La dirección del servidor SQL. Por ejemplo: Fabrikam-Azure-SQL.database.windows.net
    Nombre de la base de datos El nombre de la instancia de la base de datos SQL. Por ejemplo: Fabrikam-Azure-SQL-DB
    Nombre de la tabla La tabla que desea usar. Por ejemplo: SalesLT.Customer

    Sugerencia

    Para proporcionar la información de la tabla y la base de datos, tiene estas opciones:

    • Puede encontrar esta información en la cadena de conexión de la base de datos. Por ejemplo, en Azure Portal, busque y abra la base de datos. En el menú de la base de datos, seleccione la pestaña Cadenas de conexión o Propiedades. En ellas, encontrará esta cadena:

      Server=tcp:{your-server-address}.database.windows.net,1433;Initial Catalog={your-database-name};Persist Security Info=False;User ID={your-user-name};Password={your-password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;

    • De forma predeterminada, las tablas de las bases de datos del sistema se filtran, por lo que es posible que no aparezcan automáticamente al seleccionar una base de datos del sistema. Como alternativa, puede escribir manualmente el nombre de la tabla después de seleccionar Escribir un valor personalizado en la lista de bases de datos.

    Este cuadro de información de la base de datos es similar al siguiente ejemplo:

    Captura de pantalla que muestra información de base de datos de SQL Cloud con valores de ejemplo.

  5. Ahora, continúe con los pasos que todavía no haya completado en Adición de un desencadenador de SQL o Incorporación de una acción de SQL.

Conexión a un servidor SQL Server local

En el cuadro de información de conexión, realice los pasos siguientes:

  1. En el caso de las conexiones a la instancia de SQL Server en el entorno que requieran la puerta de enlace de datos local, asegúrese de haber completado estos requisitos previos.

    De lo contrario, su recurso de puerta de enlace de datos no aparecerá en la lista de Puerta de enlace de conexión al crear la conexión.

  2. En Tipo de autenticación, seleccione la autenticación necesaria y habilitada en el servidor SQL Server:

    Autenticación Descripción
    Autenticación de SQL Server Compatible con el conector administrado de SQL Server y el conector integrado de SQL Server.

    Requiere los siguientes elementos:

    - Un recurso de puerta de enlace de datos que se creó anteriormente en Azure para la conexión, independientemente de si la aplicación lógica está en Azure Logic Apps multiinquilino.

    - Un nombre de usuario válido y una contraseña segura que se crean y almacenan en SQL Server.

    Para más información, consulte Autenticación de SQL Server.
    Autenticación de Windows Compatible con el conector administrado de SQL Server.

    Requiere los siguientes elementos:

    - Un recurso de puerta de enlace de datos que se creó anteriormente en Azure para la conexión, independientemente de si la aplicación lógica está en Azure Logic Apps multiinquilino.

    - Un nombre de usuario y una contraseña de Windows válidos para confirmar su identidad a través de su cuenta de Windows.

    Para más información, consulte Autenticación de Windows.
  3. Seleccione o proporcione los siguientes valores para la base de datos SQL:

    Propiedad Obligatorio Descripción
    Nombre del servidor SQL Server La dirección del servidor SQL. Por ejemplo: Fabrikam-Azure-SQL.database.windows.net
    Nombre de la base de datos SQL Nombre de la base de datos de SQL Server, por ejemplo, Fabrikam-Azure-SQL-DB
    Nombre de usuario Su nombre de usuario para el servidor SQL Server y la base de datos
    Contraseña La contraseña para el servidor SQL Server y la base de datos
    Suscripción Sí, para la autenticación de Windows La suscripción a Azure para el recurso de puerta de enlace de datos que creó anteriormente en Azure
    Puerta de enlace de conexión Sí, para la autenticación de Windows El nombre del recurso de puerta de enlace de datos que creó anteriormente en Azure

    Sugerencia: si la puerta de enlace no aparece en la lista, compruebe que configuró correctamente la puerta de enlace.

    Sugerencia

    Puede encontrar esta información en la cadena de conexión de la base de datos:

    • Server={your-server-address}
    • Database={your-database-name}
    • User ID={your-user-name}
    • Password={your-password}

    En el ejemplo siguiente se muestra cómo puede aparecer el cuadro de información de conexión si selecciona autenticación de Windows .

    Captura de pantalla que muestra la información de conexión local de SQL Server con la autenticación seleccionada.

  4. Cuando esté listo, seleccione Crear.

  5. Continúe con los pasos que aún no ha completado en Agregar un desencadenador de SQL o Agregar una acción de SQL.

Controlar datos masivos

Algunas veces, se trabaja con conjuntos de resultados tan grandes que el conector no devuelve todos a la vez. O bien, quiere tener un mejor control sobre el tamaño y la estructura de los conjuntos de resultados. En la lista siguiente se incluyen algunas maneras de controlar estos conjuntos de resultados tan grandes:

Manipulación de datos dinámicos masivos

Cuando llama a un procedimiento almacenado con el conector de SQL Server, a veces, la salida devuelta es dinámica. En este ejemplo, siga estos pasos:

  1. En Azure Portal, abra la aplicación lógica y el flujo de trabajo en el diseñador.

  2. Para ver el formato de salida, realice una serie de pruebas. Copie y guarde la salida del ejemplo.

  3. En el diseñador, en la acción donde se llama al procedimiento almacenado, agregue la acción integrada denominada Analizar JSON.

  4. En la acción Análisis del archivo JSON, seleccione Usar una carga de ejemplo para generar el esquema.

  5. En la ventana Especificar o pegar una carga JSON de ejemplo, proporcione una salida de ejemplo y seleccione Listo.

    Nota

    Si recibe un error que dice que Azure Logic Apps no puede generar un esquema, compruebe que la sintaxis de la salida de ejemplo tiene el formato correcto. Si sigue sin poder generar el esquema, escríbalo manualmente en el cuadro Esquema.

  6. Cuando haya terminado, guarde el flujo de trabajo.

  7. Para hacer referencia a las propiedades de contenido JSON, siga estos pasos:

    1. Seleccione dentro de los cuadros de edición en los que desea hacer referencia a las propiedades JSON.
    2. Seleccione el icono del rayo para abrir la lista de contenido dinámico.
    3. En la lista, en la sección Analizar JSON , seleccione los tokens de datos para las propiedades de contenido JSON que desee.