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: