Saltar al contenido

Funciones de archivo en Jitterbit Integration Studio

Las funciones de archivo permiten que los secuencias de comandos manipulen archivos en los agentes, disponibles a través de actividades configuradas basadas en archivos que pueden usarse como fuentes o destinos.

Nota

Caracteres especiales utilizados para codificación porcentual (también conocido como codificación de URL) los nombres de archivos son compatibles con transferencias FTP y SFTP en Integration Studio.

ArchiveFile

Declaración

void ArchiveFile(string sourceId, string targetId[, bool deleteSource])

Sintaxis

ArchiveFile(<sourceId>, <targetId>[, <deleteSource>])

Parámetros requeridos

  • sourceId: Una ruta de referencia de cadena a una actividad asociada con un extremo de tipo de archivo en el proyecto actual**
  • targetId:** Una ruta de referencia de cadena a una actividad asociada con un extremo de tipo de archivo en el proyecto actual

Parámetros opcionales

  • deleteSource: Bandera booleana (predeterminada false) indicando si la fuente debe eliminarse después de escribir correctamente en el destino.

Descripción

Lee un archivo de una actividad de origen de tipo archivo y lo escribe en una actividad de destino de tipo archivo. Esta función combina ReadFile y WriteFile funciones, se realizan automáticamente FlushFile, y proporciona una opción para eliminar el archivo de origen.

El origen y el destino utilizados en esta llamada de función deben definirse como actividades asociadas a extremos de tipo archivo en el proyecto actual. Estos incluyen actividades configuradas de recursos compartidos de archivos, FTP, HTTP, almacenamiento local y almacenamiento temporal. Para obtener más información, consulte las instrucciones sobre cómo insertar extremos en Extremos sección en Jitterbit Script.

Como solo se archiva un archivo, se recomienda crear la fuente para que devuelva solo un archivo. Si se devuelven varios archivos, solo se utilizará el primero.

Al igual que WriteFile Esta función no sobrescribirá ningún archivo existente en el destino.

Si ArchiveFile Si la función falla, la operación no falla. Se cancelará un secuencia de comandos, se agregará una advertencia al registro de la operación y operación continuará.

Archivo versus copia

  • Si deleteSource es true El archivo se archiva (en otras palabras, se mueve) del origen al destino y se elimina del origen.
  • Si deleteSource es false El archivo se copia del origen al destino y permanece en el origen.

Ejemplos

// Retrieve list of files from a source
localFiles = FileList("<TAG>activity:localstorage/Local Storage Endpoint/localstorage_read/CSV Files</TAG>");

// Create a global archive filename
$archiveFilename = "archive.[date]-[time]." + localFiles[0];

// Archive (moves) a file, using`[nombre de archivo del archivo] `in the target filename(s) field
ArchiveFile("<TAG>activity:localstorage/Local Storage Endpoint/localstorage_read/CSV Files</TAG>",
    "<TAG>activity:ftp/FTP Endpoint/ftp_write/FTP Files</TAG>", true);

// Copies a file, using`[nombre de archivo del archivo] `in the target filename(s) field
ArchiveFile("<TAG>activity:localstorage/Local Storage Endpoint/localstorage_read/CSV Files</TAG>",
    "<TAG>activity:ftp/FTP Endpoint/ftp_write/FTP Files</TAG>", false);

DeleteFile

Declaración

int DeleteFile(string sourceId[, string fileFilter])

Sintaxis

DeleteFile(<sourceId>[, <fileFilter>])

Parámetros requeridos

  • sourceId: Una ruta de referencia de cadena a una actividad asociada con un extremo de tipo de archivo en el proyecto actual

Parámetros opcionales

  • fileFilter: Filtro de archivo o nombre de archivo para anular la configuración de la actividad.

Descripción

Elimina un archivo de la fuente especificada.

La fuente utilizada en esta llamada de función debe definirse como una actividad asociada a un extremo de tipo archivo en el proyecto actual. Estos incluyen actividades configuradas de recursos compartidos de archivos, FTP, HTTP, almacenamiento local y almacenamiento temporal. Para obtener más información, consulte las instrucciones sobre la inserción de extremos en Extremos sección en Jitterbit Script.

