Saltar al contenido

Escenario 2 del tutorial de connector: Obtener archivo

Obtener un archivo de texto de Dropbox y escribirlo en un servidor FTP

Este escenario demuestra otro uso de la actividad “Dropbox Fetch File” creada en Escenario 1: Obtener archivo. En este ejemplo, se obtiene un archivo de texto de Dropbox y el contenido de se accede a ese archivo de texto y se descifra.

Estos contenidos luego se escriben en un servidor FTP. A diferencia del Escenario 1, el archivo resultante es un archivo de texto que contiene solo el contenido del archivo recibido de Dropbox, sin los metadatos.

Para completar este escenario, necesitará un archivo de texto en la carpeta de su aplicación de Dropbox. Un archivo de muestra

customers.csv se proporciona en el assets/sample-data directory de los archivos de origen del conector de Dropbox para este propósito.

Aquí está la operación completa:

1. Copie el archivo de muestra a Dropbox

Copie el archivo de muestra (customers.csv) desde el assets/sample-data directory de el conector de Dropbox a su cuenta de Dropbox.

2. Agregue una actividad de obtención de archivos de Dropbox a una operación

Agregue una actividad de obtención de archivos de Dropbox a una nueva operación.

Al igual que en el Escenario 1, necesitará una actividad de obtención de archivos de Dropbox. Puede reutilizar la actividad “Dropbox Fetch File” de el primer escenario o crear uno nuevo.

Para reutilizar la actividad del primer escenario, haga clic en el pestaña Componentes del pestaña del proyecto. De allí, puede arrastrar la actividad de Dropbox existente a una nueva operación.

3. Agregue una transformación a la operación

Agregue una transformación después de la actividad “Dropbox Fetch File”.

Edite la transformación, pero a diferencia del Escenario 1, cree un nuevo esquema plano (Definir esquema > Crear plano) con dos campos de cadena: a name campo y un content campo:

Una vez creado, puede usar el enlace Coincidencias exactas automáticas para asignar los campos de origen a los campos de destino.

4. Edite las asignaciones de campos de destino

Edite la secuencia de comandos en cada campo de destino para escribir el nombre y el contenido en las variables globales, luego informe el global valores de las variables en el registro de operación.

Para el name campo, ingrese este secuencia de comandos:

$dropboxName = fetchFileResponse$name$;
WriteToOperationLog("Fetched from Dropbox: " + $dropboxName);
$dropboxName;

Para el content campo, ingrese este secuencia de comandos:

$dropboxContent = String(Base64Decode(fetchFileResponse$content$));
WriteToOperationLog("Decoded Dropbox file content: "
  + Length($dropboxContent) + " characters");
$dropboxContent;

Cuando se muestran los secuencias de comandos, deben ser similares a esto:

El name secuencia de comandos de campo toma el nombre de la respuesta “Dropbox Fetch File”, lo asigna a un global variable, escribe un mensaje en el registro de operación y luego establece el nombre como el valor del campo.

El content El secuencia de comandos de campo toma el contenido de la respuesta “Dropbox Fetch File”, lo decodifica desde base-64, lo asigna a una variable global, escribe un mensaje en el registro de operación y luego establece el contenido como el valor de el campo.

Estas variables ahora están disponibles para usarse para escribir en el servidor FTP.

Cuando haya terminado, vuelva al flujo de trabajo.

5. Agregue un secuencia de comandos a la operación

Agregue una secuencia de comandos (la secuencia de comandos “Vars to FTP Write” como se muestra en la operación completada) como un etapa de operación después de la transformación Hace referencia a la actividad “FTP Write” de Escenario 1: Obtener archivo, Como se muestra abajo.

Introduzca como contenido del secuencia de comandos (en lenguaje Jitterbit Script ):

// Script Vars to FTP Write

WriteToOperationLog("Received Dropbox file: " + $dropboxName + " "
  + Length($dropboxContent) + " characters");
WriteFile("<TAG>activity:ftp/FTP/ftp_write/Write</TAG>",
  $dropboxContent, $dropboxName);
FlushFile("<TAG>activity:ftp/FTP/ftp_write/Write</TAG>");

WriteToOperationLog("Wrote Dropbox file: " + $dropboxName);

Nota

El nombre FTP utilizado en el fragmento de código anterior debe coincidir con el nombre de la conexión FTP y Write debe coincidir con el nombre de la actividad FTP Write utilizada en Escenario 1: Obtener archivo para reutilizarlo.

Cierre el secuencia de comandos para volver al flujo de trabajo.

6. Ejecute la operación

Implemente y ejecute la operación. Si tiene éxito, verá un archivo creado en el servidor FTP con el mismo nombre y contenido como el del archivo obtenido de Dropbox. Los mensajes apropiados se escribirán en el registro de operación: