Compartir a través de


FTP

El Protocolo de transferencia de archivos (FTP) es un protocolo de red estándar que se usa para transferir archivos de equipo entre un cliente y un servidor en una red de equipos. FTP se basa en una arquitectura de modelo cliente-servidor y usa conexiones de datos y control independientes entre el cliente y el servidor.

Este conector está disponible en los siguientes productos y regiones:

Service Class Regions
Copilot Studio Estándar Todas las regiones de Power Automate excepto las siguientes:
     - Gobierno de EE. UU. (GCC High)
     - Departamento de Defensa de EE. UU. (DoD)
Aplicaciones lógicas Estándar Todas las regiones de Logic Apps
Power Apps Estándar Todas las regiones de Power Apps excepto las siguientes:
     - Gobierno de EE. UU. (GCC High)
     - Departamento de Defensa de EE. UU. (DoD)
Power Automate Estándar Todas las regiones de Power Automate excepto las siguientes:
     - Gobierno de EE. UU. (GCC High)
     - Departamento de Defensa de EE. UU. (DoD)
Metadatos del conector
Publicador Microsoft

Problemas y limitaciones conocidos

  • En este artículo se describen las operaciones solo para el conector administrado por FTP, que está disponible para Azure Logic Apps, Power Automate y Power Apps. El conector integrado ftp solo está disponible para flujos de trabajo de aplicaciones lógicas estándar en Azure Logic Apps. Para más información sobre el conector integrado FTP en Azure Logic Apps, consulte Conexión a servidores FTP desde flujos de trabajo en Azure Logic Apps.

  • Los desencadenadores FTP ahora solo devuelven metadatos o propiedades, no contenido del archivo. Sin embargo, puede seguir estos desencadenadores con la acción denominada Obtener contenido del archivo. Para asegurarse de que un desencadenador devuelve un archivo a la vez, en lugar de una lista, asegúrese de habilitar la opción "Dividir activado" del desencadenador. Para más información sobre esta opción en Azure Logic Apps, consulte Desencadenamiento de varias ejecuciones.

  • Los desencadenadores FTP solo funcionan en la carpeta especificada, no en subcarpetas. Para comprobar también las subcarpetas de una carpeta, configure un flujo independiente para cada subcarpeta.

  • De forma predeterminada, las acciones del conector administrado por FTP pueden leer o escribir archivos de 50 MB o más pequeños. Para controlar archivos de más de 50 MB, puede usar la acción del conector administrado ftp denominada Obtener contenido del archivo, que usa implícitamente la fragmentación de mensajes. Otras acciones del conector administrado por FTP también admiten la habilitación de la fragmentación de mensajes.

  • Los desencadenadores FTP pueden experimentar retrasos o resultados incompletos al devolver archivos recién creados, agregados o actualizados.

    Cuando un desencadenador FTP comprueba si hay un archivo recién agregado o modificado, el desencadenador también confirma que el archivo está completo. Por ejemplo, un archivo podría tener cambios en curso cuando el desencadenador comprueba el servidor FTP. Para evitar devolver un archivo incompleto, el desencadenador anota la marca de tiempo del archivo, pero no devuelve inmediatamente el archivo. En su lugar, el desencadenador devuelve el archivo solo cuando el desencadenador vuelve a comprobar el servidor. A veces, este comportamiento puede provocar un retraso que dura hasta dos veces el intervalo de sondeo del desencadenador. Debido a este comportamiento, es posible que el desencadenador FTP no devuelva todos los archivos al mismo tiempo si deshabilita la configuración Split On del desencadenador FTP,

  • Los desencadenadores del conector administrado por FTP pueden experimentar resultados que faltan, están incompletos o retrasados cuando se conserva la marca de tiempo "última modificación".

    • Faltan resultados

      Los desencadenadores FTP funcionan sondeando, o comprobando, el sistema de archivos FTP y buscando los archivos que cambiaron desde el último sondeo. El conector administrado por FTP compara las versiones de archivo con la marca de tiempo de última modificación del archivo.

      Si crea, agrega o actualiza un archivo con una marca de tiempo anterior a la marca de tiempo de la última marca de tiempo modificada actualmente, el desencadenador del conector administrado por FTP no detectará este archivo. Por otro lado, el desencadenador del conector integrado FTP en los flujos de trabajo de la aplicación lógica estándar no tiene esta limitación.

      Por lo tanto, si usa una herramienta externa o un cliente que crea, agrega o actualiza archivos en el servidor FTP, asegúrese de deshabilitar cualquier característica de la herramienta o cliente que conserve la marca de tiempo de última modificación de un archivo.

      En la tabla siguiente se enumeran algunas herramientas usadas habitualmente que conservan esta marca de tiempo y los pasos para deshabilitar esta característica:

      Cliente FTP Acción
      WinSCP Vaya a Opciones>Preferencias>Transferir>editar editar>conservar marca> de tiempoDeshabilitar.
      FileZilla Vaya a Transferir>marcas de tiempo Conservar marcas de tiempo de los archivos> transferidosDeshabilitar.
    • Resultados incompletos o retrasados

      Cuando un desencadenador FTP comprueba si hay un archivo recién creado, agregado o actualizado, el desencadenador también comprueba si el archivo está completo. Por ejemplo, un archivo podría tener cambios en curso cuando el desencadenador comprueba el servidor FTP. Para evitar devolver un archivo incompleto, el desencadenador anota la marca de tiempo del archivo, pero no devuelve inmediatamente el archivo. En su lugar, el desencadenador devuelve el archivo solo cuando el desencadenador vuelve a comprobar el servidor.

      A veces, este comportamiento puede provocar un retraso que dure tanto como casi dos veces el intervalo de sondeo del desencadenador. Debido a este comportamiento, si deshabilita la configuración Split On del desencadenador FTP, es posible que el desencadenador FTP no devuelva todos los archivos al mismo tiempo.