Si el filtro de origen selecciona más de un archivo, se generará un error. Para eliminar varios archivos, utilice el comando DeleteFiles función en su lugar.

El método devuelve un entero de 0 o 1: devuelve 1 si el archivo se eliminó; 0 si no se pudo encontrar.

El segundo parámetro, fileFilter Es opcional y se puede usar para anular el filtro de archivos utilizado en la configuración de la actividad. Se puede usar un nombre de archivo. Como alternativa, se puede usar una variable global para anular el filtro de archivos en la configuración de la actividad. Las variables globales se referencian como [de_name] en la configuración de la actividad.

Ejemplos

// Delete the file "ExampleFile.txt" from the "CSV Files"
DeleteFile("<TAG>activity:localstorage/Local Storage Endpoint/localstorage_read/CSV Files</TAG>",
    "ExampleFile.txt");

DeleteFiles

Declaración

int DeleteFiles(string sourceId[, string fileFilter])

Sintaxis

DeleteFiles(<sourceId>[, <fileFilter>])

Parámetros requeridos

  • sourceId: Una ruta de referencia de cadena a una actividad asociada con un extremo de tipo de archivo en el proyecto actual

Parámetros opcionales

  • fileFilter: Filtro de archivo o nombre de archivo para anular la configuración de la actividad.

Descripción

Elimina uno o más archivos de la fuente especificada.

La fuente utilizada en esta llamada de función debe definirse como una actividad asociada a un extremo de tipo archivo en el proyecto actual. Estos incluyen actividades configuradas de recursos compartidos de archivos, FTP, HTTP, almacenamiento local y almacenamiento temporal. Para obtener más información, consulte las instrucciones sobre la inserción de extremos en Extremos sección en Jitterbit Script.

Este método eliminará varios archivos, si se encuentran, según el filtro de archivos de la configuración de la actividad. Se devuelve un entero que especifica cuántos archivos se eliminaron. Devolver 0 significa que no se encontraron archivos que coincidan con el filtro de archivos.

Si no se encuentra una ruta especificada en el origen, se generará un error. Si esto es posible, la función debe incluirse en un Eval Función.

Para eliminar un solo archivo, utilice la función DeleteFile función en su lugar.

El segundo parámetro, fileFilter Es opcional y se puede usar para anular el filtro de archivos utilizado en la configuración de la actividad. Se puede usar un nombre de archivo. Como alternativa, se puede usar una variable global para anular el filtro de archivos en la configuración de la actividad. Las variables globales se referencian como [de_name] en la configuración de la actividad.

Ejemplos

// Delete all text (".txt") files in the "FTP Files"
DeleteFiles("<TAG>activity:ftp/FTP Endpoint/ftp_read/FTP Files</TAG>", "*.txt");

DirList

Declaración

array DirList(string sourceId[, string path, string fileFilter])

Sintaxis

DirList(<sourceId>[, <path>, <fileFilter>])

Parámetros requeridos

  • sourceId: Una ruta de referencia de cadena a una actividad asociada con un extremo de tipo de archivo en el proyecto actual

Parámetros opcionales

  • path: Ruta del archivo para anular la configuración de la actividad
  • fileFilter: Filtro de archivo o nombre de archivo para anular la configuración de la actividad.

Descripción

Devuelve una lista de directorios contenidos en una fuente, especificando opcionalmente una ruta y un filtro para restringir los resultados.

Este método devuelve una matriz que contiene los nombres de los directorios.

La fuente utilizada en esta llamada de función debe definirse como una actividad asociada a un extremo de tipo archivo en el proyecto actual. Estos incluyen actividades configuradas de recursos compartidos de archivos, FTP, HTTP, almacenamiento local y almacenamiento temporal. Para obtener más información, consulte las instrucciones sobre la inserción de extremos en Extremos sección en Jitterbit Script.

El parámetro fileFilter Es opcional y se puede usar para anular el filtro de archivos utilizado en la configuración de la actividad. Se puede usar un nombre de archivo. Alternativamente, se puede usar una variable global para anular el filtro de archivos en la configuración de la actividad. Las variables globales se referencian como [de_name] en la configuración de la actividad.

Ejemplos

// Returns the count of the list of all the text
// files (".txt") in the "example" folder of the
// File Share Read "File Share"
Length(DirList("<TAG>activity:fileshare/File Share Endpoint/fileshare_read/File Share</TAG>",
        "\\\\server\\example","*.txt"));

FileList

Declaración

array FileList(string sourceId[, string path, string fileFilter])

Sintaxis

FileList(<sourceId>[, <path>, <fileFilter>])

Parámetros requeridos

  • sourceId: Una ruta de referencia de cadena a una actividad asociada con un extremo de tipo de archivo en el proyecto actual

Parámetros opcionales

  • path: Ruta del archivo para anular la configuración de la actividad
  • fileFilter: Filtro de archivo o nombre de archivo para anular la configuración de la actividad.

Descripción

Devuelve una lista de nombres de archivo contenidos en una fuente. Esta será la misma lista de archivos recibida al probar la conexión de una fuente de tipo archivo, a menos que se especifique un filtro de archivos que anule el filtro especificado en la configuración de la actividad.

La fuente utilizada en esta llamada de función debe definirse como una actividad asociada a un extremo de tipo archivo en el proyecto actual. Estos incluyen actividades configuradas de recursos compartidos de archivos, FTP, HTTP, almacenamiento local y almacenamiento temporal. Para obtener más información, consulte las instrucciones sobre la inserción de extremos en Extremos sección en Jitterbit Script.

El parámetro path Es opcional y puede usarse para anular la ruta utilizada en la configuración de la actividad.

El parámetro fileFilter Es opcional y se puede usar para anular el filtro de archivos utilizado en la configuración de la actividad. Se puede usar un nombre de archivo. Alternativamente, se puede usar una variable global para anular el filtro de archivos en la configuración de la actividad. Las variables globales se referencian como [de_name] En la configuración de la actividad.

El método devuelve una matriz que contiene los nombres de archivo que coinciden con el filtro de archivo de la actividad de origen o con el origen sobrescrito.

Ejemplos

// Returns the count of the list of all the
// files in the FTP endpoint "FTP Files"
Length(FileList("<TAG>activity:ftp/FTP Endpoint/ftp_read/FTP Files</TAG>"));

FlushAllFiles

Declaración

void FlushAllFiles([string targetId])

Sintaxis

FlushAllFiles([<targetId>])

Parámetros opcionales

  • targetId: Una ruta de referencia de cadena a una actividad asociada con un extremo de tipo de archivo en el proyecto actual

Descripción

Conserva los datos escritos en un búfer de archivo con WriteFile.

El destino utilizado en esta llamada de función debe definirse como una actividad asociada a un extremo de tipo archivo en el proyecto actual. Estos incluyen actividades configuradas de recursos compartidos de archivos, FTP, HTTP, almacenamiento local y almacenamiento temporal. Para obtener más información, consulte las instrucciones sobre la inserción de extremos en Extremos sección en Jitterbit Script.

Si FlushAllFiles se llama con un targetId Como argumento, se vaciarán todos los archivos escritos utilizando ese objetivo (ver la FlushFile función). Si FlushAllFiles se llama sin un argumento, todos los archivos escritos usando WriteFile Las actividades utilizadas como objetivos se mantendrán en sus respectivos objetivos.

Véase también FlushFiles función.

Advertencia

Si ya existe un archivo especificado para escritura, se generará un error al FlushFile o FlushAllFiles se llama. Usar DeleteFile o DeleteFiles Para eliminar los archivos existentes antes de vaciarlos.

Ejemplos

// Write the value of "contents1" to the file specified by
// the FTP Write activity "FTP Files"
WriteFile("<TAG>activity:ftp/FTP Endpoint/ftp_write/FTP Files</TAG>",
    contents1);

