Funciones de Archivo
Las funciones de archivos permiten que los secuencias de comandos manipulen archivos en 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 URL) los nombres de archivos son compatibles con transferencias FTP y SFTP en Cloud 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 (predeterminadafalse
) que indica si la fuente se eliminará después de escribir correctamente en el destino
Descripción
Lee un archivo de una actividad de origen de tipo de archivo y lo escribe en una actividad de destino de tipo de archivo. Esta función combina la ReadFile
y WriteFile
funciones, realiza automáticamente FlushFile
y proporciona una opción para eliminar el archivo fuente.
El origen y el destino utilizados en esta llamada de función deben definirse como actividades asociadas con extremos de tipo archivo en el proyecto actual. Estas incluyen actividades configuradas de uso compartido 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 devolver solo un archivo. Si se devuelven varios archivos, solo se utilizará el primero.
Como el WriteFile
función, esta función no sobrescribirá un archivo existente en el destino.
Si el ArchiveFile
la función falla, la operación no falla. Se cancelará un secuencia de comandos, se agregará una advertencia al registro de operación y la operación continuará.
Archivar Versus Copiar
- 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.
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] 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] 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 con un extremo de tipo de archivo en el proyecto actual. Estas incluyen actividades configuradas de uso compartido 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.
Si el filtro de origen selecciona más de un archivo, se generará un error. Para eliminar varios archivos, utilice el DeleteFiles
funcionar en su lugar.
El método devuelve un número entero de 0 o 1: devuelve 1 si el archivo fue eliminado; 0 si no se pudo encontrar el archivo.
El segundo parámetro, fileFilter
, es opcional y se puede utilizar para anular el filtro de archivos utilizado en la configuración de la actividad. Se puede utilizar un nombre de archivo. Alternativamente, se puede usar una variable global para anular el filtro de archivos en la configuración de la actividad. Se hace referencia a las variables globales 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 con un extremo de tipo de archivo en el proyecto actual. Estas incluyen actividades configuradas de uso compartido 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.
Este método eliminará varios archivos, si se encuentra alguno, según el filtro de archivos de la configuración de la actividad. Se devuelve un número 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 puede encontrar una ruta especificada en la fuente, se generará un error. Si esa es una posibilidad, la función debe estar envuelta en un Eval
función.
Para eliminar un solo archivo, utilice el DeleteFile
funcionar en su lugar.
El segundo parámetro, fileFilter
, es opcional y se puede utilizar para anular el filtro de archivos utilizado en la configuración de la actividad. Se puede utilizar un nombre de archivo. Alternativamente, se puede usar una variable global para anular el filtro de archivos en la configuración de la actividad. Se hace referencia a las variables globales 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 con un extremo de tipo de archivo en el proyecto actual. Estas incluyen actividades configuradas de uso compartido 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.
El parámetro fileFilter
es opcional y se puede utilizar para anular el filtro de archivos utilizado en la configuración de la actividad. Se puede utilizar un nombre de archivo. Alternativamente, se puede usar una variable global para anular el filtro de archivos en la configuración de la actividad. Se hace referencia a las variables globales 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 actividadfileFilter
: Filtro de archivo 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 recibidos cuando se prueba la conexión de una fuente de tipo de 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 de función debe definirse como una actividad asociada con un extremo de tipo de archivo en el proyecto actual. Estas incluyen actividades configuradas de uso compartido 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.
El parámetro path
es opcional y se puede utilizar para anular la ruta utilizada en la configuración de la actividad.
El parámetro fileFilter
es opcional y se puede utilizar para anular el filtro de archivos utilizado en la configuración de la actividad. Se puede utilizar un nombre de archivo. Alternativamente, se puede usar una variable global para anular el filtro de archivos en la configuración de la actividad. Se hace referencia a las variables globales como [de_name]
en la configuración de la actividad.
El método devuelve una matriz que contiene los nombres de archivos que coinciden con el filtro de archivos de la actividad fuente o la fuente anulada.
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
Persiste los datos escritos en un búfer de archivos con WriteFile
.
El objetivo utilizado en esta llamada de función debe definirse como una actividad asociada con un extremo de tipo de archivo en el proyecto actual. Estas incluyen actividades configuradas de uso compartido 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.
Si FlushAllFiles
se llama con un targetId
como argumento, todos los archivos escritos utilizando ese destino se eliminarán (consulte la FlushFile
función). Si FlushAllFiles
se llama sin argumento, todos los archivos escritos usando WriteFile
a cualquier actividad utilizada como objetivo se mantendrá en sus respectivos objetivos.
Ver también el FlushFiles
función.
Advertencia
Si un archivo especificado para escritura ya existe, se generará un error cuando 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 de archivo para anular la configuración de la actividad
Descripción
Persiste los datos escritos en un búfer de archivos 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 objetivo utilizado en esta llamada de función debe definirse como una actividad asociada con un extremo de tipo de archivo en el proyecto actual. Estas incluyen actividades configuradas de uso compartido 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.
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 al 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. Se hace referencia a las variables globales como [de_name]
en la configuración de la actividad. Si se utiliza un nombre de archivo de anulación, cada búfer se vacía por separado para cada nombre único.
Ver también el FlushAllFiles
función.
Advertencia
Si un archivo especificado para escritura ya existe, se generará un error cuando 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 de una fuente.
La fuente utilizada en esta llamada de función debe definirse como una actividad asociada con un extremo de tipo de archivo en el proyecto actual. Estas incluyen actividades configuradas de uso compartido 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.
El método devuelve el contenido del archivo al que apunta la fuente. Si el filtro de origen selecciona más de un archivo, se utilizará el primero. Se recomienda especificar una fuente que identifique de forma única un único archivo.
El parámetro fileFilter
es opcional y se puede utilizar para anular el filtro de archivos utilizado en la configuración de la actividad. Se puede utilizar un nombre de archivo. Alternativamente, se puede usar una variable global para anular el filtro de archivos en la configuración de la actividad. Se hace referencia a las variables globales como [de_name]
en la configuración de la actividad.
Si el ReadFile()
la función falla, la operación no falla. Se cancelará un secuencia de comandos, se agregará una advertencia al registro de operación y la operación continuará.
Este método se puede utilizar para leer datos de una fuente HTTP. En ese caso, todo Jitterbit $jitterbit.source.http.*
Se completarán las variables.
Advertencia
Esta función no funciona de manera confiable con archivos que tienen contenido binario, ya que generalmente leerá solo una parte del archivo. Si el archivo tiene contenido binario, use Base64EncodeFile funcionan 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 archivofilename
: Nombre de archivo para anular la configuración de la actividad
Descripción
Escribe el fileContents
al 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 de cadena de los datos.
El objetivo utilizado en esta llamada de función debe definirse como una actividad asociada con un extremo de tipo de archivo en el proyecto actual. Estas incluyen actividades configuradas de uso compartido 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.
El tercer parámetro, filename
, es opcional y se puede utilizar para anular el nombre de archivo utilizado en la configuración de la actividad. Alternativamente, se puede usar una variable global para anular el nombre del archivo en la configuración de la actividad. Se hace referencia a las variables globales como [de_name]
en la configuración de la actividad.
Este método también se puede utilizar para escribir/publicar datos en un destino HTTP. En ese caso, $jitterbit.target.http.*
Se completarán las variables.
Si el WriteFile()
la función falla, la operación no falla. Se cancelará un secuencia de comandos, se agregará una advertencia al registro de operación y la operación continuará.
Buffer y Lavado
El contenido del archivo se almacena localmente hasta que FlushFile
o FlushAllFiles
se llama en el objetivo o la transformación finaliza exitosamente. Vocación WriteFile
varias veces sin llamar FlushFile
agregará 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 archivos está identificado de forma única por el destino (y potencialmente por el filename
); por ejemplo, se puede usar el mismo destino para escribir en diferentes archivos en el mismo directorio especificando un nombre de archivo y cada búfer de archivo estará 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 exitosamente o cuando FlushFile
o FlushAllFiles
se llama en el secuencia de comandos.
Ver también el FlushAllFiles
y FlushFiles
funciones.
Advertencia
Si un archivo especificado para escritura ya existe, se generará un error cuando 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");