Requisitos

  • El conector FTP requiere la dirección del servidor host FTP y las credenciales de la cuenta.

  • El conector FTP requiere acceso al servidor FTP desde o a través de Internet. Para más información sobre cómo permitir el tráfico al servidor FTP mediante intervalos IP específicos, consulte Direcciones IP del conector administrado.

  • El conector FTP requiere que el servidor FTP funcione o acepte en modo pasivo .

  • El conector FTP requiere que el servidor FTP habilite los siguientes comandos y admita carpetas que contengan espacios en blanco para que los comandos puedan funcionar correctamente. Para el comando LIST , asegúrese de que el comando devuelve el year componente para marcas de tiempo de archivo anteriores a 6 meses.

    • APPE
    • DELE
    • LISTA
    • MDTM
    • RENAME
    • RETR
    • TAMAÑO
    • STOR
  • Para FTP seguro, asegúrese de configurar el protocolo de transferencia de archivos explícito seguro (FTPS), en lugar de FTPS implícito. Además, algunos servidores FTP, como ProFTPd, requieren que habilite la opción si usa el NoSessionReuseRequired modo Seguridad de la capa de transporte (TLS), el sucesor de Capa de socket seguro (SSL).

    El conector FTP no funciona con FTPS implícito y solo admite FTPS explícito a través de FTPS, que es una extensión de TLS.

Conexiones FTP

  • Para mejorar el rendimiento del conector FTP y del servidor FTP, puede mantener abierta y activa la conexión FTP después de que el conector complete una solicitud.

    Cuando se crea una conexión a un servidor FTP, el cuadro perfil de conexión que aparece tiene un valor denominado Cerrar conexión después de la finalización de la solicitud. Esta configuración especifica si se cierra la conexión del servidor FTP cada vez que se completa una solicitud. Si mantiene deshabilitada esta configuración, la conexión no se cerrará después de que se complete una solicitud y permanezca activa para su uso futuro.

  • Si las instancias de flujo de trabajo se ejecutan en paralelo, es posible que experimente errores de conectividad intermitentes. Algunas operaciones del flujo de trabajo podrían cerrar forzadamente la conexión incluso mientras que otras operaciones del flujo de trabajo siguen usando esa conexión.

    Para evitar este escenario, pruebe las siguientes recomendaciones:

    • Al crear la conexión, habilite la opción Cerrar conexión después de la finalización de la solicitud .

    • Desactive cualquier paralelización o simultaneidad habilitada en desencadenadores o acciones. Para más información sobre esta solución en Azure Logic Apps, consulte la siguiente documentación:

    • Evite ejecutar varios flujos paralelos.

Usar la acción "Crear archivo" con y sin fragmentación

