Funciones de archivo en Jitterbit Integration Studio
Las funciones de archivo permiten a los scripts manipular archivos en agentes, disponibles a través de actividades basadas en archivos configuradas que pueden usarse como fuentes o destinos.
Nota
Se admiten caracteres especiales utilizados para codificación de porcentaje (también conocida como codificación de URL) en nombres de archivos para 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 punto final de tipo archivo en el proyecto actualtargetId
: Una ruta de referencia de cadena a una actividad asociada con un punto final de tipo archivo en el proyecto actual
Parámetros opcionales
deleteSource
: Bandera booleana (por defectofalse
) que indica si se debe eliminar la fuente después de escribir con éxito en el destino
Descripción
Lee un archivo de una actividad de fuente de tipo archivo y lo escribe en una actividad de destino de tipo archivo. Esta función combina las funciones ReadFile
y WriteFile
, realiza automáticamente FlushFile
y proporciona una opción para eliminar el archivo fuente.
La fuente y el destino utilizados en esta llamada a la función deben definirse como actividades asociadas con puntos finales de tipo archivo en el proyecto actual. Estos incluyen actividades configuradas de File Share, FTP, HTTP, Local Storage y Temporary Storage. Para más información, consulte las instrucciones sobre cómo insertar puntos finales en la sección de Puntos finales en Jitterbit Script.
Como solo se archiva un archivo, se recomienda que la fuente se cree para devolver solo un único archivo. Si se devuelven múltiples archivos, solo se utilizará el primero.
Como la función WriteFile
, esta función no sobrescribirá un archivo existente en el destino.
Si la función ArchiveFile
falla, la operación no falla. Un script se abortará, se añadirá una advertencia al registro de operaciones y la operación continuará.
Archivo versus copia
- Si
deleteSource
estrue
, el archivo se archiva (en otras palabras, se mueve) del origen al destino y se elimina del origen. - Si
deleteSource
esfalse
, el archivo se copia del origen al destino y permanece en el origen.
Nota
Los puntos finales creados utilizando el valor del host subyacente del punto final de tipo archivo se incluyen en informe de uso de puntos finales y cuentan para su licencia.
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 [archiveFilename] 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 [archiveFilename] 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 referencia de cadena a una actividad asociada con un punto final de tipo 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 a la función debe estar definida como una actividad asociada con un punto final de tipo archivo en el proyecto actual. Estas incluyen actividades configuradas de Compartición de Archivos, FTP, HTTP, Almacenamiento Local y Almacenamiento Temporal. Para más información, consulte las instrucciones sobre cómo insertar puntos finales en la sección de Puntos finales en Jitterbit Script.
Si el filtro de origen selecciona más de un archivo, se generará un error. Para eliminar múltiples archivos, utiliza la función DeleteFiles
.
El método devuelve un entero que puede ser 0 o 1: devuelve 1 si el archivo fue eliminado; 0 si el archivo no pudo ser encontrado.
El segundo parámetro, fileFilter
, es opcional y se puede usar para anular el filtro de archivo 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 archivo en la configuración de la actividad. Las variables globales se referencian como [de_name]
en la configuración de la actividad.
Nota
Los puntos finales creados utilizando el valor del host subyacente del punto final de tipo archivo se incluyen en informe de uso de puntos finales y cuentan para tu licencia.
Examples
// Delete the file "ExampleFile.txt" from the "CSV Files"
DeleteFile("<TAG>activity:localstorage/Local Storage Endpoint/localstorage_read/CSV Files</TAG>",
"ExampleFile.txt");
DeleteFiles
Declaration
int DeleteFiles(string sourceId[, string fileFilter])
Syntax
DeleteFiles(<sourceId>[, <fileFilter>])
Required parameters
sourceId
: Una ruta de referencia de cadena a una actividad asociada con un punto final de tipo archivo en el proyecto actual
Optional parameters
fileFilter
: Filtro de archivo o nombre de archivo para anular la configuración de la actividad
Description
Elimina uno o más archivos de la fuente especificada.
La fuente utilizada en esta llamada a la función debe estar definida como una actividad asociada con un punto final de tipo archivo en el proyecto actual. Estas incluyen actividades configuradas de Compartición de Archivos, FTP, HTTP, Almacenamiento Local y Almacenamiento Temporal. Para más información, consulta las instrucciones sobre cómo insertar puntos finales en la sección de Puntos finales en Jitterbit Script.
Este método eliminará múltiples archivos, si se encuentran, basándose en el filtro de archivos de la configuración de la actividad. Se devuelve un entero que especifica cuántos archivos fueron eliminados. Devolver 0 significa que no se encontraron archivos que coincidan con el filtro de archivos.
Si no se puede encontrar una ruta especificada en la fuente, se lanzará un error. Si esa es una posibilidad, la función debe estar envuelta en una función Eval
.
Para eliminar un solo archivo, utiliza la función DeleteFile
.
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. Alternativamente, se puede usar una variable global para anular el filtro de archivos en la configuración de la actividad. Las variables globales se hacen referencia como [de_name]
en la configuración de la actividad.
Nota
Los puntos finales creados utilizando el valor del host subyacente del punto final de tipo archivo se incluyen en informe de uso de puntos finales y cuentan para tu licencia.
Examples
// Delete all text (".txt") files in the "FTP Files"
DeleteFiles("<TAG>activity:ftp/FTP Endpoint/ftp_read/FTP Files</TAG>", "*.txt");
DirList
Declaration
array DirList(string sourceId[, string path, string fileFilter])
Syntax
DirList(<sourceId>[, <path>, <fileFilter>])
Required parameters
sourceId
: Una referencia de cadena a una actividad asociada con un punto final de tipo archivo en el proyecto actual
Optional parameters
path
: Ruta del archivo para anular la configuración de la actividad**fileFilter
:** Filtro de archivos o nombre de archivo para anular la configuración de la actividad
Description
Devuelve una lista de directorios contenidos en una fuente, especificando opcionalmente una ruta y un filtro para restringir los resultados.
Este método devuelve un arreglo que contiene los nombres de los directorios.
La fuente utilizada en esta llamada a la función debe definirse como una actividad asociada con un endpoint de tipo archivo en el proyecto actual. Estos incluyen actividades configuradas de Compartición de Archivos, FTP, HTTP, Almacenamiento Local y Almacenamiento Temporal. Para más información, consulta las instrucciones sobre cómo insertar endpoints en la sección de Endpoints 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 hacen referencia como [de_name]
en la configuración de la actividad.
Nota
Los endpoints creados utilizando el valor del host subyacente del endpoint de tipo archivo se incluyen en informes de uso de endpoints y cuentan para tu licencia.
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 referencia de cadena a una actividad asociada con un endpoint de tipo archivo en el proyecto actual
Parámetros opcionales
path
: Ruta del archivo para anular la configuración de la actividadfileFilter
: Filtro de archivos o nombre de archivo para anular la configuración de la actividad
Descripción
Devuelve una lista de nombres de archivos contenidos en una fuente. Esta será la misma lista de archivos recibida cuando se prueba la conexión de una fuente de tipo archivo, a menos que se especifique un filtro de archivos para anular el filtro especificado en la configuración de la actividad.
La fuente utilizada en esta llamada a función debe definirse como una actividad asociada con un punto final de tipo archivo en el proyecto actual. Estos incluyen actividades configuradas de Compartición de Archivos, FTP, HTTP, Almacenamiento Local y Almacenamiento Temporal. Para más información, consulta las instrucciones sobre cómo insertar puntos finales en la sección de Puntos finales en Jitterbit Script.
El parámetro path
es opcional y se puede usar 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 hacen referencia como [de_name]
en la configuración de la actividad.
El método devuelve un arreglo que contiene los nombres de archivo que coinciden con el filtro de archivos de la actividad fuente o la fuente anulada.
Nota
Los puntos finales creados utilizando el valor del host subyacente del punto final de tipo archivo se incluyen en informes de uso de puntos finales y cuentan para tu licencia.
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 referencia de cadena a una actividad asociada con un punto final de tipo archivo en el proyecto actual
Descripción
Persiste los datos escritos en un búfer de archivos con WriteFile
.
El objetivo utilizado en esta llamada a función debe definirse como una actividad asociada con un endpoint de tipo archivo en el proyecto actual. Estos incluyen actividades configuradas de Compartición de Archivos, FTP, HTTP, Almacenamiento Local y Almacenamiento Temporal. Para más información, consulta las instrucciones sobre cómo insertar endpoints en la sección de Endpoints en Jitterbit Script.
Si se llama a FlushAllFiles
con un targetId
como argumento, todos los archivos escritos utilizando ese objetivo serán vaciados (consulta la función FlushFile
). Si se llama a FlushAllFiles
sin un argumento, todos los archivos escritos utilizando WriteFile
a cualquier actividad utilizada como objetivo serán persistidos a sus respectivos objetivos.
Consulta también la función FlushFiles
.
Advertencia
Si un archivo especificado para escritura ya existe, se lanzará un error cuando se llame a FlushFile
o FlushAllFiles
. Usa DeleteFile
o DeleteFiles
para eliminar archivos existentes antes de vaciar.
Nota
Los endpoints creados utilizando el valor del host subyacente del endpoint de tipo archivo están incluidos en reportes de uso de endpoints y cuentan para tu licencia.
Examples
// 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
Declaration
void FlushFile(string targetId[, string filename])
Syntax
FlushFile(<targetId>[, <filename>])
Required parameters
targetId
: Una ruta de referencia de cadena a una actividad asociada con un endpoint de tipo archivo en el proyecto actual
Optional parameters
filename
: Nombre del archivo para sobrescribir la configuración de la actividad
Description
Persiste los datos escritos en un búfer de archivo con WriteFile
. Cuando se llama a FlushFile
, el contenido actual del búfer se escribe en el objetivo y el búfer local se descarta.
El objetivo utilizado en esta llamada a función debe definirse como una actividad asociada con un punto final de tipo archivo en el proyecto actual. Estos incluyen actividades configuradas de Compartición de Archivos, FTP, HTTP, Almacenamiento Local y Almacenamiento Temporal. Para más información, consulta las instrucciones sobre cómo insertar puntos finales en la sección de Puntos finales en Jitterbit Script.
El parámetro opcional, filename
, se puede usar para sobrescribir el nombre de archivo utilizado en la configuración de la actividad si también se sobrescribió en la llamada a la función WriteFile
. Vaciar un archivo que nunca se ha escrito no tiene efecto.
Alternativamente, se puede usar una variable global para sobrescribir el nombre de archivo en la configuración de la actividad. Las variables globales se hacen referencia como [de_name]
en la configuración de la actividad. Si se utiliza un nombre de archivo sobrescrito, cada búfer se vacía por separado para cada nombre único.
Consulta también la función FlushAllFiles
.
Advertencia
Si un archivo especificado para escritura ya existe, se lanzará un error cuando se llame a FlushFile
o FlushAllFiles
. Usa DeleteFile
o DeleteFiles
para eliminar archivos existentes antes de vaciar.
Nota
Los puntos finales creados utilizando el valor del host subyacente del punto final de tipo archivo se incluyen en informe de uso de puntos finales y cuentan para tu licencia.
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 punto final de tipo 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 a función debe estar definida como una actividad asociada con un endpoint de tipo archivo en el proyecto actual. Estos incluyen actividades configuradas de Compartición de Archivos, FTP, HTTP, Almacenamiento Local y Almacenamiento Temporal. Para más información, consulta las instrucciones sobre cómo insertar endpoints en la sección de Endpoints 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 manera única un solo archivo.
El parámetro fileFilter
es opcional y se puede usar para anular el filtro de archivo 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 archivo en la configuración de la actividad. Las variables globales se hacen referencia como [de_name]
en la configuración de la actividad.
Si la función ReadFile()
falla, la operación no falla. Un script se abortará, se añadirá una advertencia al registro de operaciones y la operación continuará.
Este método se puede usar para leer datos de una fuente HTTP. En ese caso, todas las variables de Jitterbit $jitterbit.source.http.*
se poblarán.
Advertencia
Esta función no funciona de manera confiable con archivos que tienen contenido binario, ya que generalmente solo leerá una porción del archivo. Si el archivo tiene contenido binario, utiliza la función Base64EncodeFile en su lugar para leer todo el contenido del archivo.
Nota
Los endpoints creados utilizando el valor del host subyacente del endpoint de tipo archivo se incluyen en informes de uso de endpoints y cuentan para tu licencia.
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 referencia de cadena a una actividad asociada con un endpoint de tipo archivo en el proyecto actual
Parámetros opcionales
fileContents
: Datos que se escribirán en el archivofilename
: Nombre de archivo para sobrescribir la configuración de la actividad
Descripción
Escribe los fileContents
en el objetivo especificado por targetId
. Si fileContents
es de tipo binario, los datos binarios se escriben en el archivo. En todos los demás casos, se escribe una representación en cadena de los datos.
El objetivo utilizado en esta llamada a función debe estar definido como una actividad asociada con un endpoint de tipo archivo en el proyecto actual. Estos incluyen actividades configuradas de Compartición de Archivos, FTP, HTTP, Almacenamiento Local y Almacenamiento Temporal. Para más información, consulte las instrucciones sobre cómo insertar endpoints en la sección de Endpoints en Jitterbit Script.
El tercer parámetro, filename
, es opcional y se puede usar para sobrescribir el nombre de archivo utilizado en la configuración de la actividad. Alternativamente, se puede usar una variable global para sobrescribir 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/publicar datos en un objetivo HTTP. En ese caso, las variables $jitterbit.target.http.*
se poblarán.
Si la función WriteFile()
falla, la operación no falla. Un script se abortará, se añadirá una advertencia al registro de operaciones y la operación continuará.
Buffer y vaciado
El contenido del archivo se almacena en búfer localmente hasta que se llama a FlushFile
o FlushAllFiles
en el destino o la transformación finaliza con éxito. Llamar a WriteFile
varias veces sin llamar a FlushFile
añadirá datos al búfer actual y todo se escribirá en el destino de tipo archivo real solo cuando se vacíe. Un búfer de archivo se identifica de manera única por el destino (y potencialmente el filename
); por ejemplo, el mismo destino 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.
Los archivos no se escriben realmente en el destino en una transformación de prueba a menos que se llame a FlushFile
o FlushAllFiles
. 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 con éxito o cuando se llame a FlushFile
o FlushAllFiles
en el script.
Consulta también las funciones FlushAllFiles
y FlushFiles
.
Advertencia
Si un archivo especificado para escritura ya existe, se lanzará un error cuando se llame a FlushFile
o FlushAllFiles
. Usa DeleteFile
o DeleteFiles
para eliminar archivos existentes antes de vaciar.
Nota
Los puntos finales creados utilizando el valor de host subyacente del punto final de tipo archivo se incluyen en informe de uso de puntos finales y cuentan para tu licencia.
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");