Conexión a un servidor de archivos FTP desde flujos de trabajo en Azure Logic Apps

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

En esta guía paso a paso se muestra cómo acceder al servidor del protocolo de transferencia de archivos SSH (SFTP) desde un flujo de trabajo en Azure Logic Apps. SFTP es un protocolo de red que proporciona acceso a archivos, transferencia de archivos y administración de archivos a través de cualquier flujo de datos confiable y usa el protocolo Secure Shell (SSH).

En flujos de trabajo de aplicaciones lógicas de consumo, puede usar el conector administrado SFTP-SSH, mientras que en flujos de trabajo de aplicaciones lógicas estándar, puede usar el conector integrado SFTP o el conector administrado SFTP-SSH. Puede usar estas operaciones de conector para crear flujos de trabajo automatizados que se ejecuten cuando los desencadenen eventos en el servidor SFTP o en otros sistemas. También puede ejecutar acciones para administrar los archivos en el servidor SFTP. Tanto los conectores administrados como los integrados usan el protocolo SSH.

Nota:

El conector administrado SFTP está en desuso, por lo que las operaciones de este conector ya no aparecen en el diseñador de flujos de trabajo.

Por ejemplo, el flujo de trabajo puede empezar con un desencadenador SFTP que supervisa y responde a eventos en el servidor SFTP. El desencadenador hace que las salidas estén disponibles para las acciones posteriores del flujo de trabajo. El flujo de trabajo puede ejecutar acciones SFTP que obtengan, creen y administren archivos a través de la cuenta del servidor SFTP. En la lista siguiente se incluyen más tareas de ejemplo:

  • Supervisar cuándo se agregan o cambian archivos
  • Obtener, crear, copiar, cambiar el nombre, actualizar, enumerar y eliminar archivos.
  • Crear carpetas.
  • Obtener contenido de archivos y metadatos
  • Extraer archivos en carpetas

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

Referencia técnica del conector

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

Tipo de aplicación lógica (plan) Entorno Versión del conector
Consumo Azure Logic Apps multiinquilino El conector administrado, que aparece en el diseñador con la etiqueta Estándar. Para más información, revise la siguiente documentación:

- Referencia del conector administrado SFTP-SSH
- Conectores administrados en Azure Logic Apps
Consumo Entorno del servicio de integración (ISE) El conector administrado, que aparece en el diseñador con la etiqueta Estándar, y la versión ISE, que aparece en el diseñador con la etiqueta ISE y tiene límites de mensaje diferentes a los del conector administrado. Para más información, revise la siguiente documentación:

- Referencia del conector administrado SFTP-SSH
- Límites de mensajes ISE
- Conectores administrados en Azure Logic Apps
Estándar Azure Logic Apps de inquilino único y App Service Environment v3 (solo planes de Windows) El conector administrado, que aparece en la galería de conectores en Runtime>Compartido y el conector integrado, que aparece en la galería de conectores en Runtime>En la aplicación y se basa en el proveedor de servicios. El conector integrado puede conectarse directamente a un servidor SFTP 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 SFTP-SSH
- Referencia del conector integrado de SFTP

- Conectores administrados en Azure Logic Apps
- Conectores integrados en Azure Logic Apps

Limitaciones generales

Problemas conocidos

De forma predeterminada, los desencadenadores que devuelven una matriz tienen una configuración Split On que ya está habilitada. Con esta configuración habilitada, el desencadenador desagrupa automáticamente la matriz mediante la creación interna de una instancia de flujo de trabajo independiente para procesar cada elemento de matriz. Todas las instancias de flujo de trabajo se ejecutan en paralelo para que los elementos de matriz se procesen al mismo tiempo.

Sin embargo, cuando la opción Split On está habilitada, los desencadenadores del conector administrado devuelven las salidas de todos los elementos de matriz como listas. Las acciones posteriores que hagan referencia a estas salidas deben controlar primero estas salidas como listas. Para controlar cada elemento de matriz individualmente, puede agregar acciones adicionales. Por ejemplo, para recorrer en iteración estos elementos de matriz, puede usar un bucle For each. En el caso de los desencadenadores que devuelven solo metadatos o propiedades, use una acción que obtenga primero los metadatos del elemento de matriz y, a continuación, use una acción para obtener el contenido de los elementos.