Para la acción Crear archivo , el comportamiento depende de la configuración Permitir fragmentación de la acción y del tamaño del archivo que se va a crear:

  • Permitir fragmentación habilitada:

    • El tamaño del archivo es igual o inferior a 50 MB: la acción carga el archivo con una sola solicitud, usa el nombre de archivo original y bloquea el archivo durante la carga.

    • El tamaño del archivo es mayor que 50 MB: la acción crea el archivo con el formato de nombre, el nombre de archivo.new-GUID.ms.partial y carga el archivo mediante varias solicitudes o fragmentación de mensajes. Una vez que la acción cargue el último fragmento, la acción cambia el nombre del archivo por el nombre de archivo original.

  • Permitir fragmentación deshabilitada: la acción carga el archivo con una sola solicitud, usa el nombre de archivo original y bloquea el archivo durante la carga.

Guía paso a paso del conector

Para obtener información sobre cómo usar el conector administrado por FTP y el conector integrado en Azure Logic Apps, consulte Conexión a servidores FTP desde flujos de trabajo en Azure Logic Apps.

Límites generales

Nombre Importancia
Número máximo de carpetas en un único archivo. Este límite solo se aplica cuando "Crear carpetas" se establece en "Sí". 16
Número máximo de megabytes que se transfieren hacia o desde el conector dentro de un intervalo de tiempo de ancho de banda (por conexión) 1 000
Intervalo de tiempo de ancho de banda (en milisegundos) 60000

Creación de una conexión

El conector admite los siguientes tipos de autenticación:

Predeterminado Parámetros para crear una conexión. Todas las regiones No se puede compartir

Predeterminado

Aplicable: Todas las regiones

Parámetros para crear una conexión.

Esta conexión no se puede compartir. Si la aplicación de energía se comparte con otro usuario, se pedirá a otro usuario que cree explícitamente una nueva conexión.

Nombre Tipo Description Obligatorio
Dirección del servidor cuerda / cadena Dirección del servidor Cierto
Nombre de usuario cuerda / cadena Nombre de usuario Cierto
Contraseña securestring Contraseña Cierto
Puerto del servidor FTP int Número de puerto FTP (ejemplo: 21)
¿Habilita SSL? bool ¿Habilita SSL? (True/False)
¿Transporte binario? bool ¿Habilitar el transporte binario? (True/False)
¿Deshabilita la validación de certificados? bool ¿Deshabilita la validación de certificados? (True/False)
Cierre la conexión después de la finalización de la solicitud bool ¿Cierra la conexión FTP cada vez después de que se complete la solicitud? (True/False)

Limitaciones

Nombre Llamadas Período de renovación
Llamadas API por conexión 900 60 segundos

Acciones

Actualizar archivo

Esta operación actualiza un archivo. Si se elimina o cambia el nombre de un archivo en el servidor justo después de actualizarlo, el conector puede devolver el error HTTP 404 por su diseño. Use un retraso durante 1 minuto antes de eliminar o cambiar el nombre del archivo actualizado recientemente.

Copiar archivo

Esta operación copia un archivo en un servidor FTP. Si se elimina o cambia el nombre de un archivo en el servidor justo después de copiarlo, el conector puede devolver el error HTTP 404 por su diseño. Use un retraso durante 1 minuto antes de eliminar o cambiar el nombre del archivo recién creado.

Crear archivo

Esta operación crea un archivo. Si se elimina o cambia el nombre de un archivo en el servidor justo después de crearlo, el conector puede devolver el error HTTP 404 por su diseño. Use un retraso durante 1 minuto antes de eliminar o cambiar el nombre del archivo recién creado.

Eliminar archivo

Esta operación elimina un archivo.

Enumerar archivos en la carpeta

Esta operación obtiene la lista de archivos y subcarpetas de una carpeta.

Enumerar archivos en la carpeta raíz

Esta operación obtiene la lista de archivos y subcarpetas de la carpeta raíz.

Extracción del archivo en la carpeta

Esta operación extrae un archivo de archivo en una carpeta (ejemplo: .zip).

Obtención de metadatos de archivo

Esta operación obtiene los metadatos de un archivo.

Obtención de metadatos de archivo mediante la ruta de acceso

Esta operación obtiene los metadatos de un archivo mediante la ruta de acceso del archivo.

Obtención del contenido del archivo mediante la ruta de acceso

Esta operación obtiene el contenido de un archivo mediante la ruta de acceso del archivo.

Obtener contenido de archivo

Esta operación obtiene el contenido de un archivo.

Actualizar archivo

Esta operación actualiza un archivo. Si se elimina o cambia el nombre de un archivo en el servidor justo después de actualizarlo, el conector puede devolver el error HTTP 404 por su diseño. Use un retraso durante 1 minuto antes de eliminar o cambiar el nombre del archivo actualizado recientemente.