// Write  the value of "contents2" to a file "copy.txt", overriding
// that specified by the FTP Write activity "FTP Files"
WriteFile("<TAG>activity:ftp/FTP Endpoint/ftp_write/FTP Files</TAG>",
    contents2, "copy.txt");

// Flush both files to the FTP Write activity "FTP Files"
FlushAllFiles("<TAG>activity:ftp/FTP Endpoint/ftp_write/FTP Files</TAG>");

FlushFile

Declaración

void FlushFile(string targetId[, string filename])

Sintaxis

FlushFile(<targetId>[, <filename>])

Parámetros requeridos

  • targetId: Una ruta de referencia de cadena a una actividad asociada con un extremo de tipo de archivo en el proyecto actual

Parámetros opcionales

  • filename: Nombre del archivo para anular la configuración de la actividad

Descripción

Conserva los datos escritos en un búfer de archivo con WriteFile. Cuando FlushFile se llama, el contenido actual del búfer se escribe en el destino y el búfer local se descarta.

El destino utilizado en esta llamada de función debe definirse como una actividad asociada a un extremo de tipo archivo en el proyecto actual. Estos incluyen actividades configuradas de recursos compartidos de archivos, FTP, HTTP, almacenamiento local y almacenamiento temporal. Para obtener más información, consulte las instrucciones sobre la inserción de extremos en Extremos sección en Jitterbit Script.

El parámetro opcional, filename, se puede utilizar para anular el nombre de archivo utilizado en la configuración de la actividad si se anuló de manera similar en la llamada a la WriteFile Función. Vaciar un archivo en el que nunca se ha escrito no tiene ningún efecto.

Alternativamente, se puede usar una variable global para anular el nombre del archivo en la configuración de la actividad. Las variables globales se referencian como [de_name] En la configuración de la actividad. Si se utiliza un nombre de archivo de reemplazo, cada búfer se vacía por separado para cada nombre único.

Consulte también FlushAllFiles función.

Advertencia

Si ya existe un archivo especificado para escritura, se generará un error al FlushFile o FlushAllFiles se llama. Usar DeleteFile o DeleteFiles Para eliminar los archivos existentes antes de vaciarlos.

Ejemplos

// Write the variable "contents" to the file specified by
// the FTP Write activity "FTP Files"
WriteFile("<TAG>activity:ftp/FTP Endpoint/ftp_write/FTP Files</TAG>",
    contents);

// Flushing (actually writing) to the activity
FlushFile("<TAG>activity:ftp/FTP Endpoint/ftp_write/FTP Files</TAG>");

// Write to another file (overriding the filename in the target)
WriteFile("<TAG>activity:ftp/FTP Endpoint/ftp_write/FTP Files</TAG>",
    contents, "test.txt");

// Flushing the "test.txt" file explicitly
FlushFile("<TAG>activity:ftp/FTP Endpoint/ftp_write/FTP Files</TAG>",
    "test.txt");

ReadFile

Declaración

string ReadFile(string sourceId[, string fileFilter])

Sintaxis

ReadFile(<sourceId>[, <fileFilter>])

Parámetros requeridos

  • sourceId: Una ruta de referencia de cadena a una actividad asociada con un extremo de tipo de archivo en el proyecto actual

Parámetros opcionales

  • fileFilter: Filtro de archivo o nombre de archivo para anular la configuración de la actividad.

Descripción

Lee el contenido de un archivo desde una fuente.

La fuente utilizada en esta llamada de función debe definirse como una actividad asociada a un extremo de tipo archivo en el proyecto actual. Estos incluyen actividades configuradas de recursos compartidos de archivos, FTP, HTTP, almacenamiento local y almacenamiento temporal. Para obtener más información, consulte las instrucciones sobre la inserción de extremos en Extremos sección en Jitterbit Script.

El método devuelve el contenido del archivo al que apunta la fuente. Si el filtro de la fuente selecciona más de un archivo, se utilizará el primero. Se recomienda especificar una fuente que identifique de forma única un solo archivo.

El parámetro fileFilter Es opcional y se puede usar para anular el filtro de archivos utilizado en la configuración de la actividad. Se puede usar un nombre de archivo. Alternativamente, se puede usar una variable global para anular el filtro de archivos en la configuración de la actividad. Las variables globales se referencian como [de_name] en la configuración de la actividad.

