19 marzo 2015

Tarea FTP

La tarea FTP nos da la posibilidad de enviar archivos desde un sistema local a un host remoto o recuperarlos desde un host remoto a un sistema local. Hay otros tipos de operaciones como la creación de una carpeta remota o una carpeta local. Esta tarea es muy práctica porque el FTP se usa entre muchas empresas para compartir datos. Una empresa puede exportar todos sus datos en algunos archivos CSV, comprimirlos y ponerlos en una dirección FTP, y otra empresa puede necesitar obtener estos archivos de FTP. La tarea FTP también proporciona una forma de trabajar con varios archivos.

Ejercicio

1.    Crear un nuevo proyecto Integration Services y nómbrelo como TareaFTP.
2.    En el paquete Control Flow, arrastre y suelte una Tarea FTP y nómbrela FTPArchivosRecibidos.
3.    Haga doble clic en FTPArchivosRecibidos para abrir el Editor de Tarea FTP.
4.    En la pestaña General de la propiedad FTPConnection, crear un nuevo Administrador de Conexión FTP. En la ventana de diálogo FTP Connection Manager Editor, escriba ftp.microsoft.com en Server Name. Deje todas las demás opciones por defecto. Haga clic en Test Connection y observar el mensaje de conexión exitoso.
 
5.    Vaya a la ficha File Transfer; establezca Operation a Receive Files. En el RemotePath entrar /MISC/*.txt. También, para la ruta local, crear nueva conexión de archivos y configurar una carpeta local para almacenar el archivo descargado allí. En este ejemplo se utiliza la siguiente dirección: C:\SSIS\Control Flow\TareaFTP\CarpetaLocal.
 
6.    La ficha de transferencia de archivos debe ser similar a la siguiente captura de pantalla después de haber establecido todas las configuraciones.
 
7.    Ejecute el paquete, y después de la ejecución exitosa comprobar la carpeta de destino; los archivos descargados se pueden ver allí.

Funcionamiento

La tarea FTP es para la transferencia de archivos a través de FTP de local a remoto o a la inversa. Para trabajar con la tarea FTP, primero necesitamos crear un administrador de conexión FTP.
Cuando creamos el administrador de conexión FTP, el nombre de servidor y el puerto pueden ser definidos. Las credenciales para las conexiones al Servidor FTP son también configurables. Para esta muestra fue utilizada ftp.microsoft.com con acceso anónimo sin ninguna contraseña. El tiempo de espera de conexión FTP puede ser definido; el valor predeterminado es de 60 segundos.
Las operaciones en la ficha File Transfer definen que operación debería ser hecho en la Tarea FTP; éstas son las operaciones disponibles, y su uso debe ser claro:
·         Send files
·         Receive files
·         Create local directory
·         Create remote directory
·         Remove local directory
·         Remove remote directory
·         Delete local files
·         Delete remote files
Cuando la Operation es seleccionada como Receive files, tanto la ruta local y la remota deben ser definidas. Con Receive files podemos descargar archivos de una dirección FTP remota a una ruta local. En este ejercicio queremos descargar todos los archivos de texto de la carpeta MISC bajo ftp.microsoft.com, así que escribimos la ruta de acceso remoto con una Máscara para buscar sólo los archivos con extensión .txt (bajo /MISC/*.txt).
La opción OverwriteFileAtDest proporcionará una opción de sobrescribir la carpeta de destino local definida en la propiedad localPath.
Podemos elegir Receive files o Send files para descargar o subir un solo archivo; sólo necesitamos direccionar el archivo exacto por su ruta local o remota.

Adicional

Hay algunas opciones avanzadas en la Tarea FTP y el Administrador de Conexión FTP que puede ser utilizada en algunos escenarios; echaremos un vistazo aquí.
Opciones avanzadas del Administrador de Conexión FTP
·         Use Passive Mode
·         Hay una opción en el Connection Manager FTP para elegir entre el modo Passive o Active para el tipo de conexión. En el modo Active, el servidor inicia la conexión, pero en el modo Passive el cliente inicia la conexión. Por defecto, las conexiones FTP están en modo Active.
·         Chunk Size
·         El número máximo de bytes por cada operación de lectura/escritura de la Conexión FTP, el valor por defecto es de 1 KB.
·         Retries
·         Define el número de veces para reintentar una conexión. Un valor de 0 significa un ciclo de reintento indefinido.
Administrador de Conexión de Archivo
En las operaciones que trabajan con rutas locales, podemos crear un File Connecion Manager para un archivo o carpeta especificada. Este es un tipo de conexión fácil de usar que puede crear un archivo o directorio y utilizar un archivo o directorio existente.
Todas estas opciones serán definidas en la propiedad FileUsageType.
Valor
Descripción
0
File Connection Manager utiliza un archivo existente.
1
File Connection Manager crea un archivo.
2
File Connection Manager utiliza una carpeta existente.
3
File Connection Manager crea una carpeta.
El administrador de conexión de archivos es uno de los administradores de conexión más utilizados, es utilizado en muchas tareas, como la Tarea File System, Tarea XML, y así sucesivamente.

Trabajando con Variables

La Tarea FTP nos da la capacidad de establecer una ruta de acceso local y remoto de forma dinámica a partir de variables de paquete.
Las propiedades IsLocalPathVariable y IsRemotePathVariable definen si la ruta local o remota provienen de una variable o no. Las propiedades LocalVariable y RemoteVariable pueden contener las variables de paquete que contengan la ruta para la dirección local o remota.

3 comentarios:

Narcizo dijo...

Presentamos la tarea FTP; espero les sea de utilidad.

Anónimo dijo...

Muchas Gracias, me fue de mucha ayuda.

Saludos

Unknown dijo...

Hola, alguna idea para ocupar un puerto distinto al 21?

Saludos!!