Parámetros

Nombre Clave Requerido Tipo Description
Archivo
id True string

Selección de un archivo

Contenido del archivo
body True binary

Contenido del archivo

Devoluciones

Metadatos de blob

Copiar archivo

Esta operación copia un archivo en un servidor FTP. Si se elimina o cambia el nombre de un archivo en el servidor justo después de copiarlo, el conector puede devolver el error HTTP 404 por su diseño. Use un retraso durante 1 minuto antes de eliminar o cambiar el nombre del archivo recién creado.

Parámetros

Nombre Clave Requerido Tipo Description
Dirección URL de origen
source True string

Dirección URL al archivo de origen

Ruta de acceso del archivo de destino
destination True string

Ruta de acceso del archivo de destino, incluido el nombre de archivo de destino

¿Sobrescribir?
overwrite boolean

Sobrescribe el archivo de destino si se establece en "true"

Devoluciones

Metadatos de blob

Crear archivo

Esta operación crea un archivo. Si se elimina o cambia el nombre de un archivo en el servidor justo después de crearlo, el conector puede devolver el error HTTP 404 por su diseño. Use un retraso durante 1 minuto antes de eliminar o cambiar el nombre del archivo recién creado.

Parámetros

Nombre Clave Requerido Tipo Description
Folder path (Ruta de acceso a la carpeta)
folderPath True string

Selección de una carpeta

Nombre del archivo
name True string

Nombre del archivo

Contenido del archivo
body True binary

Contenido del archivo

Obtención de todos los metadatos de archivo
ReadFileMetadataFromServer boolean

Obtenga todos los metadatos de archivo del servidor SFTP una vez completada la creación de archivos. Si es false, es posible que algunas propiedades de metadatos no se devuelvan, como la hora de última modificación, etc.

Devoluciones

Metadatos de blob

Eliminar archivo

Esta operación elimina un archivo.

Parámetros

Nombre Clave Requerido Tipo Description
Archivo
id True string

Selección de un archivo

Enumerar archivos en la carpeta

Esta operación obtiene la lista de archivos y subcarpetas de una carpeta.

Parámetros

Nombre Clave Requerido Tipo Description
Carpeta
id True string

Selección de una carpeta

Devoluciones

Enumerar archivos en la carpeta raíz

Esta operación obtiene la lista de archivos y subcarpetas de la carpeta raíz.

Devoluciones

Extracción del archivo en la carpeta

Esta operación extrae un archivo de archivo en una carpeta (ejemplo: .zip).

Parámetros

Nombre Clave Requerido Tipo Description
Ruta de acceso del archivo de origen
source True string

Ruta de acceso al archivo de archivo

Ruta de acceso de la carpeta de destino
destination True string

Ruta de acceso a la carpeta de destino

¿Sobrescribir?
overwrite boolean

Sobrescribe los archivos de destino si se establece en "true"

¿Crea carpetas?
createFolders boolean

Extrae carpetas del archivo si se establece en "true"

Devoluciones

Obtención de metadatos de archivo

Esta operación obtiene los metadatos de un archivo.

Parámetros

Nombre Clave Requerido Tipo Description
Archivo
id True string

Selección de un archivo

Devoluciones

Metadatos de blob

Obtención de metadatos de archivo mediante la ruta de acceso

Esta operación obtiene los metadatos de un archivo mediante la ruta de acceso del archivo.

Parámetros

Nombre Clave Requerido Tipo Description
Ruta de acceso del archivo
path True string

Selección de un archivo

Devoluciones

Metadatos de blob

Obtención del contenido del archivo mediante la ruta de acceso

Esta operación obtiene el contenido de un archivo mediante la ruta de acceso del archivo.

Parámetros

Nombre Clave Requerido Tipo Description
Ruta de acceso del archivo
path True string

Selección de un archivo

Inferencia de tipo de contenido
inferContentType boolean

Inferir el tipo de contenido basado en la extensión

Devoluciones

Contenido del archivo.

Contenido del archivo
binary

Obtener contenido de archivo

Esta operación obtiene el contenido de un archivo.

Parámetros

Nombre Clave Requerido Tipo Description
Archivo
id True string

Selección de un archivo

Inferencia de tipo de contenido
inferContentType boolean

Inferir el tipo de contenido basado en la extensión

Devoluciones

Contenido del archivo.

Contenido del archivo
binary