Si el ReadFile() Si la función falla, la operación no falla. Se cancelará un secuencia de comandos, se agregará una advertencia al registro de la operación y operación continuará.

Este método se puede usar para leer datos de una fuente HTTP. En ese caso, todos los Jitterbit... $jitterbit.source.http.*Las variables se completarán.

Advertencia

Esta función no funciona correctamente con archivos con contenido binario, ya que normalmente solo lee una parte del archivo. Si el archivo tiene contenido binario, utilice Base64EncodeFile en su lugar, para leer todo el contenido del archivo.

Ejemplos

$fileContents = ReadFile("<TAG>activity:ftp/FTP Endpoint/ftp_read/FTP Files</TAG>")

WriteFile

Declaración

void WriteFile(string targetId, type fileContents[, string filename])

Sintaxis

WriteFile(<targetId>, <fileContents>[, <filename>])

Parámetros requeridos

  • targetId: Una ruta de referencia de cadena a una actividad asociada con un extremo de tipo de archivo en el proyecto actual

Parámetros opcionales

  • fileContents: Datos que se escribirán en el archivo
  • filename: Nombre del archivo para anular la configuración de la actividad

Descripción

Escribe el fileContents al objetivo especificado por targetId. Si fileContents Si es de tipo binario, los datos binarios se escriben en el archivo. En todos los demás casos, se escribe una representación de cadena de los datos.

El destino utilizado en esta llamada de función debe definirse como una actividad asociada a un extremo de tipo archivo en el proyecto actual. Estos incluyen actividades configuradas de recursos compartidos de archivos, FTP, HTTP, almacenamiento local y almacenamiento temporal. Para obtener más información, consulte las instrucciones sobre la inserción de extremos en Extremos sección en Jitterbit Script.

El tercer parámetro, filename, es opcional y se puede usar para anular el nombre de archivo usado en la configuración de la actividad. Alternativamente, se puede usar una variable global para anular el nombre de archivo en la configuración de la actividad. Las variables globales se referencian como [de_name] En la configuración de la actividad.

Este método también se puede usar para escribir o publicar datos en un destino HTTP. En ese caso, $jitterbit.target.http.*Las variables se rellenarán.

Si el WriteFile() Si la función falla, la operación no falla. Se cancelará un secuencia de comandos, se agregará una advertencia al registro de la operación y operación continuará.

Amortiguación y descarga

El contenido del archivo se almacena en el búfer local hasta que FlushFile o FlushAllFiles se llama en el objetivo o la transformación finaliza correctamente. Llamada WriteFile varias veces sin llamar FlushFile Anexará datos al búfer actual y todo se escribirá en el destino del tipo de archivo real solo cuando se vacíe. Un búfer de archivo se identifica de forma única por el destino (y potencialmente por el filename); por ejemplo, el mismo objetivo se puede usar para escribir en diferentes archivos en el mismo directorio especificando un nombre de archivo y cada búfer de archivo será separado.

En realidad, los archivos no se escriben en el destino en una transformación de prueba a menos que FlushFile o FlushAllFiles se llama. Si se ejecuta una transformación en una operación o como parte de una operación de prueba, el archivo se escribirá cuando la transformación finalice correctamente o cuando FlushFile o FlushAllFiles se llama en el secuencia de comandos.

Véase también el FlushAllFiles y FlushFiles funciones.

Advertencia

Si ya existe un archivo especificado para escritura, se generará un error al FlushFile o FlushAllFiles se llama. Usar DeleteFile o DeleteFiles Para eliminar los archivos existentes antes de vaciarlos.

Ejemplos

// Write "contents" to a file in an activity
WriteFile("<TAG>activity:ftp/FTP Endpoint/ftp_write/FTP Files</TAG>", contents);

// Use the filename "test.txt" instead of
// what is defined in an activity
WriteFile("<TAG>activity:ftp/FTP Endpoint/ftp_write/FTP Files</TAG>", contents, "test.txt");