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
yearcomponente 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
NoSessionReuseRequiredmodo 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
- Body
- BlobMetadata
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
- Body
- BlobMetadata
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
- Body
- BlobMetadata
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
- response
- array of BlobMetadata
Enumerar archivos en la carpeta raíz
Esta operación obtiene la lista de archivos y subcarpetas de la carpeta raíz.
Devoluciones
- response
- array of BlobMetadata
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
- response
- array of BlobMetadata
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
- Body
- BlobMetadata
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
- Body
- BlobMetadata
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".