Desencadenadores

Cuando se agrega o modifica un archivo (solo propiedades)

Esta operación desencadena un flujo cuando se agregan o modifican uno o varios archivos en una carpeta. Este desencadenador solo capturará los metadatos del archivo. Para obtener el contenido del archivo, puede usar la operación "Obtener contenido de archivo". El desencadenador se basa en la hora de última modificación de un archivo. Si un cliente de terceros crea un archivo, la conservación de la hora de la última modificación debe deshabilitarse en el cliente. El desencadenador no se activa si se agrega o actualiza un archivo en una subcarpeta. Si es necesario desencadenar en subcarpetas, se deben crear varios desencadenadores.

Cuando se agrega o modifica un archivo [EN DESUSO]

Esta operación desencadena un flujo cuando se agrega o modifica un archivo en una carpeta. El desencadenador capturará los metadatos del archivo, así como el contenido del archivo. El desencadenador se basa en la hora de última modificación de un archivo. Si un cliente de terceros crea un archivo, la conservación de la hora de la última modificación debe deshabilitarse en el cliente. El desencadenador omite los archivos de más de 50 megabytes. El desencadenador no se activa si se agrega o actualiza un archivo en una subcarpeta. Si es necesario desencadenar en subcarpetas, se deben crear varios desencadenadores.

Cuando se agrega o modifica un archivo (solo propiedades)

Esta operación desencadena un flujo cuando se agregan o modifican uno o varios archivos en una carpeta. Este desencadenador solo capturará los metadatos del archivo. Para obtener el contenido del archivo, puede usar la operación "Obtener contenido de archivo". El desencadenador se basa en la hora de última modificación de un archivo. Si un cliente de terceros crea un archivo, la conservación de la hora de la última modificación debe deshabilitarse en el cliente. El desencadenador no se activa si se agrega o actualiza un archivo en una subcarpeta. Si es necesario desencadenar en subcarpetas, se deben crear varios desencadenadores.

Parámetros

Nombre Clave Requerido Tipo Description
Carpeta
folderId True string

Selección de una carpeta

Número de archivos que se van a devolver
maxFileCount integer

Número máximo de archivos devueltos por una sola ejecución de desencadenador (1-100). Tenga en cuenta que la configuración "Dividir activado" puede forzar el desencadenador para procesar cada elemento individualmente.

Devoluciones

Metadatos de blob

Lista de archivos
BlobMetadata

Cuando se agrega o modifica un archivo [EN DESUSO]

Esta operación desencadena un flujo cuando se agrega o modifica un archivo en una carpeta. El desencadenador capturará los metadatos del archivo, así como el contenido del archivo. El desencadenador se basa en la hora de última modificación de un archivo. Si un cliente de terceros crea un archivo, la conservación de la hora de la última modificación debe deshabilitarse en el cliente. El desencadenador omite los archivos de más de 50 megabytes. El desencadenador no se activa si se agrega o actualiza un archivo en una subcarpeta. Si es necesario desencadenar en subcarpetas, se deben crear varios desencadenadores.

Parámetros

Nombre Clave Requerido Tipo Description
Carpeta
folderId True string

Selección de una carpeta

Incluir contenido de archivo
includeFileContent boolean

Si se establece en true, el contenido del archivo también se recuperará junto con la respuesta del desencadenador.

Inferencia de tipo de contenido
inferContentType boolean

Inferir el tipo de contenido basado en la extensión

Devoluciones

Contenido del archivo.

Contenido del archivo
binary

Definiciones

BlobMetadata

Metadatos de blob

Nombre Ruta de acceso Tipo Description
Id
Id string

Identificador único del archivo o carpeta.

Nombre
Name string

Nombre del archivo o carpeta.

DisplayName (Nombre para mostrar)
DisplayName string

Nombre para mostrar del archivo o carpeta.

Ruta
Path string

Ruta de acceso del archivo o carpeta.

ÚltimaModificación
LastModified date-time

Fecha y hora en que se modificó por última vez el archivo o carpeta.

Tamaño
Size integer

Tamaño del archivo o carpeta.

Tipo de medio
MediaType string

Tipo de medio del archivo o carpeta.

IsFolder
IsFolder boolean

Valor booleano (true, false) para indicar si el blob es una carpeta o no.

ETag
ETag string

Etiqueta etag del archivo o carpeta.

FileLocator
FileLocator string

Filelocator del archivo o carpeta.

binario

Este es el tipo de datos básico "binary".