Saltar al contenido

Leer un archivo comprimido codificado en Base64 en Jitterbit Integration Studio

Introducción

Cuando una solicitud o respuesta contiene un archivo binario (como un PDF), suele estar codificado en Base64. La razón es simple: JSON y XML son formatos basados en texto y no pueden usar nada binario.

Codificar una cadena

La codificación de una cadena se realiza mediante Base64Encode en combinación con Jitterbit HexToBinary y StringToHex funciones:

binary = Base64Encode(HexToBinary(StringToHex("Hello world!"));

Decodificar un archivo binario

Decodificar un archivo binario es aún más sencillo con Base64Decode. Sin embargo, trabajar con un archivo comprimido codificado en Base64 requiere trabajo adicional.

Supongamos que guarda archivos comprimidos en Amazon S3 y necesita leerlos en un proyecto de Integration Studio. Dado que Amazon S3 almacena todos sus datos en Base64, el enfoque estándar es simplemente usar Base64Decode y leer el resultado. Sin embargo, si el código fuente está comprimido, debemos seguir un proceso diferente. Primero, el archivo binario debe almacenarse en el disco (no en una Variable extremo). Esto se puede hacer escribiendo en Almacenamiento temporal o un recurso compartido de archivos local.

operación leer s3

En la operación anterior, la transformación de solicitud proporciona entrada a la actividad de Amazon S3:

s3 obtener respuesta

A continuación, se lee y decodifica el contenido:

//decode file
undecoded = Base64Decode(ReadFile("<TAG>activity:tempstorage/s3_get_response/tempstorage_read/Read</TAG>"));

A continuación, se escribe el archivo decodificado en un Almacenamiento temporal diferente extremo. Tenga en cuenta el uso de FlushFile:

//write to temp
WriteFile("<TAG>activity:tempstorage/s3_get_response/tempstorage_write/Write</TAG>",undecoded,"undecoded.zip");
FlushFile("<TAG>activity:tempstorage/s3_get_response/tempstorage_write/Write</TAG>","undecoded.zip");

Finalmente, una operación utilizando el Archivo El patrón lee el archivo y escribe en el destino:

archivo de almacenamiento de operación

La actividad Lectura de Almacenamiento Temporal está configurada en sus opciones para tratar esto como un archivo comprimido:

Compresión de lectura de Almacenamiento Temporal

Para que la actividad Escritura de Almacenamiento Temporal almacene el nombre del archivo comprimido original, utilice el comando [file].[ext] palabras clave del nombre del archivo en el campo Nombres de archivo:

Escritura en almacenamiento temporal