Solo tiene que aplicar este enfoque para los desencadenadores de conector administrados, no los desencadenadores de conector integrados que devuelven salidas de un elemento de matriz cada vez que está habilitada la configuración Dividir.

Por ejemplo, supongamos que tiene un desencadenador de conector administrado denominado Cuando se agrega o modifica un archivo (solo propiedades) que devuelve los metadatos o propiedades de los archivos nuevos o actualizados como matrices. Para obtener los metadatos por separado para cada archivo, puede usar un bucle For each que recorre en iteración la matriz. En este bucle, use las siguientes acciones del conector administrado en el orden especificado:

  1. Obtenga metadatos de archivo para obtener los metadatos de cada archivo.

  2. Obtenga la acción de contenido del archivo para obtener el contenido de cada archivo.

Fragmentación

Para obtener más información sobre la forma en que el conector administrado SFTP-SSH puede controlar archivos grandes que superan los límites de tamaño predeterminados, consulte Referencia del conector administrado SFTP-SSH: fragmentación.

Requisitos previos

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

  • Información de conexión y autenticación para acceder al servidor SFTP, como la dirección del servidor, las credenciales de la cuenta, el acceso a una clave privada SSH y la contraseña de la clave privada SSH. Para obtener más información, consulte Referencia del conector administrado SFTP-SSH: autenticación y permisos.

    Importante

    Al crear la conexión y escribir la clave privada SSH en la propiedad de clave privada SSH, asegúrese de seguir los pasos para proporcionar el valor completo correcto para esta propiedad. Una clave no válida hará que se produzca un error en la conexión.

  • El flujo de trabajo de la aplicación lógica desde donde quiere acceder a la cuenta de SFTP. Para empezar a trabajar con un desencadenador SFTP-SSH, deberá comenzar con un flujo de trabajo en blanco. Para usar una acción SFTP-SSH, inicie el flujo de trabajo con otro desencadenador, como el desencadenador Recurrence.

Adición de un desencadenador de SFTP

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

  2. En el diseñador, siga estos pasos generales para agregar el desencadenador de SFTP-SSH que quiere.

  3. Si se le solicita, proporcione la información de conexión necesaria. Seleccione Crear cuando haya terminado.

  4. Una vez que aparezca el cuadro de información del desencadenador, proporcione los datos necesarios para el desencadenador seleccionado. Para obtener más información, consulte Referencia de desencadenadores del conector administrado SFTP-SSH.

  5. 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 el servidor FTP en función de la programación especificada. Tiene que agregar una acción que responda al desencadenador y haga algo con las salidas del desencadenador.

Por ejemplo, el desencadenador denominado Cuando se agrega o modifica un archivo inicia un flujo de trabajo cuando se agrega o modifica un archivo en un servidor SFTP. Como acción posterior, puede agregar una condición que compruebe si el contenido del archivo cumple los criterios especificados. Si el contenido cumple la condición, use la acción denominada Obtener contenido del archivo para extraer el contenido del archivo y, después, otra acción para colocar dicho contenido en una carpeta distinta en el servidor SFTP.

Adición de una acción SFTP

Para poder usar una acción SFTP, el flujo de trabajo ya debe empezar con un desencadenador, que puede ser cualquier tipo que elija. Por ejemplo, puede usar el desencadenador integrado periodicidad genérico para iniciar el flujo de trabajo según una programación específica.

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

  2. En el diseñador, siga estos pasos generales para agregar la acción de SFTP-SSH que quiere.

  3. Si se le solicita, proporcione la información de conexión necesaria. Seleccione Crear cuando haya terminado.

  4. Una vez que aparezca el cuadro de información de la acción, proporcione los datos necesarios para la acción seleccionada. Para obtener más información, consulte Referencia de acciones del conector administrado SFTP-SSH.

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

Por ejemplo, la acción denominada Obtener contenido del archivo mediante una ruta de acceso obtiene el contenido de un archivo en un servidor SFTP mediante la especificación de la ruta de acceso del archivo. Puede usar el desencadenador del ejemplo anterior y una condición que debe cumplir el contenido del archivo. Si la condición es verdadera, una acción posterior podrá obtener el contenido.


Solución de problemas

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

Pasos siguientes